Add 10ms delay after rig_set_ptt to allow hardware ptt relays to do their thing

https://github.com/Hamlib/Hamlib/issues/686
pull/691/head
Mike Black W9MDB 2021-05-01 22:18:28 -05:00
rodzic 16f5502af0
commit fc37f0aeaf
2 zmienionych plików z 24 dodań i 9 usunięć

24
NEWS
Wyświetl plik

@ -8,15 +8,25 @@ Please send Hamlib bug reports to hamlib-developer@lists.sourceforge.net
Version 4.2 Version 4.2
* 2021-04-27 * 2021-04-27
* New rig_get_vfo_info * New rig_get_info -- returns token set for all vfos where order does not matter
* New rig_get_rig_info
Also get_rig_info in rigctld too
Example output with rig in split mode
This is a string return to allow for easy future expansion without changing the API This is a string return to allow for easy future expansion without changing the API
New tokens may be introduced and can be skipped if not used by clients New tokens may be introduced and can be skipped if not used by clients
VFO=VFOA Freq=10133000 Mode=LSB Width=0 RX=1 TX=0 Rig command: \get_rig_info
VFO=VFOB Freq=10134000 Mode=LSB Width=0 RX=0 TX=1 VFO=Main Freq=145000000 Mode=None Width=0 RX=1 TX=1
Split=1 SatMode=0 VFO=VFOB Freq=145000000 Mode=FM Width=15000 RX=0 TX=0
Split=0 SatMode=0
Rig=Dummy
App=Hamlib
Version=20210429
CRC=0xf49f4708
* New rig_get_vfo_info
Rig command: \get_vfo_info VFOA
Freq: 145000000
Mode: None
Width: 0
Split: 0
SatMode: 0
* USRP lib and gnuradio are deprecated and will be removed in 5.0 * USRP lib and gnuradio are deprecated and will be removed in 5.0
* Added Radan rotator * Added Radan rotator

Wyświetl plik

@ -2938,6 +2938,11 @@ int HAMLIB_API rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
rs->transmit = ptt != RIG_PTT_OFF; rs->transmit = ptt != RIG_PTT_OFF;
} }
// some rigs like the FT-2000 with the SCU-17 need just a bit of time to let the relays work
// can affect fake it mode in WSJT-X when the rig is still in transmit and freq change
// is requested on a rig that can't change freq on a transmitting VFO
if (ptt != RIG_PTT_ON) hl_usleep(10*1000);
rig->state.cache.ptt = ptt; rig->state.cache.ptt = ptt;
elapsed_ms(&rig->state.cache.time_ptt, HAMLIB_ELAPSED_SET); elapsed_ms(&rig->state.cache.time_ptt, HAMLIB_ELAPSED_SET);