kopia lustrzana https://github.com/Hamlib/Hamlib
Fix k3.c "IC" command since it returns binary data and not ascii
https://github.com/Hamlib/Hamlib/issues/563pull/573/head
rodzic
bb00c35980
commit
db776b2d79
|
@ -35,6 +35,7 @@
|
||||||
#include "elecraft.h"
|
#include "elecraft.h"
|
||||||
#include "token.h"
|
#include "token.h"
|
||||||
#include "cal.h"
|
#include "cal.h"
|
||||||
|
#include "iofunc.h"
|
||||||
|
|
||||||
#define K3_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|\
|
#define K3_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|\
|
||||||
RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_PKTUSB|\
|
RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_PKTUSB|\
|
||||||
|
@ -182,7 +183,7 @@ const 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 ".4",
|
.version = BACKEND_VER ".5",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_STABLE,
|
.status = RIG_STATUS_STABLE,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
@ -333,7 +334,7 @@ const 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 ".3",
|
.version = BACKEND_VER ".4",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_STABLE,
|
.status = RIG_STATUS_STABLE,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
@ -483,7 +484,7 @@ const 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 ".3",
|
.version = BACKEND_VER ".4",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_ALPHA,
|
.status = RIG_STATUS_ALPHA,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
@ -632,7 +633,7 @@ const 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 ".3",
|
.version = BACKEND_VER ".4",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_BETA,
|
.status = RIG_STATUS_BETA,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
@ -781,7 +782,7 @@ const 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 ".3",
|
.version = BACKEND_VER ".4",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_BETA,
|
.status = RIG_STATUS_BETA,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
@ -1193,19 +1194,20 @@ int k3_set_vfo(RIG *rig, vfo_t vfo)
|
||||||
int k3_get_vfo(RIG *rig, vfo_t *vfo)
|
int k3_get_vfo(RIG *rig, vfo_t *vfo)
|
||||||
{
|
{
|
||||||
char buf[KENWOOD_MAX_BUF_LEN];
|
char buf[KENWOOD_MAX_BUF_LEN];
|
||||||
int err;
|
int ret;
|
||||||
|
|
||||||
err = kenwood_safe_transaction(rig, "IC", buf, KENWOOD_MAX_BUF_LEN, 3);
|
ret = write_block(&rig->state.rigport, "IC;", 3);
|
||||||
|
|
||||||
if (err != RIG_OK)
|
if (ret != RIG_OK)
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: Cannot read K3 IC value\n", __func__);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: Cannot write K3 IC value\n", __func__);
|
||||||
RETURNFUNC(err);
|
RETURNFUNC(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(buf) != 8)
|
ret = read_block(&rig->state.rigport, buf, 8);
|
||||||
|
if (ret != 8)
|
||||||
{
|
{
|
||||||
rig_debug(RIG_DEBUG_ERR, "%s: expected 8 bytes from '%s', got %ld bytes\n", __func__, buf, strlen(buf));
|
rig_debug(RIG_DEBUG_ERR, "%s: expected 8 bytes from '%s', got %d bytes\n", __func__, buf, ret);
|
||||||
RETURNFUNC(-RIG_EPROTO);
|
RETURNFUNC(-RIG_EPROTO);
|
||||||
}
|
}
|
||||||
if (buf[6] == '0') *vfo = RIG_VFO_B;
|
if (buf[6] == '0') *vfo = RIG_VFO_B;
|
||||||
|
|
Ładowanie…
Reference in New Issue