diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 510031f76..fd461a4b7 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -1386,12 +1386,12 @@ typedef uint64_t rmode_t; #define RIG_MODE_IQ CONSTANT_64BIT_FLAG (37) /*!< \c IQ mode for a couple of kit rigs */ #define RIG_MODE_ISBUSB CONSTANT_64BIT_FLAG (38) /*!< \c ISB mode monitoring USB */ #define RIG_MODE_ISBLSB CONSTANT_64BIT_FLAG (39) /*!< \c ISB mode monitoring LSB */ -#define RIG_MODE_BIT40 CONSTANT_64BIT_FLAG (40) /*!< \c reserved for future expansion */ -#define RIG_MODE_BIT41 CONSTANT_64BIT_FLAG (41) /*!< \c reserved for future expansion */ -#define RIG_MODE_BIT42 CONSTANT_64BIT_FLAG (42) /*!< \c reserved for future expansion */ -#define RIG_MODE_BIT43 CONSTANT_64BIT_FLAG (43) /*!< \c reserved for future expansion */ -#define RIG_MODE_BIT44 CONSTANT_64BIT_FLAG (44) /*!< \c reserved for future expansion */ -#define RIG_MODE_BIT45 CONSTANT_64BIT_FLAG (45) /*!< \c reserved for future expansion */ +#define RIG_MODE_USBD1 CONSTANT_64BIT_FLAG (40) /*!< \c USB-D1 for some rigs */ +#define RIG_MODE_USBD2 CONSTANT_64BIT_FLAG (41) /*!< \c USB-D2 for some rigs */ +#define RIG_MODE_USBD3 CONSTANT_64BIT_FLAG (42) /*!< \c USB-D3 for some rigs */ +#define RIG_MODE_LSBD1 CONSTANT_64BIT_FLAG (43) /*!< \c LSB-D1 for some rigs */ +#define RIG_MODE_LSBD2 CONSTANT_64BIT_FLAG (44) /*!< \c LSB-D1 for some rigs */ +#define RIG_MODE_LSBD3 CONSTANT_64BIT_FLAG (45) /*!< \c LSB-D1 for some rigs */ #define RIG_MODE_BIT46 CONSTANT_64BIT_FLAG (46) /*!< \c reserved for future expansion */ #define RIG_MODE_BIT47 CONSTANT_64BIT_FLAG (47) /*!< \c reserved for future expansion */ #define RIG_MODE_BIT48 CONSTANT_64BIT_FLAG (48) /*!< \c reserved for future expansion */ diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index 77524f7fa..aeef6df60 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -143,7 +143,7 @@ struct rig_caps flrig_caps = RIG_MODEL(RIG_MODEL_FLRIG), .model_name = "", .mfg_name = "FLRig", - .version = "20231216.0", + .version = "20240222.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -243,6 +243,12 @@ static struct s_modeMap modeMap[] = {RIG_MODE_RTTYR, NULL}, {RIG_MODE_C4FM, NULL}, {RIG_MODE_DSTAR, NULL}, + {RIG_MODE_USBD1, NULL}, + {RIG_MODE_USBD2, NULL}, + {RIG_MODE_USBD3, NULL}, + {RIG_MODE_LSBD1, NULL}, + {RIG_MODE_LSBD2, NULL}, + {RIG_MODE_LSBD3, NULL}, {0, NULL} }; @@ -1012,9 +1018,6 @@ static int flrig_open(RIG *rig) H3E M11 USB-D -- doesn't appear to be read/set - USB-D1 -- doesn't appear to be read/set - USB-D2 -- doesn't appear to be read/set - USB-D3 -- doesn't appear to be read/set USER-L -- doesn't appear to be read/set USER-U -- doesn't appear to be read/set */ @@ -1057,9 +1060,9 @@ static int flrig_open(RIG *rig) else if (streq(p, "LCW")) { modeMapAdd(&modes, RIG_MODE_CWR, p); } else if (streq(p, "LSB")) { modeMapAdd(&modes, RIG_MODE_LSB, p); } else if (streq(p, "LSB-D")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); } - else if (streq(p, "LSB-D1")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); } - else if (streq(p, "LSB-D2")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); } - else if (streq(p, "LSB-D3")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); } + else if (streq(p, "LSB-D1")) { modeMapAdd(&modes, RIG_MODE_LSBD1, p); } + else if (streq(p, "LSB-D2")) { modeMapAdd(&modes, RIG_MODE_LSBD2, p); } + else if (streq(p, "LSB-D3")) { modeMapAdd(&modes, RIG_MODE_LSBD3, p); } else if (streq(p, "NFM")) { modeMapAdd(&modes, RIG_MODE_FMN, p); } else if (streq(p, "PKT")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); } else if (streq(p, "PKT-FM")) { modeMapAdd(&modes, RIG_MODE_PKTFM, p); } @@ -1082,9 +1085,9 @@ static int flrig_open(RIG *rig) else if (streq(p, "SAM")) { modeMapAdd(&modes, RIG_MODE_SAM, p); } else if (streq(p, "USB")) { modeMapAdd(&modes, RIG_MODE_USB, p); } else if (streq(p, "USB-D")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); } - else if (streq(p, "USB-D1")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); } - else if (streq(p, "USB-D2")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); } - else if (streq(p, "USB-D3")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); } + else if (streq(p, "USB-D1")) { modeMapAdd(&modes, RIG_MODE_USBD1, p); } + else if (streq(p, "USB-D2")) { modeMapAdd(&modes, RIG_MODE_USBD2, p); } + else if (streq(p, "USB-D3")) { modeMapAdd(&modes, RIG_MODE_USBD3, p); } else if (streq(p, "USER-U")) { modeMapAdd(&modes, RIG_MODE_PKTUSB, p); } else if (streq(p, "USER-L")) { modeMapAdd(&modes, RIG_MODE_PKTLSB, p); } else if (streq(p, "W-FM")) { modeMapAdd(&modes, RIG_MODE_WFM, p); } diff --git a/rigs/kenwood/kenwood.c b/rigs/kenwood/kenwood.c index 0c7df5026..0ad8c5fec 100644 --- a/rigs/kenwood/kenwood.c +++ b/rigs/kenwood/kenwood.c @@ -153,7 +153,15 @@ rmode_t kenwood_mode_table[KENWOOD_MODE_TABLE_MAX] = [12] = RIG_MODE_PKTLSB, [13] = RIG_MODE_PKTUSB, [14] = RIG_MODE_PKTFM, - [15] = RIG_MODE_PKTAM + [14] = RIG_MODE_PKTAM, + [16] = RIG_MODE_LSBD2, + [17] = RIG_MODE_USBD2, + [18] = RIG_MODE_NONE, // FM-D2 not supported yet + [19] = RIG_MODE_NONE, // AM-D2 not supported yet + [20] = RIG_MODE_LSBD3, + [21] = RIG_MODE_USBD3, + [22] = RIG_MODE_NONE, // FM-D3 not supported yet + [23] = RIG_MODE_NONE, // AM-D3 not supported yet }; /* @@ -2405,6 +2413,12 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if (RIG_MODE_PKTUSB == mode) { mode = RIG_MODE_RTTYR; } } + if (RIG_IS_TS990S) + { + if (mode == RIG_MODE_PKTUSB) mode = RIG_MODE_USBD1; + if (mode == RIG_MODE_PKTLSB) mode = RIG_MODE_LSBD1; + } + kmode = rmode2kenwood(mode, caps->mode_table); if (kmode < 0) @@ -2455,6 +2469,7 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) if (err2 != RIG_OK) { RETURNFUNC2(err2); } } + return RIG_OK; } else { diff --git a/rigs/kenwood/kenwood.h b/rigs/kenwood/kenwood.h index 6fa46270c..93565b1f6 100644 --- a/rigs/kenwood/kenwood.h +++ b/rigs/kenwood/kenwood.h @@ -28,7 +28,7 @@ #include "token.h" #include "idx_builtin.h" -#define BACKEND_VER "20231226" +#define BACKEND_VER "20240220" #define EOM_KEN ';' #define EOM_TH '\r' diff --git a/rigs/kenwood/ts990s.c b/rigs/kenwood/ts990s.c index f2de7a5df..a336a170b 100644 --- a/rigs/kenwood/ts990s.c +++ b/rigs/kenwood/ts990s.c @@ -32,7 +32,7 @@ #define TS990S_AM_MODES RIG_MODE_AM #define TS990S_FM_MODES (RIG_MODE_FM|RIG_MODE_FMN) -#define TS990S_OTHER_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTUSB|RIG_MODE_PKTLSB) +#define TS990S_OTHER_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTUSB|RIG_MODE_PKTLSB|RIG_MODE_USBD1|RIG_MODE_USBD2|RIG_MODE_USBD3|RIG_MODE_LSBD1|RIG_MODE_LSBD2|RIG_MODE_LSBD3) #define TS990S_HP_MODES (TS990S_OTHER_MODES|TS990S_FM_MODES) #define TS990S_ALL_MODES (TS990S_OTHER_MODES|TS990S_AM_MODES|TS990S_FM_MODES) @@ -103,16 +103,16 @@ static rmode_t ts990s_mode_table[KENWOOD_MODE_TABLE_MAX] = [9] = RIG_MODE_RTTYR, [10] = RIG_MODE_NONE, /* A */ [11] = RIG_MODE_NONE, /* B */ - [12] = RIG_MODE_PKTLSB, /* C */ - [13] = RIG_MODE_PKTUSB, /* D */ + [12] = RIG_MODE_LSBD1, /* C */ + [13] = RIG_MODE_USBD1, /* D */ [14] = RIG_MODE_PKTFM, /* E */ [15] = RIG_MODE_NONE, /* F */ - [16] = RIG_MODE_PKTLSB, /* G */ - [17] = RIG_MODE_PKTUSB, /* H */ + [16] = RIG_MODE_LSBD2, /* G */ + [17] = RIG_MODE_USBD2, /* H */ [18] = RIG_MODE_PKTFM, /* I */ [19] = RIG_MODE_NONE, /* J */ - [20] = RIG_MODE_PKTLSB, /* K */ - [21] = RIG_MODE_PKTUSB, /* L */ + [20] = RIG_MODE_LSBD3, /* K */ + [21] = RIG_MODE_USBD3, /* L */ [22] = RIG_MODE_PKTFM, /* M */ [23] = RIG_MODE_NONE, /* N */ };