From edf16b63d6453d95f97acf8c320971c02af71821 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 25 Mar 2026 22:43:10 +0000 Subject: [PATCH] [fix](trx-core): log invalid state machine transitions Add debug-level tracing for rejected state transitions instead of silently returning false, aiding debugging of unexpected rig behavior. https://claude.ai/code/session_01XzurkeuUmamBuhQwxVy7T4 Signed-off-by: Claude --- src/trx-core/src/rig/controller/machine.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/trx-core/src/rig/controller/machine.rs b/src/trx-core/src/rig/controller/machine.rs index 5e38754..1f0c77f 100644 --- a/src/trx-core/src/rig/controller/machine.rs +++ b/src/trx-core/src/rig/controller/machine.rs @@ -11,6 +11,7 @@ use std::fmt; use std::time::{Duration, Instant}; use serde::Serialize; +use tracing::debug; use crate::radio::freq::Freq; use crate::rig::state::RigMode; @@ -267,13 +268,17 @@ impl RigStateMachine { /// Process an event and potentially transition to a new state. /// Returns true if a transition occurred. pub fn process_event(&mut self, event: RigEvent) -> bool { - let new_state = self.next_state(event); + let new_state = self.next_state(event.clone()); if let Some(state) = new_state { self.state = state; self.transition_count += 1; self.last_transition = Some(Instant::now()); true } else { + debug!( + "Invalid state transition: {:?} + {:?} (ignored)", + self.state, event + ); false } }