Fix icom.c set_mode_with_data to skip mode if same and skip bandwidth if same or nochange

https://github.com/Hamlib/Hamlib/issues/1312
pull/1315/head
Mike Black W9MDB 2023-06-09 17:06:46 -05:00
rodzic 03e72c3a99
commit 88a1d88e0f
2 zmienionych plików z 9 dodań i 9 usunięć

Wyświetl plik

@ -2215,13 +2215,6 @@ int icom_set_mode_with_data(RIG *rig, vfo_t vfo, rmode_t mode,
RETURNFUNC(retval);
}
// do we really need/want to skip if width == twidth?
if ((width == RIG_PASSBAND_NOCHANGE) || (width == twidth))
{
rig_debug(RIG_DEBUG_TRACE, "%s: width not changing..keeping filter selection\n", __func__);
RETURNFUNC(RIG_OK);
}
// looks like we need to change it
switch (mode)
@ -2266,7 +2259,8 @@ int icom_set_mode_with_data(RIG *rig, vfo_t vfo, rmode_t mode,
hl_usleep(50 * 1000); // pause for possible transceive message which we'll flush
if (RIG_OK == retval)
// we
if (RIG_OK == retval && mode != tmode)
{
unsigned char datamode[2];
unsigned char mode_icom; // Not used, we only need the width
@ -2340,6 +2334,12 @@ int icom_set_mode_with_data(RIG *rig, vfo_t vfo, rmode_t mode,
}
}
}
// do we really need/want to skip if width == twidth?
if ((width == RIG_PASSBAND_NOCHANGE) || (width == twidth))
{
rig_debug(RIG_DEBUG_TRACE, "%s: width not changing..keeping filter selection\n", __func__);
RETURNFUNC(RIG_OK);
}
icom_set_dsp_flt(rig, mode, width);

Wyświetl plik

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