kopia lustrzana https://github.com/Hamlib/Hamlib
Elecraft K2 RTTY modes are not FSK
The K2 RTTY and RTTY-R modes should be modeled as PKTLSB and PKTUSB respectively since they are AFSK modes. Also ensured that Kenwood mode sets do not try and set RIG_MODE_NONE as it makes no sense.Hamlib-3.0
rodzic
80f921954b
commit
3ffbb69638
21
kenwood/k2.c
21
kenwood/k2.c
|
@ -34,7 +34,7 @@
|
|||
#include "elecraft.h"
|
||||
|
||||
|
||||
#define K2_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR)
|
||||
#define K2_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB)
|
||||
|
||||
#define K2_FUNC_ALL (RIG_FUNC_NB|RIG_FUNC_LOCK)
|
||||
|
||||
|
@ -46,6 +46,18 @@
|
|||
|
||||
#define K2_ANTS (RIG_ANT_1|RIG_ANT_2)
|
||||
|
||||
static rmode_t k2_mode_table[KENWOOD_MODE_TABLE_MAX] = {
|
||||
[0] = RIG_MODE_NONE,
|
||||
[1] = RIG_MODE_LSB,
|
||||
[2] = RIG_MODE_USB,
|
||||
[3] = RIG_MODE_CW,
|
||||
[4] = RIG_MODE_NONE,
|
||||
[5] = RIG_MODE_NONE,
|
||||
[6] = RIG_MODE_PKTLSB, /* AFSK */
|
||||
[7] = RIG_MODE_CWR,
|
||||
[8] = RIG_MODE_NONE, /* TUNE mode */
|
||||
[9] = RIG_MODE_PKTUSB /* AFSK */
|
||||
};
|
||||
|
||||
/* kenwood_transaction() will add this to command strings
|
||||
* sent to the rig and remove it from strings returned from
|
||||
|
@ -53,6 +65,7 @@
|
|||
*/
|
||||
static struct kenwood_priv_caps k2_priv_caps = {
|
||||
.cmdtrm = EOM_KEN,
|
||||
.mode_table = k2_mode_table,
|
||||
};
|
||||
|
||||
|
||||
|
@ -187,7 +200,7 @@ const struct rig_caps k2_caps = {
|
|||
.filters = {
|
||||
{RIG_MODE_SSB, kHz(2.5)},
|
||||
{RIG_MODE_CW|RIG_MODE_CWR, Hz(500)},
|
||||
{RIG_MODE_RTTY|RIG_MODE_RTTYR, Hz(500)},
|
||||
{RIG_MODE_PKTLSB|RIG_MODE_PKTUSB, kHz(2.5)},
|
||||
RIG_FLT_END,
|
||||
},
|
||||
.priv = (void *)&k2_priv_caps,
|
||||
|
@ -287,8 +300,8 @@ int k2_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
case RIG_MODE_CWR:
|
||||
flt = &k2_fwmd_cw;
|
||||
break;
|
||||
case RIG_MODE_RTTY:
|
||||
case RIG_MODE_RTTYR:
|
||||
case RIG_MODE_PKTLSB:
|
||||
case RIG_MODE_PKTUSB:
|
||||
if (priv->k2_md_rtty == 0)
|
||||
return -RIG_EINVAL; /* RTTY module not installed */
|
||||
else
|
||||
|
|
|
@ -114,16 +114,16 @@ static const struct kenwood_id_string kenwood_id_string_list[] = {
|
|||
};
|
||||
|
||||
rmode_t kenwood_mode_table[KENWOOD_MODE_TABLE_MAX] = {
|
||||
[0] = RIG_MODE_NONE,
|
||||
[1] = RIG_MODE_LSB,
|
||||
[2] = RIG_MODE_USB,
|
||||
[3] = RIG_MODE_CW,
|
||||
[4] = RIG_MODE_FM,
|
||||
[5] = RIG_MODE_AM,
|
||||
[6] = RIG_MODE_RTTY,
|
||||
[7] = RIG_MODE_CWR,
|
||||
[8] = RIG_MODE_NONE, /* TUNE mode */
|
||||
[9] = RIG_MODE_RTTYR
|
||||
[0] = RIG_MODE_NONE,
|
||||
[1] = RIG_MODE_LSB,
|
||||
[2] = RIG_MODE_USB,
|
||||
[3] = RIG_MODE_CW,
|
||||
[4] = RIG_MODE_FM,
|
||||
[5] = RIG_MODE_AM,
|
||||
[6] = RIG_MODE_RTTY,
|
||||
[7] = RIG_MODE_CWR,
|
||||
[8] = RIG_MODE_NONE, /* TUNE mode */
|
||||
[9] = RIG_MODE_RTTYR
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -395,10 +395,13 @@ char rmode2kenwood(rmode_t mode, const rmode_t mode_table[])
|
|||
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||
|
||||
for(i = 0; i < KENWOOD_MODE_TABLE_MAX; i++) {
|
||||
if (mode_table[i] == mode)
|
||||
return i;
|
||||
}
|
||||
if (mode != RIG_MODE_NONE)
|
||||
{
|
||||
for(i = 0; i < KENWOOD_MODE_TABLE_MAX; i++) {
|
||||
if (mode_table[i] == mode)
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue