From df3285de60a3400cba0712fc4a35955b420fa962 Mon Sep 17 00:00:00 2001 From: Michael Black W9MDB Date: Thu, 2 Jul 2020 12:31:09 -0500 Subject: [PATCH] Add FT818 to rigs as copy of FT817 --- include/hamlib/riglist.h | 1 + rigs/yaesu/ft817.c | 138 +++++++++++++++++++++++++++++++++++++++ rigs/yaesu/yaesu.c | 1 + rigs/yaesu/yaesu.h | 1 + 4 files changed, 141 insertions(+) diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h index 0c4c5ae63..559aa1607 100644 --- a/include/hamlib/riglist.h +++ b/include/hamlib/riglist.h @@ -117,6 +117,7 @@ #define RIG_MODEL_FT847UNI RIG_MAKE_MODEL(RIG_YAESU, 38) #define RIG_MODEL_FT600 RIG_MAKE_MODEL(RIG_YAESU, 39) #define RIG_MODEL_FTDX101D RIG_MAKE_MODEL(RIG_YAESU, 40) +#define RIG_MODEL_FT818 RIG_MAKE_MODEL(RIG_YAESU, 41) /* diff --git a/rigs/yaesu/ft817.c b/rigs/yaesu/ft817.c index 1715f3719..027ad8ca2 100644 --- a/rigs/yaesu/ft817.c +++ b/rigs/yaesu/ft817.c @@ -297,6 +297,144 @@ const struct rig_caps ft817_caps = .vfo_op = ft817_vfo_op, }; +const struct rig_caps ft818_caps = +{ + RIG_MODEL(RIG_MODEL_FT818), + .model_name = "FT-818", + .mfg_name = "Yaesu", + .version = "20200629.0", + .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 = 4800, + .serial_rate_max = 38400, + .serial_data_bits = 8, + .serial_stop_bits = 2, + .serial_parity = RIG_PARITY_NONE, + .serial_handshake = RIG_HANDSHAKE_NONE, + .write_delay = FT817_WRITE_DELAY, + .post_write_delay = FT817_POST_WRITE_DELAY, + .timeout = FT817_TIMEOUT, + .retry = 5, + .has_get_func = RIG_FUNC_NONE, + .has_set_func = RIG_FUNC_LOCK | RIG_FUNC_TONE | RIG_FUNC_TSQL, + .has_get_level = RIG_LEVEL_STRENGTH | RIG_LEVEL_RAWSTR | RIG_LEVEL_RFPOWER, + .has_set_level = RIG_LEVEL_NONE, + .has_get_parm = RIG_PARM_NONE, + .has_set_parm = RIG_PARM_NONE, + .level_gran = {}, /* granularity */ + .parm_gran = {}, + .ctcss_list = common_ctcss_list, + .dcs_list = common_dcs_list, /* only 104 out of 106 supported */ + .preamp = { RIG_DBLST_END, }, + .attenuator = { RIG_DBLST_END, }, + .max_rit = Hz(9990), + .max_xit = Hz(0), + .max_ifshift = Hz(0), + .vfo_ops = RIG_OP_TOGGLE, + .targetable_vfo = 0, + .transceive = RIG_TRN_OFF, + .bank_qty = 0, + .chan_desc_sz = 0, + .chan_list = { RIG_CHAN_END, }, + + .rx_range_list1 = { + {kHz(100), MHz(56), FT817_ALL_RX_MODES, -1, -1}, + {MHz(76), MHz(108), RIG_MODE_WFM, -1, -1}, + {MHz(118), MHz(164), FT817_ALL_RX_MODES, -1, -1}, + {MHz(420), MHz(470), FT817_ALL_RX_MODES, -1, -1}, + RIG_FRNG_END, + }, + .tx_range_list1 = { + FRQ_RNG_HF(1, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_HF(1, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + + FRQ_RNG_6m(1, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_6m(1, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + + FRQ_RNG_2m(1, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_2m(1, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + + FRQ_RNG_70cm(1, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_70cm(1, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + + RIG_FRNG_END, + }, + + + .rx_range_list2 = { + {kHz(100), MHz(56), FT817_ALL_RX_MODES, -1, -1}, + {MHz(76), MHz(108), RIG_MODE_WFM, -1, -1}, + {MHz(118), MHz(164), FT817_ALL_RX_MODES, -1, -1}, + {MHz(420), MHz(470), FT817_ALL_RX_MODES, -1, -1}, + RIG_FRNG_END, + }, + + .tx_range_list2 = { + FRQ_RNG_HF(2, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_HF(2, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + /* FIXME: 60 meters in US version */ + + FRQ_RNG_6m(2, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_6m(2, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + + FRQ_RNG_2m(2, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_2m(2, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + + FRQ_RNG_70cm(2, FT817_OTHER_TX_MODES, W(0.5), W(5), FT817_VFO_ALL, FT817_ANTS), + FRQ_RNG_70cm(2, FT817_AM_TX_MODES, W(0.5), W(1.5), FT817_VFO_ALL, FT817_ANTS), + + RIG_FRNG_END, + }, + + .tuning_steps = { + {FT817_SSB_CW_RX_MODES, Hz(10)}, + {FT817_AM_FM_RX_MODES | RIG_MODE_WFM, Hz(100)}, + RIG_TS_END, + }, + + .filters = { + {FT817_SSB_CW_RX_MODES, kHz(2.2)}, /* normal passband */ + {FT817_CWN_RX_MODES, 500}, /* CW and RTTY narrow */ + {RIG_MODE_AM, kHz(6)}, /* AM normal */ + {RIG_MODE_FM | RIG_MODE_PKTFM, kHz(9)}, + {RIG_MODE_WFM, kHz(15)}, + RIG_FLT_END, + }, + + .str_cal = FT817_STR_CAL, + + .rig_init = ft817_init, + .rig_cleanup = ft817_cleanup, + .rig_open = ft817_open, + .rig_close = ft817_close, + .set_freq = ft817_set_freq, + .get_freq = ft817_get_freq, + .set_mode = ft817_set_mode, + .get_mode = ft817_get_mode, + .set_ptt = ft817_set_ptt, + .get_ptt = ft817_get_ptt, + .get_dcd = ft817_get_dcd, + .set_rptr_shift = ft817_set_rptr_shift, + .set_rptr_offs = ft817_set_rptr_offs, + .set_split_vfo = ft817_set_split_vfo, + .get_split_vfo = ft817_get_split_vfo, + .set_rit = ft817_set_rit, + .set_dcs_code = ft817_set_dcs_code, + .set_ctcss_tone = ft817_set_ctcss_tone, + .set_dcs_sql = ft817_set_dcs_sql, + .set_ctcss_sql = ft817_set_ctcss_sql, + .power2mW = ft817_power2mW, + .mW2power = ft817_mW2power, + .set_powerstat = ft817_set_powerstat, + .get_level = ft817_get_level, + .set_func = ft817_set_func, + .vfo_op = ft817_vfo_op, +}; + /* ---------------------------------------------------------------------- */ int ft817_init(RIG *rig) diff --git a/rigs/yaesu/yaesu.c b/rigs/yaesu/yaesu.c index 39c3d9ea7..7a96a5b26 100644 --- a/rigs/yaesu/yaesu.c +++ b/rigs/yaesu/yaesu.c @@ -112,6 +112,7 @@ DECLARE_INITRIG_BACKEND(yaesu) rig_register(&ft891_caps); rig_register(&ft847uni_caps); rig_register(&ftdx101d_caps); + rig_register(&ft818_caps); return RIG_OK; } diff --git a/rigs/yaesu/yaesu.h b/rigs/yaesu/yaesu.h index 3b1bd3ce4..8a5e51653 100644 --- a/rigs/yaesu/yaesu.h +++ b/rigs/yaesu/yaesu.h @@ -81,5 +81,6 @@ extern const struct rig_caps vx1700_caps; extern const struct rig_caps ft1200_caps; extern const struct rig_caps ft847uni_caps; extern const struct rig_caps ftdx101d_caps; +extern const struct rig_caps ft818_caps; #endif /* _YAESU_H */