pull/224/head
Michael Black 2020-03-03 16:11:51 -06:00
commit 0cecc9812d
4 zmienionych plików z 97 dodań i 33 usunięć

Wyświetl plik

@ -28,6 +28,7 @@ rigctld \- TCP radio control daemon
.OP \-T IPADDR .OP \-T IPADDR
.OP \-t number .OP \-t number
.OP \-C parm=val .OP \-C parm=val
.OP \-X seconds
.RB [ \-v [ \-Z ]] .RB [ \-v [ \-Z ]]
.YS .YS
. .
@ -283,6 +284,14 @@ Set verbose mode, cumulative (see
below). below).
. .
.TP .TP
.BR \-X ", " \-\-twiddle = \fIseconds\fP
Enables timeout when VFO twiddling is detected. Some functons will be ignored.
.IP
Should only be needed when controlling software should be "paused"
.B -v
so you can move the VFO. Continuous movement extends the timeout.
.
.TP
.BR \-Z ", " \-\-debug\-time\-stamps .BR \-Z ", " \-\-debug\-time\-stamps
Enable time stamps for the debug messages. Enable time stamps for the debug messages.
.IP .IP

Wyświetl plik

@ -131,8 +131,9 @@ struct cmdparams ic7300_extcmds[] =
#define IC9700_VFOS (RIG_VFO_A|RIG_VFO_B|RIG_VFO_MAIN|RIG_VFO_SUB|RIG_VFO_MEM|RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B) #define IC9700_VFOS (RIG_VFO_A|RIG_VFO_B|RIG_VFO_MAIN|RIG_VFO_SUB|RIG_VFO_MEM|RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B)
#define IC9700_PARMS (RIG_PARM_ANN|RIG_PARM_BACKLIGHT|RIG_PARM_TIME|RIG_PARM_BEEP|RIG_PARM_SCREENSAVER) #define IC9700_PARMS (RIG_PARM_ANN|RIG_PARM_BACKLIGHT|RIG_PARM_TIME|RIG_PARM_BEEP|RIG_PARM_SCREENSAVER)
#define IC9700_FUNCS (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_SBKIN|RIG_FUNC_FBKIN|RIG_FUNC_NR|RIG_FUNC_MON|RIG_FUNC_MN|RIG_FUNC_ANF|RIG_FUNC_LOCK|RIG_FUNC_RIT|RIG_FUNC_SCOPE|RIG_FUNC_SATMODE|RIG_FUNC_AFC) #define IC9700_FUNCS (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_SBKIN|RIG_FUNC_FBKIN|RIG_FUNC_NR|RIG_FUNC_MON|RIG_FUNC_MN|RIG_FUNC_ANF|RIG_FUNC_LOCK|RIG_FUNC_RIT|RIG_FUNC_SCOPE|RIG_FUNC_SATMODE|RIG_FUNC_AFC)
#define IC9700_LEVELS (RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB)
#define IC9700_VFO_OPS (RIG_OP_CPY|RIG_OP_XCHG|RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_MCL) #define IC9700_VFO_OPS (RIG_OP_CPY|RIG_OP_XCHG|RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_MCL)
#define IC9700_SCAN_OPS (RIG_SCAN_STOP|RIG_SCAN_MEM|RIG_SCAN_PROG|RIG_SCAN_SLCT)
#define IC9700_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD|RIG_MODE_DSTAR) #define IC9700_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD|RIG_MODE_DSTAR)
#define IC9700_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD|RIG_MODE_DSTAR) #define IC9700_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD|RIG_MODE_DSTAR)
@ -440,8 +441,8 @@ const struct rig_caps ic9700_caps =
.retry = 3, .retry = 3,
.has_get_func = IC9700_FUNCS, .has_get_func = IC9700_FUNCS,
.has_set_func = IC9700_FUNCS, .has_set_func = IC9700_FUNCS,
.has_get_level = IC7300_LEVELS, .has_get_level = IC9700_LEVELS,
.has_set_level = RIG_LEVEL_SET(IC7300_LEVELS), .has_set_level = RIG_LEVEL_SET(IC9700_LEVELS),
.has_get_parm = IC9700_PARMS, .has_get_parm = IC9700_PARMS,
.has_set_parm = RIG_PARM_SET(IC9700_PARMS), .has_set_parm = RIG_PARM_SET(IC9700_PARMS),
.level_gran = { .level_gran = {
@ -461,7 +462,7 @@ const struct rig_caps ic9700_caps =
.max_ifshift = Hz(0), .max_ifshift = Hz(0),
.targetable_vfo = RIG_TARGETABLE_FREQ, .targetable_vfo = RIG_TARGETABLE_FREQ,
.vfo_ops = IC9700_VFO_OPS, .vfo_ops = IC9700_VFO_OPS,
.scan_ops = IC7300_SCAN_OPS, .scan_ops = IC9700_SCAN_OPS,
.transceive = RIG_TRN_RIG, .transceive = RIG_TRN_RIG,
.bank_qty = 3, .bank_qty = 3,
.chan_desc_sz = 0, .chan_desc_sz = 0,

Wyświetl plik

@ -680,7 +680,8 @@ int icom_get_usb_echo_off(RIG *rig)
// Check for echo on first // Check for echo on first
priv->serial_USB_echo_off = 0; priv->serial_USB_echo_off = 0;
rig_debug(RIG_DEBUG_VERBOSE, "%s: retry temp set to 1\n", __func__); rig_debug(RIG_DEBUG_VERBOSE, "%s: retry temp set to %d\n", __func__,
rs->rigport.retry);
retval = icom_transaction(rig, C_RD_FREQ, -1, NULL, 0, ackbuf, &ack_len); retval = icom_transaction(rig, C_RD_FREQ, -1, NULL, 0, ackbuf, &ack_len);
@ -2871,14 +2872,20 @@ int icom_set_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t val)
cfp = (cfp == NULL) ? icom_ext_levels : cfp; cfp = (cfp == NULL) ? icom_ext_levels : cfp;
int i; int i;
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);) { for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);)
if (cfp[i].token == RIG_CONF_END) { {
if (cfp[i].token == RIG_CONF_END)
{
cfp = icom_ext_levels; cfp = icom_ext_levels;
i = 0; i = 0;
} else if (cfp[i].token == token) { }
else if (cfp[i].token == token)
{
return icom_set_ext_cmd(rig, vfo, token, val); return icom_set_ext_cmd(rig, vfo, token, val);
} else { i++; } }
else { i++; }
} }
return -RIG_EINVAL; return -RIG_EINVAL;
} }
@ -2890,14 +2897,20 @@ int icom_get_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t *val)
cfp = (cfp == NULL) ? icom_ext_levels : cfp; cfp = (cfp == NULL) ? icom_ext_levels : cfp;
int i; int i;
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);) { for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);)
if (cfp[i].token == RIG_CONF_END) { {
if (cfp[i].token == RIG_CONF_END)
{
cfp = icom_ext_levels; cfp = icom_ext_levels;
i = 0; i = 0;
} else if (cfp[i].token == token) { }
else if (cfp[i].token == token)
{
return icom_get_ext_cmd(rig, vfo, token, val); return icom_get_ext_cmd(rig, vfo, token, val);
} else { i++; } }
else { i++; }
} }
return -RIG_EINVAL; return -RIG_EINVAL;
} }
@ -2909,14 +2922,20 @@ int icom_set_ext_func(RIG *rig, vfo_t vfo, token_t token, int status)
cfp = (cfp == NULL) ? icom_ext_funcs : cfp; cfp = (cfp == NULL) ? icom_ext_funcs : cfp;
int i; int i;
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);) { for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);)
if (cfp[i].token == RIG_CONF_END) { {
if (cfp[i].token == RIG_CONF_END)
{
cfp = icom_ext_funcs; cfp = icom_ext_funcs;
i = 0; i = 0;
} else if (cfp[i].token == token) { }
else if (cfp[i].token == token)
{
return icom_set_ext_cmd(rig, vfo, token, (value_t)status); return icom_set_ext_cmd(rig, vfo, token, (value_t)status);
} else { i++; } }
else { i++; }
} }
return -RIG_EINVAL; return -RIG_EINVAL;
} }
@ -2928,14 +2947,20 @@ int icom_get_ext_func(RIG *rig, vfo_t vfo, token_t token, int *status)
cfp = (cfp == NULL) ? icom_ext_funcs : cfp; cfp = (cfp == NULL) ? icom_ext_funcs : cfp;
int i; int i;
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);) { for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);)
if (cfp[i].token == RIG_CONF_END) { {
if (cfp[i].token == RIG_CONF_END)
{
cfp = icom_ext_funcs; cfp = icom_ext_funcs;
i = 0; i = 0;
} else if (cfp[i].token == token) { }
return icom_get_ext_cmd(rig, vfo, token, (value_t*)status); else if (cfp[i].token == token)
} else { i++; } {
return icom_get_ext_cmd(rig, vfo, token, (value_t *)status);
}
else { i++; }
} }
return -RIG_EINVAL; return -RIG_EINVAL;
} }
@ -2947,14 +2972,20 @@ int icom_set_ext_parm(RIG *rig, token_t token, value_t val)
cfp = (cfp == NULL) ? icom_ext_parms : cfp; cfp = (cfp == NULL) ? icom_ext_parms : cfp;
int i; int i;
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);) { for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);)
if (cfp[i].token == RIG_CONF_END) { {
if (cfp[i].token == RIG_CONF_END)
{
cfp = icom_ext_parms; cfp = icom_ext_parms;
i = 0; i = 0;
} else if (cfp[i].token == token) { }
else if (cfp[i].token == token)
{
return icom_set_ext_cmd(rig, RIG_VFO_NONE, token, val); return icom_set_ext_cmd(rig, RIG_VFO_NONE, token, val);
} else { i++; } }
else { i++; }
} }
return -RIG_EINVAL; return -RIG_EINVAL;
} }
@ -2966,14 +2997,20 @@ int icom_get_ext_parm(RIG *rig, token_t token, value_t *val)
cfp = (cfp == NULL) ? icom_ext_parms : cfp; cfp = (cfp == NULL) ? icom_ext_parms : cfp;
int i; int i;
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);) { for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);)
if (cfp[i].token == RIG_CONF_END) { {
if (cfp[i].token == RIG_CONF_END)
{
cfp = icom_ext_parms; cfp = icom_ext_parms;
i = 0; i = 0;
} else if (cfp[i].token == token) { }
else if (cfp[i].token == token)
{
return icom_get_ext_cmd(rig, RIG_VFO_NONE, token, val); return icom_get_ext_cmd(rig, RIG_VFO_NONE, token, val);
} else { i++; } }
else { i++; }
} }
return -RIG_EINVAL; return -RIG_EINVAL;
} }
@ -4209,6 +4246,17 @@ int icom_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
case RIG_SPLIT_ON: case RIG_SPLIT_ON:
split_sc = S_SPLT_ON; split_sc = S_SPLT_ON;
/* If asking for Sub or Main on rig that doesn't have it map it */
if (VFO_HAS_A_B_ONLY && ((tx_vfo == RIG_VFO_MAIN || tx_vfo == RIG_VFO_SUB)
|| vfo == RIG_VFO_MAIN || vfo == RIG_VFO_SUB))
{
if (tx_vfo == RIG_VFO_MAIN) { tx_vfo = RIG_VFO_A; }
else if (tx_vfo == RIG_VFO_SUB) { tx_vfo = RIG_VFO_B; }
if (vfo == RIG_VFO_MAIN) { vfo = RIG_VFO_A; }
else if (vfo == RIG_VFO_SUB) { vfo = RIG_VFO_B; }
}
/* ensure VFO A is Rx and VFO B is Tx as we assume that elsewhere */ /* ensure VFO A is Rx and VFO B is Tx as we assume that elsewhere */
if (VFO_HAS_A_B && (tx_vfo == RIG_VFO_A || tx_vfo == RIG_VFO_B)) if (VFO_HAS_A_B && (tx_vfo == RIG_VFO_A || tx_vfo == RIG_VFO_B))
{ {
@ -4249,6 +4297,9 @@ int icom_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
return rc; return rc;
} }
priv->rx_vfo = vfo;
priv->tx_vfo = tx_vfo;
split_sc = S_SPLT_ON; split_sc = S_SPLT_ON;
} }
else else
@ -4278,8 +4329,6 @@ int icom_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
return -RIG_ERJCTED; return -RIG_ERJCTED;
} }
priv->rx_vfo = vfo;
priv->tx_vfo = tx_vfo;
priv->split_on = RIG_SPLIT_ON == split; priv->split_on = RIG_SPLIT_ON == split;
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s rx_vfo=%s tx_vfo=%s split=%d\n", rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s rx_vfo=%s tx_vfo=%s split=%d\n",
__func__, rig_strvfo(vfo), rig_strvfo(priv->rx_vfo), __func__, rig_strvfo(vfo), rig_strvfo(priv->rx_vfo),
@ -6495,6 +6544,11 @@ static int set_vfo_curr(RIG *rig, vfo_t vfo, vfo_t curr_vfo)
} }
retval = rig_set_vfo(rig, RIG_VFO_A); // we'll default to Main in this case retval = rig_set_vfo(rig, RIG_VFO_A); // we'll default to Main in this case
if (retval != RIG_OK)
{
return retval;
}
} }
if (VFO_HAS_MAIN_SUB_ONLY) if (VFO_HAS_MAIN_SUB_ONLY)

Wyświetl plik

@ -30,7 +30,7 @@
#include <sys/time.h> #include <sys/time.h>
#endif #endif
#define BACKEND_VER "0.31a" #define BACKEND_VER "0.32"
/* /*
* defines used by comp_cal_str in rig.c * defines used by comp_cal_str in rig.c