more work on the rigctl client update
Some checks failed
Build Binaries / build_debian_buster (push) Failing after 4s
Build Binaries / build_debian_bullseye (push) Failing after 4s
Build Binaries / build_debian_bookworm (push) Failing after 4s
Build Binaries / build_debian_sid (push) Failing after 4s
Build Binaries / build_ubuntu_focal (push) Failing after 3s
Build Binaries / build_ubuntu_jammy (push) Failing after 3s
Build Binaries / build_ubuntu_mantic (push) Failing after 4s
Build Binaries / build_ubuntu_noble (push) Failing after 4s
Build Binaries / build_android (push) Failing after 5s
Build Binaries / check_spelling (push) Failing after 3s
Build Binaries / check_formatting (push) Successful in 4s
Build Binaries / create_full_archive (push) Has been cancelled
Build Binaries / update_nightly_release (push) Has been cancelled
Build Binaries / build_windows (push) Has been cancelled
Build Binaries / build_macos_intel (push) Has been cancelled
Build Binaries / build_macos_arm (push) Has been cancelled
Build Binaries / build_raspios_bullseye_armhf (push) Has been cancelled

This commit is contained in:
AlexandreRouma 2024-12-19 04:18:19 +01:00
parent a8e6f24b29
commit 711ed7711f

View File

@ -334,6 +334,10 @@ private:
} }
// Save frequencies
lastRigctlFreq = rigctlFreq;
lastCenterFreq = centerFreq;
// Wait for the time interval // Wait for the time interval
std::this_thread::sleep_for(std::chrono::milliseconds(interval)); std::this_thread::sleep_for(std::chrono::milliseconds(interval));
} }
@ -341,11 +345,9 @@ private:
void mirrorWorker() { void mirrorWorker() {
int64_t lastRigctlFreq = -1; int64_t lastRigctlFreq = -1;
int64_t lastCenterFreq = -1; int64_t lastFreq = -1;
int64_t lastVFOFreq = -1;
int64_t rigctlFreq; int64_t rigctlFreq;
int64_t centerFreq; int64_t freq;
int64_t vfoFreq;
int lastRigctlMode = -1; int lastRigctlMode = -1;
int lastVFOMode = -1; int lastVFOMode = -1;
int rigctlMode; int rigctlMode;
@ -357,19 +359,22 @@ private:
// Get the current rigctl frequency // Get the current rigctl frequency
rigctlFreq = (int64_t)client->getFreq(); rigctlFreq = (int64_t)client->getFreq();
// Get the current center frequency
centerFreq = (int64_t)gui::waterfall.getCenterFrequency();
// Get the current VFO frequency if there is a VFO
// TODO
// Get the rigctl and VFO modes // Get the rigctl and VFO modes
if (!selectedVFO.empty() && syncMode && vfoIsRadio) { if (selectedVFO.empty()) {
// Get the current rigctl mode // Get the VFO frequency
// rigctlMode = client->getMode(); // TODO
// Get the current VFO mode // Get the mode if needed
core::modComManager.callInterface(selectedVFO, RADIO_IFACE_CMD_GET_MODE, NULL, &vfoMode); if (syncMode && vfoIsRadio) {
// Get the current rigctl mode
// rigctlMode = client->getMode();
// Get the current VFO mode
core::modComManager.callInterface(selectedVFO, RADIO_IFACE_CMD_GET_MODE, NULL, &vfoMode);
}
}
else {
freq = (int64_t)gui::waterfall.getCenterFrequency();
} }
} }
catch (const std::exception& e) { catch (const std::exception& e) {
@ -384,6 +389,12 @@ private:
} }
// Save modes and frequencies
lastRigctlFreq = rigctlFreq;
lastFreq = freq;
lastRigctlMode = rigctlMode;
lastVFOMode = vfoMode;
// Wait for the time interval // Wait for the time interval
std::this_thread::sleep_for(std::chrono::milliseconds(interval)); std::this_thread::sleep_for(std::chrono::milliseconds(interval));
} }