kopia lustrzana https://github.com/Hamlib/Hamlib
Add data sub-mode support for TS590s.
The TS590s has a DA command to set USB, LSB or, FM data submodes. Support for get and set of these sub-modes has been added. Mapped from RIG_MODE_PKTUSB, RIG_MODE_PKTLSB and, RIG_MODE_PKTFM respectively.Hamlib-3.0
rodzic
5e60ae88f7
commit
8ece70169b
|
@ -1025,6 +1025,38 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
char kmode;
|
||||
int err;
|
||||
|
||||
if (RIG_MODEL_TS590S == rig->caps->rig_model)
|
||||
{
|
||||
/* supports DATA sub modes */
|
||||
char data_mode = '0';
|
||||
switch (mode)
|
||||
{
|
||||
case RIG_MODE_PKTUSB:
|
||||
data_mode = '1';
|
||||
mode = RIG_MODE_USB;
|
||||
break;
|
||||
|
||||
case RIG_MODE_PKTLSB:
|
||||
data_mode = '1';
|
||||
mode = RIG_MODE_LSB;
|
||||
break;
|
||||
|
||||
case RIG_MODE_PKTFM:
|
||||
data_mode = '1';
|
||||
mode = RIG_MODE_FM;
|
||||
break;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
sprintf (buf, "DA%c", data_mode);
|
||||
int retval = kenwood_simple_cmd (rig, buf);
|
||||
if (RIG_OK != retval)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
}
|
||||
|
||||
kmode = rmode2kenwood(mode, caps->mode_table);
|
||||
if (kmode < 0 ) {
|
||||
rig_debug(RIG_DEBUG_WARN, "%s: unsupported mode '%s'\n",
|
||||
|
@ -1116,6 +1148,26 @@ int kenwood_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
|||
|
||||
*mode = kenwood2rmode(modebuf[2] - '0', caps->mode_table);
|
||||
|
||||
if (RIG_MODEL_TS590S == rig->caps->rig_model)
|
||||
{
|
||||
/* supports DATA sub-modes */
|
||||
retval = kenwood_safe_transaction (rig, "DA", modebuf, 6, 4);
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
return retval;
|
||||
}
|
||||
if ('1' == modebuf[2])
|
||||
{
|
||||
switch (*mode)
|
||||
{
|
||||
case RIG_MODE_USB: *mode = RIG_MODE_PKTUSB; break;
|
||||
case RIG_MODE_LSB: *mode = RIG_MODE_PKTLSB; break;
|
||||
case RIG_MODE_FM: *mode = RIG_MODE_PKTFM; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* XXX ? */
|
||||
*width = rig_passband_normal(rig, *mode);
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue