diff --git a/icom/ic7300.c b/icom/ic7300.c index cc913ee40..678ae0061 100644 --- a/icom/ic7300.c +++ b/icom/ic7300.c @@ -39,11 +39,11 @@ #include "tones.h" /* AM Data mode needs adding - this would require one more mode 'RIG_MODE_PKTAM' to rig.h */ -#define IC7300_ALL_RX_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB) +#define IC7300_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) #define IC7300_1HZ_TS_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB) #define IC7300_NOT_TS_MODES (IC7300_ALL_RX_MODES &~IC7300_1HZ_TS_MODES) -#define IC7300_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR) +#define IC7300_OTHER_TX_MODES (RIG_MODE_FM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR) #define IC7300_AM_TX_MODES (RIG_MODE_AM) #define IC7300_FUNCS (RIG_FUNC_FAGC|RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_SBKIN|RIG_FUNC_FBKIN|RIG_FUNC_NR|RIG_FUNC_MON|RIG_FUNC_MN|RIG_FUNC_ANF|RIG_FUNC_LOCK|RIG_FUNC_RIT|RIG_FUNC_XIT|RIG_FUNC_SCOPE) @@ -61,14 +61,16 @@ #define IC7300_ANTS (RIG_ANT_1) /* ant-1 is Hf-6m */ - /* - * FIXME: This is a guess real measures please! + * IC-7300 S-meter levels measured from live signals on multiple bands. Provides a good approximation. */ -#define IC7300_STR_CAL { 3, \ +#define IC7300_STR_CAL { 7, \ { \ { 0, -54 }, \ - { 10, -24 }, \ + { 10, -48 }, \ + { 30, -36 }, \ + { 60, -24 }, \ + { 90, -12 }, \ { 120, 0 }, \ { 241, 64 } \ } } @@ -157,19 +159,25 @@ const struct rig_caps ic7300_caps = { RIG_CHAN_END, }, -.rx_range_list1 = { {kHz(30),MHz(60),IC7300_ALL_RX_MODES,-1,-1,IC7300_VFOS}, RIG_FRNG_END, }, +.rx_range_list1 = { {kHz(30),MHz(74.8),IC7300_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(40),IC7300_VFOS,RIG_ANT_1), /* AM class */ + FRQ_RNG_60m(1,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */ FRQ_RNG_6m(1,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */ + FRQ_RNG_4m(1,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */ RIG_FRNG_END, }, -.rx_range_list2 = { {kHz(30),MHz(60),IC7300_ALL_RX_MODES,-1,-1,IC7300_VFOS}, RIG_FRNG_END, }, -.tx_range_list2 = { /* needs the 5 mhz channels added */ +.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(40),IC7300_VFOS,RIG_ANT_1), /* AM class */ + FRQ_RNG_60m(2,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */ FRQ_RNG_6m(2,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */ RIG_FRNG_END, }, @@ -197,6 +205,9 @@ const struct rig_caps ic7300_caps = { {RIG_MODE_AM, kHz(6)}, {RIG_MODE_AM, kHz(3)}, {RIG_MODE_AM, kHz(9)}, + {RIG_MODE_FM, kHz(15)}, + {RIG_MODE_FM, kHz(10)}, + {RIG_MODE_FM, kHz(7)}, RIG_FLT_END, }, diff --git a/include/bandplan.h b/include/bandplan.h index 86122d05f..2dd9f31b2 100644 --- a/include/bandplan.h +++ b/include/bandplan.h @@ -56,6 +56,9 @@ #define FRQ_RNG_80m_REGION1(md,lp,hp,v,a) \ { kHz(3500),kHz(3800), (md), (lp), (hp), (v), (a) } +#define FRQ_RNG_60m_REGION1(md,lp,hp,v,a) \ + { MHz(5351.5),kHz(5366.5), (md), (lp), (hp), (v), (a) } + #define FRQ_RNG_40m_REGION1(md,lp,hp,v,a) \ { MHz(7),kHz(7100), (md), (lp), (hp), (v), (a) } @@ -81,6 +84,9 @@ #define FRQ_RNG_6m_REGION1(md,lp,hp,v,a) \ { kHz(50200),kHz(51200), (md), (lp), (hp), (v), (a) } +#define FRQ_RNG_4m_REGION1(md,lp,hp,v,a) \ + { MHz(70),MHz(70.5), (md), (lp), (hp), (v), (a) } + #define FRQ_RNG_2m_REGION1(md,lp,hp,v,a) \ { MHz(144),MHz(146), (md), (lp), (hp), (v), (a) } @@ -107,6 +113,9 @@ #define FRQ_RNG_80m_REGION2(md,lp,hp,v,a) \ { kHz(3500),MHz(4), (md), (lp), (hp), (v), (a) } +#define FRQ_RNG_60m_REGION2(md,lp,hp,v,a) \ + { MHz(5351.5),kHz(5366.5), (md), (lp), (hp), (v), (a) } + #define FRQ_RNG_40m_REGION2(md,lp,hp,v,a) \ { MHz(7),kHz(7300), (md), (lp), (hp), (v), (a) } @@ -157,6 +166,9 @@ #define FRQ_RNG_80m_REGION3(md,lp,hp,v,a) \ { kHz(3500),kHz(3900), (md), (lp), (hp), (v), (a) } +#define FRQ_RNG_60m_REGION3(md,lp,hp,v,a) \ + { MHz(5351.5),kHz(5366.5), (md), (lp), (hp), (v), (a) } + #define FRQ_RNG_40m_REGION3(md,lp,hp,v,a) \ { MHz(7),kHz(7100), (md), (lp), (hp), (v), (a) } @@ -214,10 +226,16 @@ FRQ_RNG_15m_REGION##r((m), (lp), (hp), (v), (a)), \ FRQ_RNG_12m_REGION##r((m), (lp), (hp), (v), (a)), \ FRQ_RNG_10m_REGION##r((m), (lp), (hp), (v), (a)) \ - + +#define FRQ_RNG_60m(r,m,lp,hp,v,a) \ + FRQ_RNG_60m_REGION##r((m), (lp), (hp), (v), (a)) \ + #define FRQ_RNG_6m(r,m,lp,hp,v,a) \ FRQ_RNG_6m_REGION##r((m), (lp), (hp), (v), (a)) \ +#define FRQ_RNG_4m(r,m,lp,hp,v,a) \ + FRQ_RNG_4m_REGION##r((m), (lp), (hp), (v), (a)) \ + #define FRQ_RNG_2m(r,m,lp,hp,v,a) \ FRQ_RNG_2m_REGION##r((m), (lp), (hp), (v), (a)) \