mirror of
https://github.com/Hamlib/Hamlib.git
synced 2024-09-21 02:17:21 +00:00
Add SDRConsole rig entry since TS-2000 is now hardware flow control by default
This commit is contained in:
parent
2feb4cc65c
commit
f51e7ef760
@ -204,6 +204,7 @@
|
||||
#define RIG_MODEL_FX4 RIG_MAKE_MODEL(RIG_KENWOOD,53)
|
||||
#define RIG_MODEL_THETIS RIG_MAKE_MODEL(RIG_KENWOOD, 54)
|
||||
#define RIG_MODEL_TRUSDX RIG_MAKE_MODEL(RIG_KENWOOD, 55)
|
||||
#define RIG_MODEL_SDRCONSOLE RIG_MAKE_MODEL(RIG_KENWOOD, 56)
|
||||
|
||||
/*
|
||||
* Icom
|
||||
|
@ -6190,6 +6190,7 @@ DECLARE_INITRIG_BACKEND(kenwood)
|
||||
rig_register(&kx3_caps);
|
||||
rig_register(&k4_caps);
|
||||
rig_register(&xg3_caps);
|
||||
rig_register(&sdrconsole_caps);
|
||||
|
||||
rig_register(&ts440_caps);
|
||||
rig_register(&ts940_caps);
|
||||
|
@ -291,6 +291,7 @@ extern struct rig_caps kx3_caps;
|
||||
extern struct rig_caps k4_caps;
|
||||
extern struct rig_caps xg3_caps;
|
||||
extern struct rig_caps trc80_caps;
|
||||
extern struct rig_caps sdrconsole_caps;
|
||||
|
||||
extern struct rig_caps thd7a_caps;
|
||||
extern struct rig_caps thd72a_caps;
|
||||
|
@ -1915,3 +1915,249 @@ struct rig_caps ts2000_caps =
|
||||
|
||||
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
|
||||
};
|
||||
/*
|
||||
* SDRConsole TS-2000 rig capabilities
|
||||
* SDRConsole does not use hardware flow control for example
|
||||
*/
|
||||
struct rig_caps sdrconsole_caps =
|
||||
{
|
||||
RIG_MODEL(RIG_MODEL_SDRCONSOLE),
|
||||
.model_name = "SDRConsole",
|
||||
.mfg_name = "SDR Radio",
|
||||
.version = BACKEND_VER ".2",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_STABLE,
|
||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||
.ptt_type = RIG_PTT_RIG,
|
||||
.dcd_type = RIG_DCD_RIG,
|
||||
.port_type = RIG_PORT_SERIAL,
|
||||
.serial_rate_min = 1200,
|
||||
.serial_rate_max = 115200,
|
||||
.serial_data_bits = 8,
|
||||
.serial_stop_bits = 1,
|
||||
.serial_parity = RIG_PARITY_NONE,
|
||||
.serial_handshake = RIG_HANDSHAKE_NONE,
|
||||
.write_delay = 0,
|
||||
.post_write_delay = 0, /* ms */
|
||||
.timeout = 200,
|
||||
.retry = 3,
|
||||
|
||||
.has_get_func = TS2000_FUNC_ALL,
|
||||
.has_set_func = TS2000_FUNC_ALL,
|
||||
.has_get_level = TS2000_LEVEL_GET,
|
||||
.has_set_level = TS2000_LEVEL_SET,
|
||||
.has_get_parm = RIG_PARM_NONE,
|
||||
.has_set_parm = RIG_PARM_NONE,
|
||||
.level_gran =
|
||||
{
|
||||
#include "level_gran_kenwood.h"
|
||||
[LVL_VOXDELAY] = { .min = { .i = 0 }, .max = { .i = 30 }, .step = { .i = 1 } },
|
||||
[LVL_KEYSPD] = {.min = {.i = 10}, .max = {.i = 60}, .step = {.i = 1}},
|
||||
[LVL_CWPITCH] = {.min = {.i = 400}, .max = {.i = 1000}, .step = {.i = 50}},
|
||||
[LVL_BKIN_DLYMS] = {.min = {.i = 0}, .max = {.i = 1000}, .step = {.i = 50}},
|
||||
[LVL_SLOPE_LOW] = {.min = {.i = 0}, .max = {.i = 1000}, .step = {.i = 10}},
|
||||
[LVL_SLOPE_HIGH] = {.min = {.i = 0}, .max = {.i = 5000}, .step = {.i = 10}},
|
||||
},
|
||||
.parm_gran = {},
|
||||
.vfo_ops = TS2000_VFO_OPS,
|
||||
.scan_ops = TS2000_SCAN_OP,
|
||||
.ctcss_list = ts2000_ctcss_list,
|
||||
.dcs_list = ts2000_dcs_list,
|
||||
.preamp = { 12, RIG_DBLST_END, },
|
||||
.attenuator = { 12, RIG_DBLST_END, },
|
||||
.max_rit = kHz(20),
|
||||
.max_xit = kHz(20),
|
||||
.max_ifshift = kHz(1),
|
||||
.targetable_vfo = RIG_TARGETABLE_FREQ,
|
||||
.transceive = RIG_TRN_RIG,
|
||||
.agc_level_count = 5,
|
||||
.agc_levels = { RIG_AGC_OFF, RIG_AGC_SLOW, RIG_AGC_MEDIUM, RIG_AGC_FAST, RIG_AGC_SUPERFAST },
|
||||
.bank_qty = 0,
|
||||
.chan_desc_sz = 7,
|
||||
|
||||
.chan_list = {
|
||||
{ 0, 299, RIG_MTYPE_MEM, TS2000_MEM_CAP },
|
||||
{ 1, 3, RIG_MTYPE_MORSE },
|
||||
RIG_CHAN_END,
|
||||
},
|
||||
|
||||
.rx_range_list1 = {
|
||||
{kHz(300), MHz(60), TS2000_ALL_MODES, -1, -1, TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(144), MHz(146), TS2000_ALL_MODES, -1, -1, TS2000_MAINVFO},
|
||||
{MHz(430), MHz(440), TS2000_ALL_MODES, -1, -1, TS2000_MAINVFO},
|
||||
{MHz(144), MHz(146), TS2000_ALL_MODES, -1, -1, TS2000_SUBVFO},
|
||||
{MHz(430), MHz(440), TS2000_ALL_MODES, -1, -1, TS2000_SUBVFO},
|
||||
RIG_FRNG_END,
|
||||
}, /* rx range */
|
||||
.tx_range_list1 = {
|
||||
{kHz(1830), kHz(1850), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(1830), kHz(1850), TS2000_AM_TX_MODES, 2000, 25000, TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(3500), kHz(3800), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(3500), kHz(3800), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(7), kHz(7100), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(7), kHz(7100), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(10.1), MHz(10.15), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(10.1), MHz(10.15), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(14), kHz(14350), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(14), kHz(14350), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(18068), kHz(18168), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(18068), kHz(18168), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(21), kHz(21450), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(21), kHz(21450), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(24890), kHz(24990), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(24890), kHz(24990), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(28), kHz(29700), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(28), kHz(29700), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(50), MHz(50.2), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(50), MHz(50.2), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(144), MHz(146), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO},
|
||||
{MHz(144), MHz(146), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO},
|
||||
{MHz(430), MHz(440), TS2000_OTHER_TX_MODES, W(5), W(50), TS2000_MAINVFO},
|
||||
{MHz(430), MHz(440), TS2000_AM_TX_MODES, W(5), W(12.5), TS2000_MAINVFO},
|
||||
RIG_FRNG_END,
|
||||
}, /* tx range */
|
||||
|
||||
.rx_range_list2 = {
|
||||
{kHz(300), MHz(60), TS2000_ALL_MODES, -1, -1, TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(142), MHz(152), TS2000_ALL_MODES, -1, -1, TS2000_MAINVFO},
|
||||
{MHz(420), MHz(450), TS2000_ALL_MODES, -1, -1, TS2000_MAINVFO},
|
||||
{MHz(118), MHz(174), TS2000_ALL_MODES, -1, -1, TS2000_SUBVFO},
|
||||
{MHz(220), MHz(512), TS2000_ALL_MODES, -1, -1, TS2000_SUBVFO},
|
||||
RIG_FRNG_END,
|
||||
}, /* rx range */
|
||||
.tx_range_list2 = {
|
||||
{kHz(1800), MHz(2), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(1800), MHz(2), TS2000_AM_TX_MODES, 2000, 25000, TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(3500), MHz(4), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(3500), MHz(4), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(7), kHz(7300), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(7), kHz(7300), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(10.1), MHz(10.15), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(10.1), MHz(10.15), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(14), kHz(14350), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(14), kHz(14350), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(18068), kHz(18168), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(18068), kHz(18168), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(21), kHz(21450), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(21), kHz(21450), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(24890), kHz(24990), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{kHz(24890), kHz(24990), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(28), kHz(29700), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(28), kHz(29700), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(50), MHz(54), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(50), MHz(54), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO, TS2000_ANTS},
|
||||
{MHz(144), MHz(148), TS2000_OTHER_TX_MODES, W(5), W(100), TS2000_MAINVFO},
|
||||
{MHz(144), MHz(148), TS2000_AM_TX_MODES, W(5), W(25), TS2000_MAINVFO},
|
||||
{MHz(430), MHz(450), TS2000_OTHER_TX_MODES, W(5), W(50), TS2000_MAINVFO},
|
||||
{MHz(430), MHz(450), TS2000_AM_TX_MODES, W(5), W(12.5), TS2000_MAINVFO},
|
||||
RIG_FRNG_END,
|
||||
}, /* tx range */
|
||||
|
||||
.tuning_steps = {
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, 1},
|
||||
{TS2000_ALL_MODES, 10},
|
||||
{TS2000_ALL_MODES, 100},
|
||||
{TS2000_ALL_MODES, kHz(1)},
|
||||
{TS2000_ALL_MODES, kHz(2.5)},
|
||||
{TS2000_ALL_MODES, kHz(5)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(6.25)},
|
||||
{TS2000_ALL_MODES, kHz(10)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(12.5)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(12.5)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(15)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(20)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(25)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(30)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(50)},
|
||||
{RIG_MODE_AM | RIG_MODE_FM, kHz(100)},
|
||||
{TS2000_ALL_MODES, MHz(1)},
|
||||
{TS2000_ALL_MODES, 0}, /* any tuning step */
|
||||
RIG_TS_END,
|
||||
},
|
||||
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB, kHz(2.2)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(200)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(50)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(1000)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(80)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(100)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(150)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(300)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(400)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(500)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(600)},
|
||||
{RIG_MODE_CW | RIG_MODE_CWR, Hz(2000)},
|
||||
{RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(500)},
|
||||
{RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(250)},
|
||||
{RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(1000)},
|
||||
{RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(1500)},
|
||||
{RIG_MODE_AM, kHz(6)},
|
||||
{RIG_MODE_AM, kHz(2.4)},
|
||||
{RIG_MODE_FM, kHz(12)},
|
||||
{RIG_MODE_FM, kHz(6)},
|
||||
RIG_FLT_END,
|
||||
},
|
||||
|
||||
.str_cal = TS2000_STR_CAL,
|
||||
.swr_cal = TS2000_SWR_CAL,
|
||||
|
||||
.ext_tokens = ts2000_ext_tokens,
|
||||
.extfuncs = ts2000_ext_funcs,
|
||||
.extlevels = ts2000_ext_levels,
|
||||
|
||||
.priv = (void *)& ts2000_priv_caps,
|
||||
|
||||
.rig_init = ts2000_init,
|
||||
.rig_open = kenwood_open,
|
||||
.rig_close = kenwood_close,
|
||||
.rig_cleanup = kenwood_cleanup,
|
||||
.set_freq = kenwood_set_freq,
|
||||
.get_freq = kenwood_get_freq,
|
||||
.set_rit = ts2000_set_rit,
|
||||
.get_rit = ts2000_get_rit,
|
||||
.set_xit = ts2000_set_rit,
|
||||
.get_xit = ts2000_get_rit,
|
||||
.set_mode = kenwood_set_mode,
|
||||
.get_mode = kenwood_get_mode,
|
||||
.set_vfo = kenwood_set_vfo,
|
||||
.get_vfo = kenwood_get_vfo_if,
|
||||
.set_split_vfo = kenwood_set_split_vfo,
|
||||
.get_split_vfo = kenwood_get_split_vfo_if,
|
||||
.set_ctcss_tone = kenwood_set_ctcss_tone_tn,
|
||||
.get_ctcss_tone = kenwood_get_ctcss_tone,
|
||||
.set_ctcss_sql = kenwood_set_ctcss_sql,
|
||||
.get_ctcss_sql = kenwood_get_ctcss_sql,
|
||||
.get_ptt = kenwood_get_ptt,
|
||||
.set_ptt = kenwood_set_ptt,
|
||||
.get_dcd = kenwood_get_dcd,
|
||||
.set_func = ts2000_set_func,
|
||||
.get_func = ts2000_get_func,
|
||||
.set_level = ts2000_set_level,
|
||||
.get_level = ts2000_get_level,
|
||||
.set_ext_func = ts2000_set_ext_func,
|
||||
.get_ext_func = ts2000_get_ext_func,
|
||||
.set_ext_level = ts2000_set_ext_level,
|
||||
.get_ext_level = ts2000_get_ext_level,
|
||||
.set_ant = kenwood_set_ant,
|
||||
.get_ant = kenwood_get_ant,
|
||||
.send_morse = kenwood_send_morse,
|
||||
.wait_morse = rig_wait_morse,
|
||||
.send_voice_mem = kenwood_send_voice_mem,
|
||||
.stop_voice_mem = kenwood_stop_voice_mem,
|
||||
.vfo_op = kenwood_vfo_op,
|
||||
.scan = kenwood_scan,
|
||||
.set_mem = kenwood_set_mem,
|
||||
.get_mem = kenwood_get_mem,
|
||||
.get_channel = ts2000_get_channel,
|
||||
.set_channel = ts2000_set_channel,
|
||||
.set_trn = kenwood_set_trn,
|
||||
.get_trn = kenwood_get_trn,
|
||||
.set_powerstat = kenwood_set_powerstat,
|
||||
.get_powerstat = kenwood_get_powerstat,
|
||||
.get_info = kenwood_get_info,
|
||||
.reset = kenwood_reset,
|
||||
|
||||
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
|
||||
};
|
||||
|
@ -37,8 +37,8 @@ int keyspd = 85; // 85=20WPM
|
||||
// we make B different from A to ensure we see a difference at startup
|
||||
float freqA = 14074000;
|
||||
float freqB = 14074500;
|
||||
mode_t modeA = RIG_MODE_PKTUSB;
|
||||
mode_t modeB = RIG_MODE_PKTUSB;
|
||||
mode_t modeA = RIG_MODE_FM;
|
||||
mode_t modeB = RIG_MODE_FM;
|
||||
int datamodeA = 0;
|
||||
int datamodeB = 0;
|
||||
pbwidth_t widthA = 0;
|
||||
@ -110,6 +110,7 @@ void frameParse(int fd, unsigned char *frame, int len)
|
||||
return;
|
||||
}
|
||||
|
||||
printf("Here#1\n");
|
||||
dumphex(frame, len);
|
||||
|
||||
if (frame[0] != 0xfe && frame[1] != 0xfe)
|
||||
|
@ -1452,6 +1452,7 @@ int HAMLIB_API rig_set_conf(RIG *rig, hamlib_token_t token, const char *val)
|
||||
*/
|
||||
int HAMLIB_API rig_get_conf(RIG *rig, hamlib_token_t token, char *val)
|
||||
{
|
||||
printf("tokendid=%lx, %s\n", token, val);
|
||||
return rig_get_conf2(rig, token, val, 128);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user