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;
|
char kmode;
|
||||||
int err;
|
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);
|
kmode = rmode2kenwood(mode, caps->mode_table);
|
||||||
if (kmode < 0 ) {
|
if (kmode < 0 ) {
|
||||||
rig_debug(RIG_DEBUG_WARN, "%s: unsupported mode '%s'\n",
|
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);
|
*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 ? */
|
/* XXX ? */
|
||||||
*width = rig_passband_normal(rig, *mode);
|
*width = rig_passband_normal(rig, *mode);
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue