Add RX filter choices for FTDX 5000 and FTDX 3000. Go through the rest of the filter definitions and try to unify and fix any bugs. Add roofing filter support for FT-950 and FT-2000.

pull/435/head
Mikael Nousiainen 2020-11-06 10:35:21 +02:00
rodzic 0f194c3729
commit 526fb21852
10 zmienionych plików z 898 dodań i 331 usunięć

Wyświetl plik

@ -495,7 +495,7 @@ typedef unsigned int vfo_t;
* \brief Macro for bandpass to be set to normal
* \def RIG_PASSBAND_NORMAL
*/
#define RIG_PASSBAND_NORMAL s_Hz(0) // was 0 but collided with Yasue SH00; capability
#define RIG_PASSBAND_NORMAL s_Hz(0) // was 0 but collided with Yaesu SH00; capability
/**
* \brief Macro for bandpass to be left alone

Wyświetl plik

@ -174,12 +174,11 @@ const struct rig_caps ftdx1200_caps =
{FTDX1200_FM_RX_MODES, kHz(1)}, /* Fast */
RIG_TS_END,
},
/* mode/filter list, .remember = order matters! */
.filters = {
{FTDX1200_CW_RTTY_PKT_RX_MODES, Hz(2400)}, /* Normal CW, RTTY, PKT/USER */
{FTDX1200_CW_RTTY_PKT_RX_MODES, Hz(1800)}, /* Normal CW, RTTY, PKT/USER */
{FTDX1200_CW_RTTY_PKT_RX_MODES, Hz(500)}, /* Narrow CW, RTTY, PKT/USER */
{FTDX1200_CW_RTTY_PKT_RX_MODES, Hz(2400)}, /* Wide CW, RTTY, PKT/USER */
{RIG_MODE_SSB, Hz(2400)}, /* Normal SSB */
@ -187,8 +186,10 @@ const struct rig_caps ftdx1200_caps =
{RIG_MODE_SSB, Hz(4000)}, /* Wide SSB */
{RIG_MODE_AM, Hz(9000)}, /* Normal AM */
{RIG_MODE_AM, Hz(6000)}, /* Narrow AM */
{FTDX1200_FM_RX_MODES, Hz(12000)}, /* Normal FM */
{FTDX1200_FM_RX_MODES, Hz(8000)}, /* Narrow FM */
{FTDX1200_FM_WIDE_RX_MODES, Hz(16000)}, /* Normal FM */
{FTDX1200_FM_WIDE_RX_MODES, Hz(9000)}, /* Narrow FM */
{RIG_MODE_FMN, Hz(9000)}, /* Narrow FM */
{FTDX1200_CW_RTTY_PKT_RX_MODES | RIG_MODE_SSB, RIG_FLT_ANY},
RIG_FLT_END,
},

Wyświetl plik

@ -34,12 +34,13 @@
/* Receiver caps */
#define FTDX1200_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|RIG_MODE_PKTFM|RIG_MODE_FM)
RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|RIG_MODE_FM|RIG_MODE_FMN)
#define FTDX1200_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 FTDX1200_AM_RX_MODES (RIG_MODE_AM)
#define FTDX1200_FM_RX_MODES (RIG_MODE_FM|RIG_MODE_PKTFM)
#define FTDX1200_FM_WIDE_RX_MODES (RIG_MODE_FM|RIG_MODE_PKTFM)
#define FTDX1200_FM_RX_MODES (FTDX1200_FM_WIDE_RX_MODES|RIG_MODE_FMN)
#define FTDX1200_CW_RTTY_PKT_RX_MODES (RIG_MODE_RTTY|RIG_MODE_RTTYR|\
RIG_MODE_PKTUSB|RIG_MODE_PKTLSB|RIG_MODE_CW|RIG_MODE_CWR)

Wyświetl plik

@ -40,12 +40,49 @@
#include "idx_builtin.h"
#include "tones.h"
/*
* ft2000 rigs capabilities.
* Also this struct is READONLY!
*
*/
const struct newcat_priv_caps ft2000_priv_caps =
{
.roofing_filter_count = 7,
.roofing_filters =
{
// The index must match ext level combo index
{ .index = 0, .set_value = '0', .get_value = 0, .width = 15000, .optional = 0 },
{ .index = 1, .set_value = '1', .get_value = '1', .width = 15000, .optional = 0 },
{ .index = 2, .set_value = '2', .get_value = '2', .width = 6000, .optional = 0 },
{ .index = 3, .set_value = '3', .get_value = '3', .width = 3000, .optional = 0 },
{ .index = 4, .set_value = 0, .get_value = '4', .width = 15000, .optional = 0 },
{ .index = 5, .set_value = 0, .get_value = '5', .width = 6000, .optional = 0 },
{ .index = 6, .set_value = 0, .get_value = '6', .width = 3000, .optional = 0 },
}
};
const struct confparams ft2000_ext_levels[] =
{
{
TOK_ROOFING_FILTER,
"ROOFINGFILTER",
"Roofing filter",
"Roofing filter",
NULL,
RIG_CONF_COMBO,
{ .c = { .combostr = {
"AUTO", "15 kHz", "6 kHz", "3 kHz",
"AUTO - 15 kHz", "AUTO - 6 kHz", "AUTO - 3 kHz",
NULL }
} }
},
{ RIG_CONF_END, NULL, }
};
int ft2000_ext_tokens[] =
{
TOK_ROOFING_FILTER, TOK_BACKEND_NONE
};
/*
* FT-2000 rig capabilities
*/
const struct rig_caps ft2000_caps =
{
RIG_MODEL(RIG_MODEL_FT2000),
@ -140,7 +177,6 @@ const struct rig_caps ft2000_caps =
{FT2000_FM_RX_MODES, kHz(1)}, /* Fast */
RIG_TS_END,
},
/* mode/filter list, .remember = order matters! */
@ -159,7 +195,10 @@ const struct rig_caps ft2000_caps =
RIG_FLT_END,
},
.priv = NULL,
.ext_tokens = ft2000_ext_tokens,
.extlevels = ft2000_ext_levels,
.priv = &ft2000_priv_caps,
.rig_init = newcat_init,
.rig_cleanup = newcat_cleanup,
@ -209,5 +248,7 @@ const struct rig_caps ft2000_caps =
.get_trn = newcat_get_trn,
.set_channel = newcat_set_channel,
.get_channel = newcat_get_channel,
.set_ext_level = newcat_set_ext_level,
.get_ext_level = newcat_get_ext_level,
};

Wyświetl plik

@ -178,7 +178,6 @@ const struct rig_caps ftdx3000_caps =
{FTDX5000_FM_RX_MODES, kHz(1)}, /* Fast */
RIG_TS_END,
},
/* mode/filter list, .remember = order matters! */
@ -188,11 +187,13 @@ const struct rig_caps ftdx3000_caps =
{FTDX5000_CW_RTTY_PKT_RX_MODES, Hz(2400)}, /* Wide CW, RTTY, PKT/USER */
{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 */
{FTDX5000_FM_RX_MODES, Hz(15000)}, /* Normal FM */
{FTDX5000_FM_RX_MODES, Hz(8000)}, /* Narrow FM */
{FTDX5000_FM_WIDE_RX_MODES, Hz(16000)}, /* Normal FM */
{FTDX5000_FM_WIDE_RX_MODES, Hz(9000)}, /* Narrow FM */
{RIG_MODE_FMN, Hz(9000)}, /* Narrow FM */
{FTDX5000_CW_RTTY_PKT_RX_MODES | RIG_MODE_SSB, RIG_FLT_ANY},
RIG_FLT_END,
},

Wyświetl plik

@ -173,7 +173,6 @@ const struct rig_caps ftdx5000_caps =
{FTDX5000_FM_RX_MODES, kHz(1)}, /* Fast */
RIG_TS_END,
},
/* mode/filter list, .remember = order matters! */
@ -183,11 +182,13 @@ const struct rig_caps ftdx5000_caps =
{FTDX5000_CW_RTTY_PKT_RX_MODES, Hz(2400)}, /* Wide CW, RTTY, PKT/USER */
{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 */
{FTDX5000_FM_RX_MODES, Hz(15000)}, /* Normal FM */
{FTDX5000_FM_RX_MODES, Hz(8000)}, /* Narrow FM */
{FTDX5000_FM_WIDE_RX_MODES, Hz(16000)}, /* Normal FM */
{FTDX5000_FM_WIDE_RX_MODES, Hz(9000)}, /* Narrow FM */
{RIG_MODE_FMN, Hz(9000)}, /* Narrow FM */
{FTDX5000_CW_RTTY_PKT_RX_MODES | RIG_MODE_SSB, RIG_FLT_ANY},
RIG_FLT_END,
},

Wyświetl plik

@ -39,7 +39,8 @@
#define FTDX5000_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 FTDX5000_AM_RX_MODES (RIG_MODE_AM)
#define FTDX5000_FM_RX_MODES (RIG_MODE_FM|RIG_MODE_PKTFM|RIG_MODE_FMN)
#define FTDX5000_FM_WIDE_RX_MODES (RIG_MODE_FM|RIG_MODE_PKTFM)
#define FTDX5000_FM_RX_MODES (FTDX5000_FM_WIDE_RX_MODES|RIG_MODE_FMN)
#define FTDX5000_CW_RTTY_PKT_RX_MODES (RIG_MODE_RTTY|RIG_MODE_RTTYR|\
RIG_MODE_PKTUSB|RIG_MODE_PKTLSB|RIG_MODE_CW|RIG_MODE_CWR)

Wyświetl plik

@ -25,7 +25,6 @@
*
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@ -39,12 +38,48 @@
#include "ft950.h"
#include "idx_builtin.h"
/*
* ft950 rigs capabilities.
* Also this struct is READONLY!
*
*/
const struct newcat_priv_caps ft950_priv_caps =
{
.roofing_filter_count = 7,
.roofing_filters =
{
// The index must match ext level combo index
{ .index = 0, .set_value = '0', .get_value = 0, .width = 15000, .optional = 0 },
{ .index = 1, .set_value = '1', .get_value = '1', .width = 15000, .optional = 0 },
{ .index = 2, .set_value = '2', .get_value = '2', .width = 6000, .optional = 0 },
{ .index = 3, .set_value = '3', .get_value = '3', .width = 3000, .optional = 0 },
{ .index = 4, .set_value = 0, .get_value = '4', .width = 15000, .optional = 0 },
{ .index = 5, .set_value = 0, .get_value = '5', .width = 6000, .optional = 0 },
{ .index = 6, .set_value = 0, .get_value = '6', .width = 3000, .optional = 0 },
}
};
const struct confparams ft950_ext_levels[] =
{
{
TOK_ROOFING_FILTER,
"ROOFINGFILTER",
"Roofing filter",
"Roofing filter",
NULL,
RIG_CONF_COMBO,
{ .c = { .combostr = {
"AUTO", "15 kHz", "6 kHz", "3 kHz",
"AUTO - 15 kHz", "AUTO - 6 kHz", "AUTO - 3 kHz",
NULL }
} }
},
{ RIG_CONF_END, NULL, }
};
int ft950_ext_tokens[] =
{
TOK_ROOFING_FILTER, TOK_BACKEND_NONE
};
/*
* FT-950 rig capabilities
*/
const struct rig_caps ft950_caps =
{
RIG_MODEL(RIG_MODEL_FT950),
@ -142,7 +177,6 @@ const struct rig_caps ft950_caps =
{FT950_FM_RX_MODES, kHz(1)}, /* Fast */
RIG_TS_END,
},
/* mode/filter list, .remember = order matters! */
@ -179,22 +213,25 @@ const struct rig_caps ft950_caps =
{RIG_MODE_SSB, Hz(200)}, /* SSB */
{RIG_MODE_AM, Hz(9000)}, /* Normal AM */
{RIG_MODE_AM, Hz(6000)}, /* Narrow AM */
{FT950_FM_RX_MODES, Hz(16000)}, /* Normal FM */
{FT950_FM_RX_MODES, Hz(9000)}, /* Narrow FM */
{FT950_FM_WIDE_RX_MODES, Hz(16000)}, /* Normal FM */
{FT950_FM_WIDE_RX_MODES, Hz(9000)}, /* Narrow FM */
{RIG_MODE_FMN, Hz(9000)}, /* Narrow FM */
{FT950_CW_RTTY_PKT_RX_MODES | RIG_MODE_SSB, RIG_FLT_ANY},
RIG_FLT_END,
},
.ext_tokens = ft950_ext_tokens,
.extlevels = ft950_ext_levels,
.priv = NULL, /* private data FIXME: */
.priv = &ft950_priv_caps,
.rig_init = newcat_init,
.rig_cleanup = newcat_cleanup,
.rig_open = newcat_open, /* port opened */
.rig_close = newcat_close, /* port closed */
.cfgparams = newcat_cfg_params,
.cfgparams = newcat_cfg_params,
.set_conf = newcat_set_conf,
.get_conf = newcat_get_conf,
.set_freq = newcat_set_freq,
@ -237,5 +274,7 @@ const struct rig_caps ft950_caps =
.get_trn = newcat_get_trn,
.set_channel = newcat_set_channel,
.get_channel = newcat_get_channel,
.set_ext_level = newcat_set_ext_level,
.get_ext_level = newcat_get_ext_level,
};

Wyświetl plik

@ -38,19 +38,20 @@
/* Receiver caps */
#define FT950_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|RIG_MODE_PKTFM)
RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|RIG_MODE_FMN)
#define FT950_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 FT950_AM_RX_MODES (RIG_MODE_AM)
#define FT950_FM_RX_MODES (RIG_MODE_FM|RIG_MODE_PKTFM)
#define FT950_FM_WIDE_RX_MODES (RIG_MODE_FM|RIG_MODE_PKTFM)
#define FT950_FM_RX_MODES (FT950_FM_WIDE_RX_MODES|RIG_MODE_FMN)
#define FT950_CW_RX_MODES (RIG_MODE_CW|RIG_MODE_CWR)
#define FT950_CW_RTTY_PKT_RX_MODES (RIG_MODE_RTTY|RIG_MODE_RTTYR|\
RIG_MODE_PKTUSB|RIG_MODE_PKTLSB|RIG_MODE_CW|RIG_MODE_CWR)
/* TRX caps */
#define FT950_OTHER_TX_MODES (RIG_MODE_CW| RIG_MODE_USB| RIG_MODE_LSB ) /* 100 W class */
#define FT950_AM_TX_MODES (RIG_MODE_AM ) /* set 25W max */
#define FT950_OTHER_TX_MODES (RIG_MODE_CW| RIG_MODE_USB| RIG_MODE_LSB) /* 100 W class */
#define FT950_AM_TX_MODES (RIG_MODE_AM) /* set 25W max */
#define FT950_LEVELS (RIG_LEVEL_ATT|RIG_LEVEL_PREAMP|\
RIG_LEVEL_ALC|RIG_LEVEL_RAWSTR|RIG_LEVEL_SWR|\

Plik diff jest za duży Load Diff