Adds a backend for the Drake R8 for non-intrusive testing. Module contains copies of parts of drake.c because several routines are significantly different than R8a/b. Resopnses will be different.

Test rig includes better debugging of message transfers, that replace nulls, CRs and LFs with token strings so they can be properly seen and counted as part of the sending and receiving messages.
pull/1796/head
Mark J. Fine 2025-06-29 12:14:21 -04:00
rodzic 862fda58be
commit 8316886063
4 zmienionych plików z 1392 dodań i 2 usunięć

Wyświetl plik

@ -1,4 +1,4 @@
DRAKESRC = r8a.c r8b.c drake.c drake.h
DRAKESRC = r8.c r8a.c r8b.c drake.c drake.h
noinst_LTLIBRARIES = libhamlib-drake.la
libhamlib_drake_la_SOURCES = $(DRAKESRC)

Wyświetl plik

@ -161,7 +161,7 @@ int drake_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
return retval;
}
/* RA command returns *fffff.ff*mHz<CR> */
/* RA command returns ffffff.ff*mHz<CR> */
if (freq_len != 15)
{
rig_debug(RIG_DEBUG_ERR, "drake_get_freq: wrong answer %s, "
@ -1214,6 +1214,7 @@ DECLARE_INITRIG_BACKEND(drake)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init called\n", __func__);
rig_register(&r8_caps);
rig_register(&r8a_caps);
rig_register(&r8b_caps);
@ -1282,6 +1283,16 @@ DECLARE_PROBERIG_BACKEND(drake)
return RIG_MODEL_DKR8A;
}
if (!strcmp(idbuf, "R8"))
{
if (cfunc)
{
(*cfunc)(port, RIG_MODEL_DKR8, data);
}
return RIG_MODEL_DKR8;
}
/*
* not found...
*/

Wyświetl plik

@ -52,7 +52,9 @@ int drake_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
int drake_set_powerstat (RIG * rig, powerstat_t status);
int drake_get_powerstat (RIG * rig, powerstat_t *status);
const char *drake_get_info(RIG *rig);
int drake_transaction(RIG *rig, const char *cmd, int cmd_len, char *data, int *data_len);
extern struct rig_caps r8_caps;
extern struct rig_caps r8a_caps;
extern struct rig_caps r8b_caps;

1377
rigs/drake/r8.c 100644

Plik diff jest za duży Load Diff