If -RIG_ENTARGET returns from set_freq it will be ignored

This will covers rigs that cannot set freq while transmitting like the FTDX3000 and FTDX5000
https://github.com/Hamlib/Hamlib/issues/906
pull/910/head
Mike Black W9MDB 2021-12-27 14:46:56 -06:00
rodzic d4d4547321
commit 1518b8033c
3 zmienionych plików z 5 dodań i 2 usunięć

Wyświetl plik

@ -834,7 +834,7 @@ int newcat_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
}
while (err == RIG_OK && ptt == RIG_PTT_ON && retry-- > 0);
if (ptt) { return RIG_ENTARGET; }
if (ptt) { return -RIG_ENTARGET; }
}
if (RIG_MODEL_FT450 == caps->rig_model)

Wyświetl plik

@ -50,7 +50,7 @@
typedef char ncboolean;
/* shared function version */
#define NEWCAT_VER "20211216"
#define NEWCAT_VER "20211227"
/* Hopefully large enough for future use, 128 chars plus '\0' */
#define NEWCAT_DATA_LEN 129

Wyświetl plik

@ -1526,6 +1526,9 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
TRACE;
retcode = caps->set_freq(rig, vfo, freq);
// some rig will return -RIG_ENTARGET if cannot set ptt while transmitting
// we will just return RIG_OK and the frequency set will be ignored
if (retcode == -RIG_ENTARGET) RETURNFUNC(RIG_OK);
if (retcode != RIG_OK) { RETURNFUNC(retcode); }
rig_set_cache_freq(rig, vfo, (freq_t)0);