kopia lustrzana https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/mdblack98/Hamlib
commit
0cecc9812d
|
@ -28,6 +28,7 @@ rigctld \- TCP radio control daemon
|
|||
.OP \-T IPADDR
|
||||
.OP \-t number
|
||||
.OP \-C parm=val
|
||||
.OP \-X seconds
|
||||
.RB [ \-v [ \-Z ]]
|
||||
.YS
|
||||
.
|
||||
|
@ -283,6 +284,14 @@ Set verbose mode, cumulative (see
|
|||
below).
|
||||
.
|
||||
.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
|
||||
Enable time stamps for the debug messages.
|
||||
.IP
|
||||
|
|
|
@ -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_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_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_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_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,
|
||||
.has_get_func = IC9700_FUNCS,
|
||||
.has_set_func = IC9700_FUNCS,
|
||||
.has_get_level = IC7300_LEVELS,
|
||||
.has_set_level = RIG_LEVEL_SET(IC7300_LEVELS),
|
||||
.has_get_level = IC9700_LEVELS,
|
||||
.has_set_level = RIG_LEVEL_SET(IC9700_LEVELS),
|
||||
.has_get_parm = IC9700_PARMS,
|
||||
.has_set_parm = RIG_PARM_SET(IC9700_PARMS),
|
||||
.level_gran = {
|
||||
|
@ -461,7 +462,7 @@ const struct rig_caps ic9700_caps =
|
|||
.max_ifshift = Hz(0),
|
||||
.targetable_vfo = RIG_TARGETABLE_FREQ,
|
||||
.vfo_ops = IC9700_VFO_OPS,
|
||||
.scan_ops = IC7300_SCAN_OPS,
|
||||
.scan_ops = IC9700_SCAN_OPS,
|
||||
.transceive = RIG_TRN_RIG,
|
||||
.bank_qty = 3,
|
||||
.chan_desc_sz = 0,
|
||||
|
|
110
rigs/icom/icom.c
110
rigs/icom/icom.c
|
@ -680,7 +680,8 @@ int icom_get_usb_echo_off(RIG *rig)
|
|||
// Check for echo on first
|
||||
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);
|
||||
|
||||
|
@ -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;
|
||||
int i;
|
||||
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);) {
|
||||
if (cfp[i].token == RIG_CONF_END) {
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);)
|
||||
{
|
||||
if (cfp[i].token == RIG_CONF_END)
|
||||
{
|
||||
cfp = icom_ext_levels;
|
||||
i = 0;
|
||||
} else if (cfp[i].token == token) {
|
||||
}
|
||||
else if (cfp[i].token == token)
|
||||
{
|
||||
return icom_set_ext_cmd(rig, vfo, token, val);
|
||||
} else { i++; }
|
||||
}
|
||||
else { i++; }
|
||||
}
|
||||
|
||||
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;
|
||||
int i;
|
||||
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);) {
|
||||
if (cfp[i].token == RIG_CONF_END) {
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_levels);)
|
||||
{
|
||||
if (cfp[i].token == RIG_CONF_END)
|
||||
{
|
||||
cfp = icom_ext_levels;
|
||||
i = 0;
|
||||
} else if (cfp[i].token == token) {
|
||||
}
|
||||
else if (cfp[i].token == token)
|
||||
{
|
||||
return icom_get_ext_cmd(rig, vfo, token, val);
|
||||
} else { i++; }
|
||||
}
|
||||
else { i++; }
|
||||
}
|
||||
|
||||
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;
|
||||
int i;
|
||||
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);) {
|
||||
if (cfp[i].token == RIG_CONF_END) {
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);)
|
||||
{
|
||||
if (cfp[i].token == RIG_CONF_END)
|
||||
{
|
||||
cfp = icom_ext_funcs;
|
||||
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);
|
||||
} else { i++; }
|
||||
}
|
||||
else { i++; }
|
||||
}
|
||||
|
||||
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;
|
||||
int i;
|
||||
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);) {
|
||||
if (cfp[i].token == RIG_CONF_END) {
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_funcs);)
|
||||
{
|
||||
if (cfp[i].token == RIG_CONF_END)
|
||||
{
|
||||
cfp = icom_ext_funcs;
|
||||
i = 0;
|
||||
} else if (cfp[i].token == token) {
|
||||
return icom_get_ext_cmd(rig, vfo, token, (value_t*)status);
|
||||
} else { i++; }
|
||||
}
|
||||
else if (cfp[i].token == token)
|
||||
{
|
||||
return icom_get_ext_cmd(rig, vfo, token, (value_t *)status);
|
||||
}
|
||||
else { i++; }
|
||||
}
|
||||
|
||||
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;
|
||||
int i;
|
||||
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);) {
|
||||
if (cfp[i].token == RIG_CONF_END) {
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);)
|
||||
{
|
||||
if (cfp[i].token == RIG_CONF_END)
|
||||
{
|
||||
cfp = icom_ext_parms;
|
||||
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);
|
||||
} else { i++; }
|
||||
}
|
||||
else { i++; }
|
||||
}
|
||||
|
||||
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;
|
||||
int i;
|
||||
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);) {
|
||||
if (cfp[i].token == RIG_CONF_END) {
|
||||
for (i = 0; (cfp[i].token != RIG_CONF_END) || (cfp != icom_ext_parms);)
|
||||
{
|
||||
if (cfp[i].token == RIG_CONF_END)
|
||||
{
|
||||
cfp = icom_ext_parms;
|
||||
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);
|
||||
} else { i++; }
|
||||
}
|
||||
else { i++; }
|
||||
}
|
||||
|
||||
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:
|
||||
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 */
|
||||
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;
|
||||
}
|
||||
|
||||
priv->rx_vfo = vfo;
|
||||
priv->tx_vfo = tx_vfo;
|
||||
|
||||
split_sc = S_SPLT_ON;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
priv->rx_vfo = vfo;
|
||||
priv->tx_vfo = tx_vfo;
|
||||
priv->split_on = RIG_SPLIT_ON == split;
|
||||
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),
|
||||
|
@ -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
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
|
||||
if (VFO_HAS_MAIN_SUB_ONLY)
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <sys/time.h>
|
||||
#endif
|
||||
|
||||
#define BACKEND_VER "0.31a"
|
||||
#define BACKEND_VER "0.32"
|
||||
|
||||
/*
|
||||
* defines used by comp_cal_str in rig.c
|
||||
|
|
Ładowanie…
Reference in New Issue