Tuning FT-2000 filter code

pull/457/head
Mikael Nousiainen 2020-12-05 23:43:07 +02:00
rodzic e2ca90841c
commit 27eaa1b1f7
3 zmienionych plików z 51 dodań i 15 usunięć

Wyświetl plik

@ -184,15 +184,22 @@ const struct rig_caps ft2000_caps =
/* mode/filter list, .remember = order matters! */
.filters = {
{FT2000_CW_RTTY_PKT_RX_MODES, Hz(500)}, /* Normal CW, RTTY, PKT/USER */
{FT2000_CW_RTTY_PKT_RX_MODES, Hz(100)}, /* Narrow CW, RTTY, PKT/USER */
{FT2000_CW_RTTY_PKT_RX_MODES, Hz(2400)}, /* Wide CW, RTTY, PKT/USER */
{RIG_MODE_CW|RIG_MODE_CWR, Hz(500)}, /* Normal CW, RTTY, PKT/USER */
{RIG_MODE_CW|RIG_MODE_CWR, Hz(200)}, /* Narrow CW, RTTY, PKT/USER */
{RIG_MODE_CW|RIG_MODE_CWR, Hz(2400)}, /* Wide CW, RTTY, PKT/USER */
{RIG_MODE_RTTY|RIG_MODE_RTTYR, Hz(500)}, /* Normal RTTY */
{RIG_MODE_RTTY|RIG_MODE_RTTYR, Hz(300)}, /* Narrow RTTY */
{RIG_MODE_RTTY|RIG_MODE_RTTYR, Hz(2400)}, /* Wide RTTY */
{RIG_MODE_SSB, Hz(2400)}, /* Normal SSB */
{RIG_MODE_SSB, Hz(1800)}, /* Narrow SSB */
{RIG_MODE_SSB, Hz(3000)}, /* Wide SSB */
{RIG_MODE_SSB, Hz(4000)}, /* Wide SSB */
{RIG_MODE_AM, Hz(9000)}, /* Normal AM */
{RIG_MODE_AM, Hz(6000)}, /* Narrow AM */
{FT2000_PKTSSB_RX_MODES, Hz(2400)}, /* Normal PKTSSB */
{FT2000_PKTSSB_RX_MODES, Hz(1800)}, /* Narrow PKTSSB */
{FT2000_PKTSSB_RX_MODES, Hz(3000)}, /* Wide PKTSSB */
{FT2000_PKTSSB_RX_MODES, Hz(4000)}, /* Wide PKTSSB */
{FT2000_AM_RX_MODES, Hz(9000)}, /* Normal AM */
{FT2000_AM_RX_MODES, Hz(6000)}, /* Narrow AM */
{FT2000_FM_RX_MODES, Hz(16000)}, /* Normal FM */
{FT2000_FM_RX_MODES, Hz(9000)}, /* Narrow FM */

Wyświetl plik

@ -39,13 +39,12 @@
#define FT2000_SSB_CW_RX_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|\
RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB)
#define FT2000_AM_RX_MODES (RIG_MODE_AM|RIG_MODE_AMN)
#define FT2000_FM_RX_MODES (RIG_MODE_FM|RIG_MODE_PKTFM)
#define FT2000_CW_RTTY_PKT_RX_MODES (RIG_MODE_RTTY|RIG_MODE_RTTYR|\
RIG_MODE_PKTUSB|RIG_MODE_PKTLSB|RIG_MODE_CW|RIG_MODE_CWR)
#define FT2000_FM_RX_MODES (RIG_MODE_FM|RIG_MODE_FMN|RIG_MODE_PKTFM)
#define FT2000_PKTSSB_RX_MODES (RIG_MODE_PKTLSB|RIG_MODE_PKTUSB)
/* TRX caps */
#define FT2000_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_RTTY| \
#define FT2000_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY| \
RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|\
RIG_MODE_FM|RIG_MODE_FMN) /* 100 W class */
#define FT2000_AM_TX_MODES (RIG_MODE_AM|RIG_MODE_AMN) /* set 25W max */

Wyświetl plik

@ -7220,15 +7220,27 @@ int newcat_set_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
// We need details on the widths here, manuals lack information.
switch (mode)
{
case RIG_MODE_RTTY:
case RIG_MODE_RTTYR:
case RIG_MODE_CW:
case RIG_MODE_CWR:
// Narrow mode overrides DSP filter width on FT-2000
newcat_set_narrow(rig, vfo, FALSE);
// CW bandwidth is 2400 Hz at value 16
if (width == RIG_PASSBAND_NORMAL) { w = 16; }
else if (width <= 100) { w = 4; }
else if (width <= 200) { w = 4; }
else if (width <= 500) { w = 6; }
else if (width <= 2400) { w = 16; }
else { w = 31; } // No effect?
break;
case RIG_MODE_RTTY:
case RIG_MODE_RTTYR:
// Narrow mode overrides DSP filter width on FT-2000
newcat_set_narrow(rig, vfo, FALSE);
if (width == RIG_PASSBAND_NORMAL) { w = 16; }
else if (width <= 300) { w = 8; }
else if (width <= 500) { w = 16; }
else { w = 31; } // 2400
@ -8463,13 +8475,31 @@ int newcat_get_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t *width)
{
switch (mode)
{
case RIG_MODE_RTTY:
case RIG_MODE_RTTYR:
case RIG_MODE_CW:
case RIG_MODE_CWR:
if (w <= 4)
{
*width = 100;
*width = 200;
}
else if (w <= 6)
{
*width = 500;
}
else if (w <= 16)
{
*width = 2400;
}
else
{
*width = 2400;
}
break;
case RIG_MODE_RTTY:
case RIG_MODE_RTTYR:
if (w <= 8)
{
*width = 300;
}
else if (w <= 16)
{