From f4d0e3e4025048dcd1871708226b825927d47e01 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Wed, 29 Jun 2022 15:35:27 -0500 Subject: [PATCH] Add IC375 --- rigs/icom/ic275.c | 106 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/rigs/icom/ic275.c b/rigs/icom/ic275.c index 836109d81..c6e8349cb 100644 --- a/rigs/icom/ic275.c +++ b/rigs/icom/ic275.c @@ -46,6 +46,14 @@ static const struct icom_priv_caps ic275_priv_caps = ic737_ts_sc_list }; +static const struct icom_priv_caps ic375_priv_caps = +{ + 0x12, /* default address */ + 0, /* 731 mode */ + 0, /* no XCHG */ + ic737_ts_sc_list +}; + const struct rig_caps ic275_caps = { RIG_MODEL(RIG_MODEL_IC275), @@ -145,3 +153,101 @@ const struct rig_caps ic275_caps = .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS }; +const struct rig_caps ic375_caps = +{ + RIG_MODEL(RIG_MODEL_IC375), + .model_name = "IC-375", + .mfg_name = "Icom", + .version = BACKEND_VER ".0", + .copyright = "LGPL", + .status = RIG_STATUS_BETA, + .rig_type = RIG_TYPE_TRANSCEIVER, + .ptt_type = RIG_PTT_NONE, + .dcd_type = RIG_DCD_NONE, + .port_type = RIG_PORT_SERIAL, + .serial_rate_min = 300, + .serial_rate_max = 9600, + .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, + .timeout = 1000, + .retry = 3, + .has_get_func = RIG_FUNC_NONE, + .has_set_func = RIG_FUNC_NONE, + .has_get_level = RIG_LEVEL_NONE, + .has_set_level = RIG_LEVEL_NONE, + .has_get_parm = RIG_PARM_NONE, + .has_set_parm = RIG_PARM_NONE, + .level_gran = {}, + .parm_gran = {}, + .ctcss_list = NULL, + .dcs_list = NULL, + .preamp = { RIG_DBLST_END, }, + .attenuator = { RIG_DBLST_END, }, + .max_rit = Hz(0), + .max_xit = Hz(0), + .max_ifshift = Hz(0), + .targetable_vfo = 0, + .vfo_ops = IC275_VFO_OPS, + .scan_ops = RIG_SCAN_NONE, + .transceive = RIG_TRN_RIG, + .bank_qty = 0, + .chan_desc_sz = 0, + + .chan_list = { + { 1, 99, RIG_MTYPE_MEM, IC_MIN_MEM_CAP }, + { 100, 101, RIG_MTYPE_EDGE, IC_MIN_MEM_CAP }, + { 102, 102, RIG_MTYPE_CALL, IC_MIN_MEM_CAP }, + RIG_CHAN_END, + }, + + .rx_range_list1 = { {MHz(138), MHz(174), IC275_MODES, -1, -1, IC275_VFO_ALL}, + RIG_FRNG_END, + }, + .tx_range_list1 = { {MHz(144), MHz(146), IC275_MODES, W(2.5), W(25), IC275_VFO_ALL}, + RIG_FRNG_END, + }, + + .rx_range_list2 = { {MHz(138), MHz(174), IC275_MODES, -1, -1, IC275_VFO_ALL}, + RIG_FRNG_END, + }, + .tx_range_list2 = { {MHz(144), MHz(148), IC275_MODES, W(2.5), W(25), IC275_VFO_ALL}, + RIG_FRNG_END, + }, + + .tuning_steps = { + {IC275_MODES, 10}, /* TBC: does this rig supports settin tuning step? */ + RIG_TS_END, + }, + /* mode/filter list, remember: order matters! */ + .filters = { + {RIG_MODE_SSB | RIG_MODE_CW, kHz(2.2)}, + {RIG_MODE_FM, kHz(15)}, + RIG_FLT_END, + }, + + .cfgparams = icom_cfg_params, + .set_conf = icom_set_conf, + .get_conf = icom_get_conf, + + .priv = (void *)& ic375_priv_caps, + .rig_init = icom_init, + .rig_cleanup = icom_cleanup, + .rig_open = icom_rig_open, + .rig_close = icom_rig_close, + + .set_freq = icom_set_freq, + .get_freq = icom_get_freq, + .set_mode = icom_set_mode, + .get_mode = icom_get_mode, + .set_vfo = icom_set_vfo, + + .decode_event = icom_decode_event, + .set_mem = icom_set_mem, + .vfo_op = icom_vfo_op, + + .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS +};