Add 60m band for all 3 IARU regions and 4m band for region 1. IC-7300 fixes: create a more accurate S-meter calibration table, add missing FM mode and add 60m and 4m bands to transmit ranges.

pull/1/head
Mikael Nousiainen 2017-12-25 21:38:40 +02:00
rodzic 194c31c327
commit 8020682f37
2 zmienionych plików z 39 dodań i 10 usunięć

Wyświetl plik

@ -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 { 4, \
#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,
},

Wyświetl plik

@ -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)) \