pull/381/head
Michael Black W9MDB 2020-09-14 23:12:35 -05:00
rodzic b397fc07bd
commit b97d05369c
5 zmienionych plików z 92 dodań i 60 usunięć

Wyświetl plik

@ -828,7 +828,7 @@ int win32_serial_close(int fd)
if ( index->filename ) free( index->filename );
*/
free(index);
LEAVE("serial_close");
return 0;
@ -2496,6 +2496,7 @@ int tcgetattr(int fd, struct termios *s_termios)
myDCB.fParity = 1;
#if 0 // redundant
if (myDCB.fParity)
{
#endif
@ -2524,12 +2525,14 @@ int tcgetattr(int fd, struct termios *s_termios)
{
s_termios->c_cflag &= ~(PARODD | CMSPAR | PARENB);
}
#if 0 // see redundant above
}
else
{
s_termios->c_cflag &= ~PARENB;
}
#endif
/* CSIZE */

Wyświetl plik

@ -324,9 +324,9 @@ const struct rig_caps ic7300_caps =
RIG_CHAN_END,
},
.rx_range_list1 = {
{kHz(30), MHz(74.8), IC7300_ALL_RX_MODES, -1, -1, IC7300_VFOS}, RIG_FRNG_END,
},
.rx_range_list1 = {
{kHz(30), MHz(74.8), IC7300_ALL_RX_MODES, -1, -1, IC7300_VFOS}, RIG_FRNG_END,
},
.tx_range_list1 = {
FRQ_RNG_HF(1, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1),
FRQ_RNG_60m(1, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1),
@ -741,46 +741,46 @@ const struct rig_caps ic705_caps =
RIG_CHAN_END,
},
.rx_range_list1 = {
.rx_range_list1 = {
{kHz(30), MHz(199.999999), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "USA"},
{MHz(400), MHz(470), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "USA"},
RIG_FRNG_END,
RIG_FRNG_END,
},
.tx_range_list1 = {
{ kHz(1800), MHz(1.999999),IC705_ALL_TX_MODES, W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(3.5), MHz(3.999999),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(5.255), MHz(5.405),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(7.0), MHz(7.3),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(10.1), MHz(10.15),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(14.0), MHz(14.35),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(18.068), MHz(18.168),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(21.00), MHz(21.45),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(24.89), MHz(24.99),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(28.00), MHz(29.70),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(50.00), MHz(54.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(144.00), MHz(148.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(430.00), MHz(450.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" },
{ kHz(1800), MHz(1.999999), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(3.5), MHz(3.999999), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(5.255), MHz(5.405), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(7.0), MHz(7.3), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(10.1), MHz(10.15), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(14.0), MHz(14.35), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(18.068), MHz(18.168), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(21.00), MHz(21.45), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(24.89), MHz(24.99), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(28.00), MHz(29.70), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(50.00), MHz(54.00), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(144.00), MHz(148.00), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
{ MHz(430.00), MHz(450.00), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "USA" },
RIG_FRNG_END,
},
.rx_range_list2 = {
.rx_range_list2 = {
{kHz(30), MHz(199.999999), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "EUR"},
{MHz(400), MHz(470), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "EUR"},
RIG_FRNG_END,
RIG_FRNG_END,
},
.tx_range_list2 = {
{ kHz(1810), MHz(1.999999),IC705_ALL_TX_MODES, W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(3.5), MHz(3.8),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(7.0), MHz(7.2),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(10.1), MHz(10.15),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(14.0), MHz(14.35),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(18.068), MHz(18.168),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(21.00), MHz(21.45),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(24.89), MHz(24.99),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(28.00), MHz(29.70),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(50.00), MHz(52.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(144.00), MHz(146.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(430.00), MHz(440.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" },
{ kHz(1810), MHz(1.999999), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(3.5), MHz(3.8), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(7.0), MHz(7.2), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(10.1), MHz(10.15), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(14.0), MHz(14.35), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(18.068), MHz(18.168), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(21.00), MHz(21.45), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(24.89), MHz(24.99), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(28.00), MHz(29.70), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(50.00), MHz(52.00), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(144.00), MHz(146.00), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
{ MHz(430.00), MHz(440.00), IC705_ALL_TX_MODES, W(0.1), W(10), IC7300_VFOS, RIG_ANT_1, "EUR" },
RIG_FRNG_END,
},
@ -936,19 +936,24 @@ int ic7300_set_parm(RIG *rig, setting_t parm, value_t val)
{
prmbuf[0] = 0x1a;
prmbuf[1] = 0x05;
switch (rig->caps->rig_model) {
switch (rig->caps->rig_model)
{
case RIG_MODEL_IC7300:
prmbuf[2] = 0x00;
prmbuf[3] = 0x39;
break;
case RIG_MODEL_IC9700:
prmbuf[2] = 0x01;
prmbuf[3] = 0x77;
break;
case RIG_MODEL_IC705:
prmbuf[2] = 0x00;
prmbuf[3] = 0x53;
break;
default:
return -RIG_ENIMPL;
}
@ -965,22 +970,27 @@ int ic7300_set_parm(RIG *rig, setting_t parm, value_t val)
hr = (int)((float) val.i / 3600.0);
min = (int)((float)(val.i - (hr * 3600)) / 60.0);
switch (rig->caps->rig_model) {
switch (rig->caps->rig_model)
{
case RIG_MODEL_IC7300:
prmbuf[0] = 0x00;
prmbuf[1] = 0x95;
break;
case RIG_MODEL_IC9700:
prmbuf[0] = 0x01;
prmbuf[1] = 0x80;
break;
case RIG_MODEL_IC705:
prmbuf[0] = 0x01;
prmbuf[1] = 0x66;
break;
default:
return -RIG_ENIMPL;
}
to_bcd_be(prmbuf + 2, (long long) hr, 2);
to_bcd_be(prmbuf + 3, (long long) min, 2);
return icom_set_raw(rig, C_CTL_MEM, S_MEM_PARM, 4, prmbuf, 0, 0);
@ -1008,8 +1018,9 @@ int ic7300_get_parm(RIG *rig, setting_t parm, value_t *val)
return -RIG_ENIMPL; // How can we implement this?
default:
rig_debug(RIG_DEBUG_TRACE, "%s: using icom routine for PARM=%s\n", __func__, rig_strparm(parm));
return icom_get_parm(rig,parm,val);
rig_debug(RIG_DEBUG_TRACE, "%s: using icom routine for PARM=%s\n", __func__,
rig_strparm(parm));
return icom_get_parm(rig, parm, val);
}
retval = icom_transaction(rig, prm_cn, prm_sc, prmbuf, prm_len, resbuf,
@ -1033,11 +1044,12 @@ int ic7300_get_parm(RIG *rig, setting_t parm, value_t *val)
switch (parm)
{
case RIG_PARM_ANN:
case RIG_PARM_ANN:
rig_debug(RIG_DEBUG_WARN, "%s: not implemented\n", __func__);
return -RIG_ENIMPL;
default:
return icom_get_parm(rig,parm,val);
return icom_get_parm(rig, parm, val);
}

Wyświetl plik

@ -2703,12 +2703,14 @@ int icom_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
for (i = 0; cmd && cmd[i].id.s != 0; i++)
{
rig_debug(RIG_DEBUG_TRACE, "%s: i=%d\n", __func__, i);
rig_debug(RIG_DEBUG_TRACE, "%s: i=%d\n", __func__, i);
if (cmd[i].cmdparamtype == CMD_PARAM_TYPE_LEVEL && cmd[i].id.s == level)
{
return icom_get_cmd(rig, vfo, (struct cmdparams *)&cmd[i], val);
}
}
rig_debug(RIG_DEBUG_TRACE, "%s: no extcmd found\n", __func__);
rs = &rig->state;
@ -3189,7 +3191,7 @@ int icom_get_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t *val)
}
else if (cfp[i].token == token)
{
return icom_get_ext_cmd(rig, vfo, CMD_PARAM_TYPE_LEVEL, token, val);
return icom_get_ext_cmd(rig, vfo, CMD_PARAM_TYPE_LEVEL, token, val);
}
else { i++; }
}
@ -3239,7 +3241,8 @@ int icom_get_ext_func(RIG *rig, vfo_t vfo, token_t token, int *status)
}
else if (cfp[i].token == token)
{
return icom_get_ext_cmd(rig, vfo, CMD_PARAM_TYPE_FUNC, token, (value_t *)status);
return icom_get_ext_cmd(rig, vfo, CMD_PARAM_TYPE_FUNC, token,
(value_t *)status);
}
else { i++; }
}
@ -3297,7 +3300,8 @@ int icom_get_ext_parm(RIG *rig, token_t token, value_t *val)
return -RIG_EINVAL;
}
int icom_get_ext_cmd(RIG *rig, vfo_t vfo, cmd_param_t cmdparamtype, token_t token, value_t *val)
int icom_get_ext_cmd(RIG *rig, vfo_t vfo, cmd_param_t cmdparamtype,
token_t token, value_t *val)
{
int i;

Wyświetl plik

@ -650,30 +650,40 @@ int powersdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
switch (level)
{
case RIG_LEVEL_RFPOWER_METER:
cmd = "ZZRM5";
len = 5;
break;
default:
return kenwood_get_level(rig,vfo,level,val);
case RIG_LEVEL_RFPOWER_METER:
cmd = "ZZRM5";
len = 5;
break;
default:
return kenwood_get_level(rig, vfo, level, val);
}
retval = kenwood_safe_transaction(rig, cmd, lvlbuf, 10, len + 3);
if (retval != RIG_OK)
{
return retval;
}
int n;
switch (level)
{
case RIG_LEVEL_RFPOWER_METER:
n = sscanf(lvlbuf + len, "%f", &val->f);
if (n != 1) {
rig_debug(RIG_DEBUG_ERR,"%s: Error parsing RFPOWER from lvlbuf='%s'\n",__func__,lvlbuf);
return -RIG_EPROTO;
}
val->f /= 100;
break;
case RIG_LEVEL_RFPOWER_METER:
n = sscanf(lvlbuf + len, "%f", &val->f);
if (n != 1)
{
rig_debug(RIG_DEBUG_ERR, "%s: Error parsing RFPOWER from lvlbuf='%s'\n",
__func__, lvlbuf);
return -RIG_EPROTO;
}
val->f /= 100;
break;
}
return RIG_OK;
}

Wyświetl plik

@ -355,7 +355,8 @@ transaction_read:
if (retval < 0)
{
rig_debug(RIG_DEBUG_WARN,
"%s: read_string retval < 0, retval = %d, retry_read=%d, rs->rigport.retry=%d\n", __func__,
"%s: read_string retval < 0, retval = %d, retry_read=%d, rs->rigport.retry=%d\n",
__func__,
retval, retry_read, rs->rigport.retry);
// only retry if we expect a response from the command
@ -476,8 +477,10 @@ transaction_read:
rig_debug(RIG_DEBUG_ERR, "%s: wrong reply %c%c for command %c%c\n",
__func__, buffer[0], buffer[1], cmdstr[0], cmdstr[1]);
rig_debug(RIG_DEBUG_ERR, "%s: retry_read=%d, rs->rigport.retry=%d\n", __func__, retry_read, rs->rigport.retry);
if (retry_read++ < rs->rigport.retry)
rig_debug(RIG_DEBUG_ERR, "%s: retry_read=%d, rs->rigport.retry=%d\n", __func__,
retry_read, rs->rigport.retry);
if (retry_read++ < rs->rigport.retry)
{
goto transaction_write;
}