Fix auto tune function for Elecraft rigs

pull/1557/head
Mike Black W9MDB 2024-05-16 16:40:40 -05:00
rodzic cd453b5b71
commit 03f0bca7dc
1 zmienionych plików z 51 dodań i 28 usunięć

Wyświetl plik

@ -198,7 +198,7 @@ struct rig_caps k3_caps =
RIG_MODEL(RIG_MODEL_K3), RIG_MODEL(RIG_MODEL_K3),
.model_name = "K3", .model_name = "K3",
.mfg_name = "Elecraft", .mfg_name = "Elecraft",
.version = BACKEND_VER ".28", .version = BACKEND_VER ".29",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -241,9 +241,10 @@ struct rig_caps k3_caps =
.chan_desc_sz = 0, .chan_desc_sz = 0,
.chan_list = { .chan_list = {
{ 1, 4, RIG_MTYPE_VOICE }, { 1, 4, RIG_MTYPE_VOICE },
{ 1, 4, RIG_MTYPE_MORSE }, { 1, 4, RIG_MTYPE_MORSE },
RIG_CHAN_END }, RIG_CHAN_END
},
.rx_range_list1 = { .rx_range_list1 = {
{kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS}, {kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS},
@ -357,7 +358,7 @@ struct rig_caps k3s_caps =
RIG_MODEL(RIG_MODEL_K3S), RIG_MODEL(RIG_MODEL_K3S),
.model_name = "K3S", .model_name = "K3S",
.mfg_name = "Elecraft", .mfg_name = "Elecraft",
.version = BACKEND_VER ".22", .version = BACKEND_VER ".23",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -400,9 +401,10 @@ struct rig_caps k3s_caps =
.chan_desc_sz = 0, .chan_desc_sz = 0,
.chan_list = { .chan_list = {
{ 1, 4, RIG_MTYPE_VOICE }, { 1, 4, RIG_MTYPE_VOICE },
{ 1, 4, RIG_MTYPE_MORSE }, { 1, 4, RIG_MTYPE_MORSE },
RIG_CHAN_END }, RIG_CHAN_END
},
.rx_range_list1 = { .rx_range_list1 = {
{kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS}, {kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS},
@ -517,7 +519,7 @@ struct rig_caps k4_caps =
RIG_MODEL(RIG_MODEL_K4), RIG_MODEL(RIG_MODEL_K4),
.model_name = "K4", .model_name = "K4",
.mfg_name = "Elecraft", .mfg_name = "Elecraft",
.version = BACKEND_VER ".29", .version = BACKEND_VER ".30",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -565,9 +567,10 @@ struct rig_caps k4_caps =
.chan_desc_sz = 0, .chan_desc_sz = 0,
.chan_list = { .chan_list = {
{ 1, 4, RIG_MTYPE_VOICE }, { 1, 4, RIG_MTYPE_VOICE },
{ 1, 4, RIG_MTYPE_MORSE }, { 1, 4, RIG_MTYPE_MORSE },
RIG_CHAN_END }, RIG_CHAN_END
},
.rx_range_list1 = { .rx_range_list1 = {
{kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K4_ANTS}, {kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K4_ANTS},
@ -681,7 +684,7 @@ struct rig_caps kx3_caps =
RIG_MODEL(RIG_MODEL_KX3), RIG_MODEL(RIG_MODEL_KX3),
.model_name = "KX3", .model_name = "KX3",
.mfg_name = "Elecraft", .mfg_name = "Elecraft",
.version = BACKEND_VER ".20", .version = BACKEND_VER ".21",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -723,9 +726,10 @@ struct rig_caps kx3_caps =
.chan_desc_sz = 0, .chan_desc_sz = 0,
.chan_list = { .chan_list = {
{ 1, 4, RIG_MTYPE_VOICE }, { 1, 4, RIG_MTYPE_VOICE },
{ 1, 4, RIG_MTYPE_MORSE }, { 1, 4, RIG_MTYPE_MORSE },
RIG_CHAN_END }, RIG_CHAN_END
},
.rx_range_list1 = { .rx_range_list1 = {
{kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS}, {kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS},
@ -839,7 +843,7 @@ struct rig_caps kx2_caps =
RIG_MODEL(RIG_MODEL_KX2), RIG_MODEL(RIG_MODEL_KX2),
.model_name = "KX2", .model_name = "KX2",
.mfg_name = "Elecraft", .mfg_name = "Elecraft",
.version = BACKEND_VER ".19", .version = BACKEND_VER ".20",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -881,8 +885,9 @@ struct rig_caps kx2_caps =
.chan_desc_sz = 0, .chan_desc_sz = 0,
.chan_list = { .chan_list = {
{ 1, 4, RIG_MTYPE_MORSE }, { 1, 4, RIG_MTYPE_MORSE },
RIG_CHAN_END }, RIG_CHAN_END
},
.rx_range_list1 = { .rx_range_list1 = {
{kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS}, {kHz(500), MHz(30), K3_MODES, -1, -1, K3_VFO, K3_ANTS},
@ -1841,7 +1846,8 @@ static int k3_get_maxpower(RIG *rig)
int bandnum = -1; int bandnum = -1;
char levelbuf[KENWOOD_MAX_BUF_LEN]; char levelbuf[KENWOOD_MAX_BUF_LEN];
int retval = kenwood_safe_transaction(rig, "BN", levelbuf, KENWOOD_MAX_BUF_LEN, 4); int retval = kenwood_safe_transaction(rig, "BN", levelbuf, KENWOOD_MAX_BUF_LEN,
4);
if (retval != RIG_OK) { return retval; } if (retval != RIG_OK) { return retval; }
@ -2316,7 +2322,7 @@ int k3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
if (retval != RIG_OK) if (retval != RIG_OK)
{ {
return retval; return retval;
} }
sscanf(levelbuf + 2, "%d", &val->i); sscanf(levelbuf + 2, "%d", &val->i);
@ -2479,8 +2485,8 @@ int k3_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
SNPRINTF(buf, sizeof(buf), "AG%c", (status == 0) ? '/' : '0'); SNPRINTF(buf, sizeof(buf), "AG%c", (status == 0) ? '/' : '0');
break; break;
case RIG_FUNC_TUNER: // K2 KX2 K3 KX3 K4 case RIG_FUNC_TUNER: // K2 KX2 K3 K3S KX3 K4
SNPRINTF(buf, sizeof(buf), "SWH16"); SNPRINTF(buf, sizeof(buf), "SWT16");
break; break;
default: default:
@ -2493,13 +2499,30 @@ int k3_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
int k3_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op) int k3_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
{ {
char buf[32]; char buf[32];
switch (op) switch (op)
{ {
case RIG_OP_TUNE: // KX2 K3 KX3 K4 -- K2 needs SWH20 to it's in k2.c case RIG_OP_TUNE: // KX2 K3 K3S KX3 K4 -- K2 needs SWH20 to it's in k2.c
SNPRINTF(buf, sizeof(buf), "SWH16"); switch (rig->caps->rig_model)
break; {
default: return kenwood_vfo_op(rig, vfo, op); case RIG_MODEL_KX2: SNPRINTF(buf, sizeof(buf), "SWT20"); break;
case RIG_MODEL_K3S:
case RIG_MODEL_K3: SNPRINTF(buf, sizeof(buf), "SWT19"); break;
case RIG_MODEL_KX3: SNPRINTF(buf, sizeof(buf), "SWT44"); break;
case RIG_MODEL_K4: SNPRINTF(buf, sizeof(buf), "SW40"); break;
default:
rig_debug(RIG_DEBUG_ERR, "%s: unknown rig=%d\n", __func__,
rig->caps->rig_model);
return -RIG_EINVAL;
}
default: return kenwood_vfo_op(rig, vfo, op);
} }
return kenwood_transaction(rig, buf, NULL, 0); return kenwood_transaction(rig, buf, NULL, 0);
} }
@ -2679,7 +2702,7 @@ int k3_get_bar_graph_level(RIG *rig, float *smeter, float *pwr, float *alc,
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
// Determine transmit metering mode: 0 = RF POWER, 1 = ALC // Determine transmit metering mode: 0 = RF POWER, 1 = ALC
retval = get_kenwood_func(rig, "TM", &tm_raw); retval = get_kenwood_func(rig, "TM", &tm_raw);
if (retval != RIG_OK) if (retval != RIG_OK)