[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. f33a5611bc685d926d861
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Michael B. <mdb...@us...> - 2020-09-06 17:42:18
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via f33a5611bc685d926d8616f6051fcb82d4d0da96 (commit) via 24fb47cbe019c9e5af631479a9237bfa9bb5e670 (commit) from 120c6b2ca61a31147203e17be4e2e6d02e2bfcd9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f33a5611bc685d926d8616f6051fcb82d4d0da96 Author: Michael Black W9MDB <mdb...@ya...> Date: Sun Sep 6 12:41:43 2020 -0500 Small update to cppcheck.sh diff --git a/cppcheck.sh b/cppcheck.sh index ef58eb4e..2021a740 100755 --- a/cppcheck.sh +++ b/cppcheck.sh @@ -3,9 +3,7 @@ # Author Michael Black W9MDB # This SUPPRESS setting results in no warnings as of 2020-01-14 # There are things that could still be done...especially in the C++ area -echo "See cppcheck.log when done" -echo "There should be no errors or warnings" -echo "This takes several hours to run" +echo "Idealy there should be no errors or warnings" # We do suppress some errors which are expected or other code # There are quite a few C++ items to take care of still if anybody cares @@ -78,6 +76,8 @@ CHECK="\ # If no directory or file name provided, scan the entire project. if test $# -eq 0 ; then + echo "See cppcheck.log when done" + echo "This takes a while to run" cppcheck --inline-suppr \ -I src \ -I include \ commit 24fb47cbe019c9e5af631479a9237bfa9bb5e670 Author: Michael Black W9MDB <mdb...@ya...> Date: Sun Sep 6 12:28:35 2020 -0500 Added IC-705 Added RIG_LEVEL_BRIGHT -- IC705 has this level Fixed range printout https://github.com/Hamlib/Hamlib/issues/364 diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index b382f9d1..57f9c32f 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -880,7 +880,7 @@ enum rig_level_e { RIG_LEVEL_NOTCHF_RAW = CONSTANT_64BIT_FLAG(36), /*!< \c NOTCHF_RAW -- Notch Freq., arg float [0.0 ... 1.0] */ RIG_LEVEL_MONITOR_GAIN = CONSTANT_64BIT_FLAG(37), /*!< \c MONITOR_GAIN -- Monitor gain (level for monitoring of transmitted audio), arg float [0.0 ... 1.0] */ RIG_LEVEL_NB = CONSTANT_64BIT_FLAG(38), /*!< \c NB -- Noise Blanker level, arg float [0.0 ... 1.0] */ - RIG_LEVEL_39 = CONSTANT_64BIT_FLAG(39), /*!< \c Future use */ + RIG_LEVEL_BRIGHT = CONSTANT_64BIT_FLAG(39), /*!< \c Display brightness */ RIG_LEVEL_40 = CONSTANT_64BIT_FLAG(40), /*!< \c Future use */ RIG_LEVEL_41 = CONSTANT_64BIT_FLAG(41), /*!< \c Future use */ RIG_LEVEL_42 = CONSTANT_64BIT_FLAG(42), /*!< \c Future use */ diff --git a/include/hamlib/riglist.h b/include/hamlib/riglist.h index 6f1e8327..186ad5bc 100644 --- a/include/hamlib/riglist.h +++ b/include/hamlib/riglist.h @@ -256,7 +256,8 @@ #define RIG_MODEL_ID4100 RIG_MAKE_MODEL(RIG_ICOM, 82) #define RIG_MODEL_ID31 RIG_MAKE_MODEL(RIG_ICOM, 83) #define RIG_MODEL_ID51 RIG_MAKE_MODEL(RIG_ICOM, 84) -/* next one is 85 */ +#define RIG_MODEL_IC705 RIG_MAKE_MODEL(RIG_ICOM, 85) +/* next one is 86 */ /* diff --git a/rigs/icom/ic7300.c b/rigs/icom/ic7300.c index 898e50e4..0707b948 100644 --- a/rigs/icom/ic7300.c +++ b/rigs/icom/ic7300.c @@ -66,6 +66,14 @@ struct cmdparams ic7300_extcmds[] = { {.s = RIG_PARM_NONE} } }; +struct cmdparams ic705_extcmds[] = +{ + { {.s = RIG_PARM_BEEP}, C_CTL_MEM, S_MEM_PARM, SC_MOD_RW, 2, {0x00, 0x29}, CMD_DAT_BOL, 1 }, + { {.s = RIG_LEVEL_VOXDELAY}, C_CTL_MEM, S_MEM_PARM, SC_MOD_RW, 2, {0x03, 0x59}, CMD_DAT_INT, 1 }, + { {.s = RIG_PARM_SCREENSAVER}, C_CTL_MEM, S_MEM_PARM, SC_MOD_RW, 2, {0x01, 0x38}, CMD_DAT_INT, 1 }, + { {.s = RIG_PARM_NONE} } +}; + /* * IC-7300 S-meter levels measured from live signals on multiple bands. Provides a good approximation. */ @@ -125,6 +133,14 @@ struct cmdparams ic7300_extcmds[] = } } +/* + * IC705 items that differ from IC7300 + */ +#define IC705_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR) +#define IC705_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|RIG_MODE_PKTAM|RIG_MODE_DSTAR) +#define IC705_OTHER_TX_MODES (RIG_MODE_FM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR) +#define IC705_LEVELS (RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_BRIGHT) + /* * IC9700 items that differ from IC7300 */ @@ -134,8 +150,8 @@ struct cmdparams ic7300_extcmds[] = #define IC9700_LEVELS (RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB) #define IC9700_VFO_OPS (RIG_OP_CPY|RIG_OP_XCHG|RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_MCL) #define IC9700_SCAN_OPS (RIG_SCAN_STOP|RIG_SCAN_MEM|RIG_SCAN_PROG|RIG_SCAN_SLCT) -#define IC9700_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD|RIG_MODE_DSTAR) -#define IC9700_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD|RIG_MODE_DSTAR) +#define IC9700_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD) +#define IC9700_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD) struct cmdparams ic9700_extcmds[] = { @@ -236,6 +252,23 @@ static const struct icom_priv_caps IC9700_priv_caps = .extcmds = ic9700_extcmds, /* Custom op parameters */ }; +static const struct icom_priv_caps IC705_priv_caps = +{ + 0xA4, /* default address */ + 0, /* 731 mode */ + 1, /* no XCHG to avoid display flickering */ + ic705_ts_sc_list, + .serial_USB_echo_check = 1, /* USB CI-V may not echo */ + .agc_levels_present = 1, + .agc_levels = { + { .level = RIG_AGC_FAST, .icom_level = 1 }, + { .level = RIG_AGC_MEDIUM, .icom_level = 2 }, + { .level = RIG_AGC_SLOW, .icom_level = 3 }, + { .level = -1, .icom_level = 0 }, + }, + .extcmds = ic705_extcmds, /* Custom op parameters */ +}; + const struct rig_caps ic7300_caps = { RIG_MODEL(RIG_MODEL_IC7300), @@ -288,31 +321,26 @@ const struct rig_caps ic7300_caps = .chan_list = { { 1, 99, RIG_MTYPE_MEM }, - { 100, 101, RIG_MTYPE_EDGE }, /* two by two */ RIG_CHAN_END, }, - .rx_range_list1 = { {kHz(30), MHz(74.8), IC7300_ALL_RX_MODES, -1, -1, IC7300_VFOS}, RIG_FRNG_END, }, + .rx_range_list1 = { + {kHz(30), MHz(199.999999), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS}, RIG_FRNG_END, + {MHz(400), MHz(470), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS}, RIG_FRNG_END + }, .tx_range_list1 = { - FRQ_RNG_HF(1, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1), - FRQ_RNG_60m(1, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1), - FRQ_RNG_6m(1, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1), - FRQ_RNG_4m(1, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1), - FRQ_RNG_HF(1, IC7300_AM_TX_MODES, W(1), W(25), IC7300_VFOS, RIG_ANT_1), /* AM class */ - FRQ_RNG_60m(1, IC7300_AM_TX_MODES, W(1), W(25), IC7300_VFOS, RIG_ANT_1), /* AM class */ - FRQ_RNG_6m(1, IC7300_AM_TX_MODES, W(1), W(25), IC7300_VFOS, RIG_ANT_1), /* AM class */ - FRQ_RNG_4m(1, IC7300_AM_TX_MODES, W(1), W(12.5), IC7300_VFOS, RIG_ANT_1), /* AM class */ - RIG_FRNG_END, - }, - - .rx_range_list2 = { {kHz(30), MHz(74.8), IC7300_ALL_RX_MODES, -1, -1, IC7300_VFOS}, RIG_FRNG_END, }, - .tx_range_list2 = { - FRQ_RNG_HF(2, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1), - FRQ_RNG_60m(2, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1), - FRQ_RNG_6m(2, IC7300_OTHER_TX_MODES, W(2), W(100), IC7300_VFOS, RIG_ANT_1), - FRQ_RNG_HF(2, IC7300_AM_TX_MODES, W(1), W(25), IC7300_VFOS, RIG_ANT_1), /* AM class */ - FRQ_RNG_60m(2, IC7300_AM_TX_MODES, W(1), W(25), IC7300_VFOS, RIG_ANT_1), /* AM class */ - FRQ_RNG_6m(2, IC7300_AM_TX_MODES, W(1), W(25), IC7300_VFOS, RIG_ANT_1), /* AM class */ + FRQ_RNG_HF(1, IC705_OTHER_TX_MODES, W(2), W(10), IC7300_VFOS, RIG_ANT_1), + FRQ_RNG_60m(1, IC705_OTHER_TX_MODES, W(2), W(10), IC7300_VFOS, RIG_ANT_1), + FRQ_RNG_6m(1, IC705_OTHER_TX_MODES, W(2), W(10), IC7300_VFOS, RIG_ANT_1), + FRQ_RNG_4m(1, IC705_OTHER_TX_MODES, W(2), W(10), IC7300_VFOS, RIG_ANT_1), + FRQ_RNG_2m(1, IC705_OTHER_TX_MODES, W(2), W(10), IC7300_VFOS, RIG_ANT_1), + FRQ_RNG_70cm(1, IC705_OTHER_TX_MODES, W(2), W(10), IC7300_VFOS, RIG_ANT_1), + FRQ_RNG_HF(1, IC7300_AM_TX_MODES, W(1), W(2.5), IC7300_VFOS, RIG_ANT_1), /* AM class */ + FRQ_RNG_60m(1, IC7300_AM_TX_MODES, W(1), W(2.5), IC7300_VFOS, RIG_ANT_1), /* AM class */ + FRQ_RNG_6m(1, IC7300_AM_TX_MODES, W(1), W(2.5), IC7300_VFOS, RIG_ANT_1), /* AM class */ + FRQ_RNG_4m(1, IC7300_AM_TX_MODES, W(1), W(2.5), IC7300_VFOS, RIG_ANT_1), /* AM class */ + FRQ_RNG_2m(1, IC7300_AM_TX_MODES, W(1), W(2.5), IC7300_VFOS, RIG_ANT_1), /* AM class */ + FRQ_RNG_70cm(1, IC7300_AM_TX_MODES, W(1), W(2.5), IC7300_VFOS, RIG_ANT_1), /* AM class */ RIG_FRNG_END, }, @@ -662,3 +690,207 @@ const struct rig_caps ic9700_caps = .send_morse = icom_send_morse, .send_voice_mem = icom_send_voice_mem }; + +const struct rig_caps ic705_caps = +{ + RIG_MODEL(RIG_MODEL_IC705), + .model_name = "IC-705", + .mfg_name = "Icom", + .version = BACKEND_VER ".0", + .copyright = "LGPL", + .status = RIG_STATUS_ALPHA, + .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 = 19200, + .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 = IC7300_FUNCS, + .has_set_func = IC7300_FUNCS, + .has_get_level = IC705_LEVELS, + .has_set_level = RIG_LEVEL_SET(IC705_LEVELS), + .has_get_parm = IC7300_PARMS, + .has_set_parm = RIG_PARM_SET(IC7300_PARMS), + .level_gran = { + [LVL_RAWSTR] = {.min = {.i = 0}, .max = {.i = 255}}, + [LVL_VOXDELAY] = {.min = {.i = 0}, .max = {.i = 20}, .step = {.i = 1}}, + [LVL_KEYSPD] = {.min = {.i = 6}, .max = {.i = 48}, .step = {.i = 1}}, + [LVL_CWPITCH] = {.min = {.i = 300}, .max = {.i = 900}, .step = {.i = 1}}, + }, + .parm_gran = {}, + .extlevels = NULL, + .ctcss_list = full_ctcss_list, + .dcs_list = NULL, + .preamp = { 1, 2, RIG_DBLST_END, }, + .attenuator = { 20, RIG_DBLST_END, }, + .max_rit = Hz(9999), + .max_xit = Hz(9999), + .max_ifshift = Hz(0), + .targetable_vfo = 0, + .vfo_ops = IC7300_VFO_OPS, + .scan_ops = IC7300_SCAN_OPS, + .transceive = RIG_TRN_RIG, + .bank_qty = 5, + .chan_desc_sz = 0, + + .chan_list = { + { 1, 99, RIG_MTYPE_MEM }, + RIG_CHAN_END, + }, + + .rx_range_list1 = { + {kHz(30), MHz(199.999999), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "USA"}, + {MHz(400), MHz(470), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "USA"}, + RIG_FRNG_END, + }, + .tx_range_list1 = { + { kHz(1800), MHz(1.999999),IC705_ALL_TX_MODES, W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(3.5), MHz(3.999999),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(5.255), MHz(5.405),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(7.0), MHz(7.3),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(10.1), MHz(10.15),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(14.0), MHz(14.35),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(18.068), MHz(18.168),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(21.00), MHz(21.45),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(24.89), MHz(24.99),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(28.00), MHz(29.70),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(50.00), MHz(54.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(144.00), MHz(148.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + { MHz(430.00), MHz(450.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "USA" }, + RIG_FRNG_END, + }, + + .rx_range_list2 = { + {kHz(30), MHz(199.999999), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "EUR"}, + {MHz(400), MHz(470), IC705_ALL_RX_MODES, -1, -1, IC7300_VFOS, RIG_ANT_1, "EUR"}, + RIG_FRNG_END, + }, + .tx_range_list2 = { + { kHz(1810), MHz(1.999999),IC705_ALL_TX_MODES, W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(3.5), MHz(3.8),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(7.0), MHz(7.2),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(10.1), MHz(10.15),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(14.0), MHz(14.35),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(18.068), MHz(18.168),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(21.00), MHz(21.45),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(24.89), MHz(24.99),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(28.00), MHz(29.70),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(50.00), MHz(52.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(144.00), MHz(146.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + { MHz(430.00), MHz(440.00),IC705_ALL_TX_MODES ,W(0.1) , W(10) , IC7300_VFOS, RIG_ANT_1, "EUR" }, + RIG_FRNG_END, + }, + + .tuning_steps = { + {IC7300_ALL_RX_MODES, Hz(100)}, + {IC7300_ALL_RX_MODES, kHz(.5)}, + {IC7300_ALL_RX_MODES, kHz(1)}, + {IC7300_ALL_RX_MODES, kHz(5)}, + {IC7300_ALL_RX_MODES, kHz(6.25)}, + {IC7300_ALL_RX_MODES, kHz(8.33)}, + {IC7300_ALL_RX_MODES, kHz(9)}, + {IC7300_ALL_RX_MODES, kHz(10)}, + {IC7300_ALL_RX_MODES, kHz(12.5)}, + {IC7300_ALL_RX_MODES, kHz(20)}, + {IC7300_ALL_RX_MODES, kHz(25)}, + {IC7300_ALL_RX_MODES, kHz(50)}, + {IC7300_ALL_RX_MODES, kHz(100)}, + RIG_TS_END, + }, + + /* mode/filter list, remember: order matters! But duplication may speed up search. Put the most commonly used modes first! Remember these are defaults, with dsp rigs you can change them to anything you want except FM and WFM which are fixed */ + .filters = { + {RIG_MODE_SSB | RIG_MODE_PKTLSB | RIG_MODE_PKTUSB, kHz(3.6)}, + {RIG_MODE_SSB | RIG_MODE_PKTLSB | RIG_MODE_PKTUSB, kHz(2.4)}, + {RIG_MODE_SSB | RIG_MODE_PKTLSB | RIG_MODE_PKTUSB, kHz(1.8)}, + {RIG_MODE_CW | RIG_MODE_CWR | RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(500)}, + {RIG_MODE_CW | RIG_MODE_CWR | RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(250)}, + {RIG_MODE_CW | RIG_MODE_CWR, kHz(1.2)}, + {RIG_MODE_RTTY | RIG_MODE_RTTYR, kHz(2.4)}, + {RIG_MODE_AM | RIG_MODE_PKTAM, kHz(6)}, + {RIG_MODE_AM | RIG_MODE_PKTAM, kHz(3)}, + {RIG_MODE_AM | RIG_MODE_PKTAM, kHz(9)}, + {RIG_MODE_FM | RIG_MODE_PKTFM, kHz(10)}, + {RIG_MODE_FM | RIG_MODE_PKTFM, kHz(7)}, + {RIG_MODE_FM | RIG_MODE_PKTFM, kHz(15)}, + RIG_FLT_END, + }, + + .str_cal = IC7300_STR_CAL, + .swr_cal = IC7300_SWR_CAL, + .alc_cal = IC7300_ALC_CAL, + .rfpower_meter_cal = IC7300_RFPOWER_METER_CAL, + .comp_meter_cal = IC7300_COMP_METER_CAL, + .vd_meter_cal = IC7300_VD_METER_CAL, + .id_meter_cal = IC7300_ID_METER_CAL, + + .cfgparams = icom_cfg_params, + .set_conf = icom_set_conf, + .get_conf = icom_get_conf, + + .priv = (void *)& IC705_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_with_data, + .get_mode = icom_get_mode_with_data, +//.get_vfo = icom_get_vfo, + .set_vfo = icom_set_vfo, + .set_ant = NULL, + .get_ant = NULL, + + .set_rit = icom_set_rit_new, + .get_rit = icom_get_rit_new, + .get_xit = icom_get_rit_new, + .set_xit = icom_set_xit_new, + + .decode_event = icom_decode_event, + .set_level = icom_set_level, + .get_level = icom_get_level, + .set_ext_level = icom_set_ext_level, + .get_ext_level = icom_get_ext_level, + .set_func = icom_set_func, + .get_func = icom_get_func, + .set_parm = icom_set_parm, + .get_parm = icom_get_parm, + .set_mem = icom_set_mem, + .vfo_op = icom_vfo_op, + .scan = icom_scan, + .set_ptt = icom_set_ptt, + .get_ptt = icom_get_ptt, + .get_dcd = icom_get_dcd, + .set_ts = icom_set_ts, + .get_ts = icom_get_ts, + .set_rptr_shift = icom_set_rptr_shift, + .get_rptr_shift = icom_get_rptr_shift, + .set_rptr_offs = icom_set_rptr_offs, + .get_rptr_offs = icom_get_rptr_offs, + .set_ctcss_tone = icom_set_ctcss_tone, + .get_ctcss_tone = icom_get_ctcss_tone, + .set_ctcss_sql = icom_set_ctcss_sql, + .get_ctcss_sql = icom_get_ctcss_sql, + .set_split_freq = icom_set_split_freq, + .get_split_freq = icom_get_split_freq, + .set_split_mode = icom_set_split_mode, + .get_split_mode = icom_get_split_mode, + .set_split_vfo = icom_set_split_vfo, + .get_split_vfo = icom_get_split_vfo, + .set_powerstat = icom_set_powerstat, + .get_powerstat = icom_get_powerstat, + .power2mW = icom_power2mW, + .mW2power = icom_mW2power, + .send_morse = icom_send_morse, + .send_voice_mem = icom_send_voice_mem +}; diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 446e3924..24a6cd32 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -353,6 +353,26 @@ const struct ts_sc_list r8600_ts_sc_list[] = {0, 0}, }; +const struct ts_sc_list ic705_ts_sc_list[] = +{ + {10, 0x00}, + {100, 0x01}, + {500, 0x02}, + {kHz(1), 0x03}, + {kHz(5), 0x04}, + {kHz(6.25), 0x05}, + {kHz(8.33), 0x06}, + {kHz(9), 0x07}, + {kHz(10), 0x08}, + {kHz(12.5), 0x09}, + {kHz(20), 0x10}, + {kHz(25), 0x11}, + {kHz(50), 0x12}, + {kHz(100), 0x13}, + {0, 0x13}, /* programmable tuning step not supported */ + {0, 0}, +}; + /* rtty filter list for some DSP rigs ie PRO */ @@ -2633,6 +2653,11 @@ int icom_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) lvl_sc = S_LVL_MON; break; + case RIG_LEVEL_BRIGHT: + lvl_cn = C_CTL_LVL; + lvl_sc = S_LVL_BRIGHT; + break; + default: rig_debug(RIG_DEBUG_ERR, "%s: unsupported set_level %s", __func__, rig_strlevel(level)); @@ -7409,6 +7434,7 @@ DECLARE_INITRIG_BACKEND(icom) rig_debug(RIG_DEBUG_VERBOSE, "%s: _init called\n", __func__); rig_register(&ic703_caps); + rig_register(&ic705_caps); rig_register(&ic706_caps); rig_register(&ic706mkii_caps); rig_register(&ic706mkiig_caps); diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 47a12f86..b5959882 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -31,7 +31,7 @@ #include <sys/time.h> #endif -#define BACKEND_VER "20200720" +#define BACKEND_VER "20200906" /* * defines used by comp_cal_str in rig.c @@ -202,6 +202,7 @@ extern const struct ts_sc_list r9000_ts_sc_list[]; extern const struct ts_sc_list r9500_ts_sc_list[]; extern const struct ts_sc_list ic756_ts_sc_list[]; extern const struct ts_sc_list ic756pro_ts_sc_list[]; +extern const struct ts_sc_list ic705_ts_sc_list[]; extern const struct ts_sc_list ic706_ts_sc_list[]; extern const struct ts_sc_list ic7000_ts_sc_list[]; extern const struct ts_sc_list ic7100_ts_sc_list[]; @@ -322,6 +323,7 @@ extern const struct confparams icom_ext_parms[]; extern const struct cmdparams icom_ext_cmds[]; extern const struct rig_caps ic703_caps; +extern const struct rig_caps ic705_caps; extern const struct rig_caps ic706_caps; extern const struct rig_caps ic706mkii_caps; extern const struct rig_caps ic706mkiig_caps; diff --git a/src/idx_builtin.h b/src/idx_builtin.h index e95a0b5c..d52b2779 100644 --- a/src/idx_builtin.h +++ b/src/idx_builtin.h @@ -150,7 +150,8 @@ #define LVL_NB setting2idx_builtin(RIG_LEVEL_NB) -#define LVL_39 setting2idx_builtin(RIG_LEVEL_41) +#define LVL_BRIGHT setting2idx_builtin(RIG_LEVEL_BRIGHT) + #define LVL_40 setting2idx_builtin(RIG_LEVEL_40) #define LVL_41 setting2idx_builtin(RIG_LEVEL_41) #define LVL_42 setting2idx_builtin(RIG_LEVEL_42) diff --git a/src/misc.c b/src/misc.c index a8c81175..56c3656a 100644 --- a/src/misc.c +++ b/src/misc.c @@ -683,6 +683,7 @@ static struct { RIG_LEVEL_NOTCHF_RAW, "NOTCHF_RAW" }, { RIG_LEVEL_MONITOR_GAIN, "MONITOR_GAIN" }, { RIG_LEVEL_NB, "NB" }, + { RIG_LEVEL_BRIGHT, "BRIGHT" }, { RIG_LEVEL_NONE, "" }, }; diff --git a/tests/dumpcaps.c b/tests/dumpcaps.c index abe597af..b0a5ca36 100644 --- a/tests/dumpcaps.c +++ b/tests/dumpcaps.c @@ -486,7 +486,7 @@ int dumpcaps(RIG *rig, FILE *fout) status = range_sanity_check(caps->tx_range_list1, 0); fprintf(fout, - "TX ranges #1 status for:%s \t%s (%d)\n", label1, + "TX ranges #1 status for %s:\t%s (%d)\n", label1, status ? "Bad" : "OK", status); diff --git a/tests/dumpmem.c b/tests/dumpmem.c index 9f965b53..97cf6edc 100644 --- a/tests/dumpmem.c +++ b/tests/dumpmem.c @@ -397,5 +397,10 @@ int dump_chan(RIG *rig, int chan_num) printf("BKINDL: %d\n", chan.levels[rig_setting2idx(RIG_LEVEL_BKINDL)].i); } + if (rig_has_set_level(rig, RIG_LEVEL_BRIGHT)) + { + printf("BRIGHT: %d\n", chan.levels[rig_setting2idx(RIG_LEVEL_BRIGHT)].i); + } + return 0; } ----------------------------------------------------------------------- Summary of changes: cppcheck.sh | 6 +- include/hamlib/rig.h | 2 +- include/hamlib/riglist.h | 3 +- rigs/icom/ic7300.c | 278 +++++++++++++++++++++++++++++++++++++++++++---- rigs/icom/icom.c | 26 +++++ rigs/icom/icom.h | 4 +- src/idx_builtin.h | 3 +- src/misc.c | 1 + tests/dumpcaps.c | 2 +- tests/dumpmem.c | 5 + 10 files changed, 299 insertions(+), 31 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |