Echo detection is now dynamic so can be changed while running

Async packet is now handled correctly...may be tied to the ANT CI-V port
https://github.com/Hamlib/Hamlib/issues/1575
https://github.com/Hamlib/Hamlib/issues/1587
https://github.com/Hamlib/Hamlib/issues/1588
pull/1590/head
Mike Black W9MDB 2024-07-25 12:08:23 -05:00
rodzic 75783cb125
commit b718788c9a
4 zmienionych plików z 8 dodań i 6 usunięć

Wyświetl plik

@ -306,6 +306,7 @@ read_another_frame:
* FIXME: handle padding/collisions * FIXME: handle padding/collisions
* ACKFRMLEN is the smallest frame we can expect from the rig * ACKFRMLEN is the smallest frame we can expect from the rig
*/ */
priv->serial_USB_echo_off = 1;
again2: again2:
buf[0] = 0; buf[0] = 0;
frm_len = read_icom_frame(rp, buf, sizeof(buf)); frm_len = read_icom_frame(rp, buf, sizeof(buf));

Wyświetl plik

@ -201,8 +201,8 @@ static const struct icom_priv_caps ic7100_priv_caps =
.extcmds = ic7100_extcmds, .extcmds = ic7100_extcmds,
.antack_len = 2, .antack_len = 2,
.ant_count = 2, .ant_count = 2,
.x25x26_always = 1, .x25x26_always = 0,
.x25x26_possibly = 0, .x25x26_possibly = 1,
.x1cx03_always = 0, .x1cx03_always = 0,
.x1cx03_possibly = 1, .x1cx03_possibly = 1,
.x1ax03_supported = 1, .x1ax03_supported = 1,
@ -327,7 +327,7 @@ struct rig_caps ic7100_caps =
RIG_MODEL(RIG_MODEL_IC7100), RIG_MODEL(RIG_MODEL_IC7100),
.model_name = "IC-7100", .model_name = "IC-7100",
.mfg_name = "Icom", .mfg_name = "Icom",
.version = BACKEND_VER ".7", .version = BACKEND_VER ".8",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,

Wyświetl plik

@ -1152,7 +1152,7 @@ retry_open:
rig_debug(RIG_DEBUG_TRACE, "%s: echo status known, getting frequency\n", rig_debug(RIG_DEBUG_TRACE, "%s: echo status known, getting frequency\n",
__func__); __func__);
rp->retry = 0; rp->retry = 0;
rs->current_vfo = icom_current_vfo(rig); // rs->current_vfo = icom_current_vfo(rig);
// some rigs like the IC7100 still echo when in standby // some rigs like the IC7100 still echo when in standby
// so asking for freq now should timeout if such a rig // so asking for freq now should timeout if such a rig
freq_t tfreq; freq_t tfreq;
@ -1228,7 +1228,7 @@ retry_open:
rig_get_func(rig, RIG_VFO_CURR, RIG_FUNC_SATMODE, &satmode); rig_get_func(rig, RIG_VFO_CURR, RIG_FUNC_SATMODE, &satmode);
} }
rs->current_vfo = icom_current_vfo(rig); //rs->current_vfo = icom_current_vfo(rig);
} }
#if 0 // do not do this here -- needs to be done when ranges are requested instead as this is very slow #if 0 // do not do this here -- needs to be done when ranges are requested instead as this is very slow
@ -8995,6 +8995,7 @@ int icom_process_async_frame(RIG *rig, size_t frame_length,
*/ */
switch (frame[4]) switch (frame[4])
{ {
case C_RD_FREQ:
case C_SND_FREQ: case C_SND_FREQ:
{ {
// TODO: The freq length might be less than 4 or 5 bytes on older rigs! // TODO: The freq length might be less than 4 or 5 bytes on older rigs!

Wyświetl plik

@ -35,7 +35,7 @@
#include <sys/time.h> #include <sys/time.h>
#endif #endif
#define BACKEND_VER "20240717" #define BACKEND_VER "20240725"
#define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31) #define ICOM_IS_ID31 rig_is_model(rig, RIG_MODEL_ID31)
#define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51) #define ICOM_IS_ID51 rig_is_model(rig, RIG_MODEL_ID51)