Improve Hamlib behavior during TX. (#893)

* Reenable timeouts once connected to the radio.

* 100ms might be a bit better.

* Request current frequency/mode every second (instead of every 5 seconds).

* Remove pre-PTT interrogation of frequency/mode.

* Increase Hamlib timeout to 500ms per user testing.

* Add PR #893 to changelog.

* Update comment.
pull/911/head
Mooneer Salem 2025-06-03 19:26:45 -07:00 committed by GitHub
parent 4ff96a07fc
commit 4113e8a7ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 14 additions and 4 deletions

View File

@ -15,7 +15,7 @@ endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version")
set(PROJECT_NAME FreeDV)
set(PROJECT_VERSION 2.0.0)
set(PROJECT_VERSION 2.0.1)
set(PROJECT_DESCRIPTION "HF Digital Voice for Radio Amateurs")
set(PROJECT_HOMEPAGE_URL "https://freedv.org")
@ -49,12 +49,12 @@ endif(APPLE)
# Adds a tag to the end of the version string. Leave empty
# for official release builds.
if(NOT DEFINED FREEDV_VERSION_TAG)
set(FREEDV_VERSION_TAG "")
set(FREEDV_VERSION_TAG "dev")
# Uncomment the below definition to cause the build to expire
# six months from the day it was built. This should be commented
# for official releases.
#add_definitions(-DUNOFFICIAL_RELEASE)
add_definitions(-DUNOFFICIAL_RELEASE)
endif(NOT DEFINED FREEDV_VERSION_TAG)
# Prevent in-source builds to protect automake/autoconf config.

View File

@ -790,6 +790,11 @@ LDPC | Low Density Parity Check Codes - a family of powerful FEC codes
# Release Notes
## V2.0.1 TBD 2025
1. Bugfixes:
* Reduce latency when going between TX->RX with Hamlib configured. (PR #893)
## V2.0.0 June 2025
This version contains the first official release of the RADE V1 mode previously trialled over several

View File

@ -2260,7 +2260,7 @@ void MainFrame::performFreeDVOn_()
{
#ifdef _USE_TIMER
m_plotTimer.Start(_REFRESH_TIMER_PERIOD, wxTIMER_CONTINUOUS);
m_updFreqStatusTimer.Start(5*1000); // every 5 seconds[UP]
m_updFreqStatusTimer.Start(1000); // every 1 second[UP]
#endif // _USE_TIMER
});
}

View File

@ -371,6 +371,11 @@ void HamlibRigController::connectImpl_()
log_debug("hamlib: rig_open() OK");
onRigConnected(this);
// Set timeouts so that we don't wait an extremely long time to begin TX.
rig_set_conf(rig_, rig_token_lookup(rig_, "timeout"), "500");
rig_set_conf(rig_, rig_token_lookup(rig_, "retry"), "0");
rig_set_conf(rig_, rig_token_lookup(rig_, "timeout_retry"), "0");
// Determine whether we have multiple VFOs.
multipleVfos_ = false;
vfo_t vfo;