[debug](trx-server): trace backend control flow
Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
@@ -773,6 +773,13 @@ async fn refresh_state_with_retry(
|
|||||||
|
|
||||||
/// Read current state from the rig via CAT.
|
/// Read current state from the rig via CAT.
|
||||||
async fn refresh_state_from_cat(rig: &mut Box<dyn RigCat>, state: &mut RigState) -> DynResult<()> {
|
async fn refresh_state_from_cat(rig: &mut Box<dyn RigCat>, state: &mut RigState) -> DynResult<()> {
|
||||||
|
let started = std::time::Instant::now();
|
||||||
|
info!(
|
||||||
|
"CAT refresh start: freq_hz={}, mode={:?}, tx_en={}",
|
||||||
|
state.status.freq.hz,
|
||||||
|
state.status.mode,
|
||||||
|
state.status.tx_en
|
||||||
|
);
|
||||||
let (freq, mode, vfo) = rig.get_status().await?;
|
let (freq, mode, vfo) = rig.get_status().await?;
|
||||||
state.filter = rig.filter_state();
|
state.filter = rig.filter_state();
|
||||||
state.control.enabled = Some(true);
|
state.control.enabled = Some(true);
|
||||||
@@ -816,6 +823,13 @@ async fn refresh_state_from_cat(rig: &mut Box<dyn RigCat>, state: &mut RigState)
|
|||||||
}
|
}
|
||||||
|
|
||||||
state.status.lock = Some(state.control.lock.unwrap_or(false));
|
state.status.lock = Some(state.control.lock.unwrap_or(false));
|
||||||
|
info!(
|
||||||
|
"CAT refresh done in {:?}: freq_hz={}, mode={:?}, tx_en={}",
|
||||||
|
started.elapsed(),
|
||||||
|
state.status.freq.hz,
|
||||||
|
state.status.mode,
|
||||||
|
state.status.tx_en
|
||||||
|
);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ pub mod vchan_impl;
|
|||||||
use std::pin::Pin;
|
use std::pin::Pin;
|
||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
use std::sync::{Arc, Mutex};
|
use std::sync::{Arc, Mutex};
|
||||||
|
use std::time::Instant;
|
||||||
|
|
||||||
use trx_core::radio::freq::{Band, Freq};
|
use trx_core::radio::freq::{Band, Freq};
|
||||||
use trx_core::rig::response::RigError;
|
use trx_core::rig::response::RigError;
|
||||||
@@ -451,6 +452,13 @@ impl RigCat for SoapySdrRig {
|
|||||||
freq: Freq,
|
freq: Freq,
|
||||||
) -> Pin<Box<dyn std::future::Future<Output = DynResult<()>> + Send + 'a>> {
|
) -> Pin<Box<dyn std::future::Future<Output = DynResult<()>> + Send + 'a>> {
|
||||||
Box::pin(async move {
|
Box::pin(async move {
|
||||||
|
let started = Instant::now();
|
||||||
|
tracing::info!(
|
||||||
|
"SoapySdrRig::set_freq start: target={} Hz, current_center={} Hz, mode={:?}",
|
||||||
|
freq.hz,
|
||||||
|
self.center_hz,
|
||||||
|
self.mode
|
||||||
|
);
|
||||||
tracing::debug!("SoapySdrRig: set_freq -> {} Hz", freq.hz);
|
tracing::debug!("SoapySdrRig: set_freq -> {} Hz", freq.hz);
|
||||||
let freq_changed = self.freq.hz != freq.hz;
|
let freq_changed = self.freq.hz != freq.hz;
|
||||||
self.freq = freq;
|
self.freq = freq;
|
||||||
@@ -488,6 +496,12 @@ impl RigCat for SoapySdrRig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.update_ais_channel_offsets();
|
self.update_ais_channel_offsets();
|
||||||
|
tracing::info!(
|
||||||
|
"SoapySdrRig::set_freq done in {:?}: dial={} Hz, center={} Hz",
|
||||||
|
started.elapsed(),
|
||||||
|
self.freq.hz,
|
||||||
|
self.center_hz
|
||||||
|
);
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -497,6 +511,12 @@ impl RigCat for SoapySdrRig {
|
|||||||
freq: Freq,
|
freq: Freq,
|
||||||
) -> Pin<Box<dyn std::future::Future<Output = DynResult<()>> + Send + 'a>> {
|
) -> Pin<Box<dyn std::future::Future<Output = DynResult<()>> + Send + 'a>> {
|
||||||
Box::pin(async move {
|
Box::pin(async move {
|
||||||
|
let started = Instant::now();
|
||||||
|
tracing::info!(
|
||||||
|
"SoapySdrRig::set_center_freq start: target={} Hz, current_center={} Hz",
|
||||||
|
freq.hz,
|
||||||
|
self.center_hz
|
||||||
|
);
|
||||||
tracing::debug!("SoapySdrRig: set_center_freq -> {} Hz", freq.hz);
|
tracing::debug!("SoapySdrRig: set_center_freq -> {} Hz", freq.hz);
|
||||||
self.center_hz = freq.hz as i64;
|
self.center_hz = freq.hz as i64;
|
||||||
if let Ok(mut cmd) = self.retune_cmd.lock() {
|
if let Ok(mut cmd) = self.retune_cmd.lock() {
|
||||||
@@ -511,6 +531,11 @@ impl RigCat for SoapySdrRig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.update_ais_channel_offsets();
|
self.update_ais_channel_offsets();
|
||||||
|
tracing::info!(
|
||||||
|
"SoapySdrRig::set_center_freq done in {:?}: center={} Hz",
|
||||||
|
started.elapsed(),
|
||||||
|
self.center_hz
|
||||||
|
);
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -520,6 +545,12 @@ impl RigCat for SoapySdrRig {
|
|||||||
mode: RigMode,
|
mode: RigMode,
|
||||||
) -> Pin<Box<dyn std::future::Future<Output = DynResult<()>> + Send + 'a>> {
|
) -> Pin<Box<dyn std::future::Future<Output = DynResult<()>> + Send + 'a>> {
|
||||||
Box::pin(async move {
|
Box::pin(async move {
|
||||||
|
let started = Instant::now();
|
||||||
|
tracing::info!(
|
||||||
|
"SoapySdrRig::set_mode start: target={:?}, current={:?}",
|
||||||
|
mode,
|
||||||
|
self.mode
|
||||||
|
);
|
||||||
tracing::debug!("SoapySdrRig: set_mode -> {:?}", mode);
|
tracing::debug!("SoapySdrRig: set_mode -> {:?}", mode);
|
||||||
self.mode = mode.clone();
|
self.mode = mode.clone();
|
||||||
self.bandwidth_hz = Self::default_bandwidth_for_mode(&mode);
|
self.bandwidth_hz = Self::default_bandwidth_for_mode(&mode);
|
||||||
@@ -534,6 +565,12 @@ impl RigCat for SoapySdrRig {
|
|||||||
}
|
}
|
||||||
self.apply_ais_channel_activity();
|
self.apply_ais_channel_activity();
|
||||||
self.apply_ais_channel_filters();
|
self.apply_ais_channel_filters();
|
||||||
|
tracing::info!(
|
||||||
|
"SoapySdrRig::set_mode done in {:?}: mode={:?}, bandwidth_hz={}",
|
||||||
|
started.elapsed(),
|
||||||
|
self.mode,
|
||||||
|
self.bandwidth_hz
|
||||||
|
);
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user