mirror of
https://github.com/hubaldv/bioz-firmware-rs.git
synced 2025-12-06 05:01:18 +00:00
Add 2/4-lead option to GUI.
This commit is contained in:
@@ -25,7 +25,8 @@ pub static IMPEDANCE_SETUP: StaticCell<ImpedanceSetupType> = StaticCell::new();
|
||||
#[derive(PartialEq, Copy, Clone)]
|
||||
pub enum RunningMode {
|
||||
None,
|
||||
SingleFrequency,
|
||||
SingleFrequency2Lead,
|
||||
SingleFrequency4Lead,
|
||||
MultiFrequency(MeasurementPointSet),
|
||||
}
|
||||
|
||||
@@ -307,7 +308,7 @@ pub async fn impedance_setup_readout_task(mut pin: ExtiInput<'static>, impedance
|
||||
let mut impedance_setup = impedance_setup.lock().await;
|
||||
|
||||
// Trigger the sequencer again
|
||||
if impedance_setup.running_mode == RunningMode::SingleFrequency || impedance_setup.running_mode == RunningMode::MultiFrequency(MeasurementPointSet::Eight) || impedance_setup.running_mode == RunningMode::MultiFrequency(MeasurementPointSet::Eighteen) {
|
||||
if impedance_setup.running_mode == RunningMode::SingleFrequency2Lead || impedance_setup.running_mode == RunningMode::SingleFrequency4Lead || impedance_setup.running_mode == RunningMode::MultiFrequency(MeasurementPointSet::Eight) || impedance_setup.running_mode == RunningMode::MultiFrequency(MeasurementPointSet::Eighteen) {
|
||||
impedance_setup.start_measurement().await;
|
||||
}
|
||||
|
||||
@@ -319,7 +320,7 @@ pub async fn impedance_setup_readout_task(mut pin: ExtiInput<'static>, impedance
|
||||
RunningMode::None => {
|
||||
continue; // Skip processing if not running
|
||||
}
|
||||
RunningMode::SingleFrequency => {
|
||||
RunningMode::SingleFrequency2Lead => {
|
||||
if count >= 4 {
|
||||
let mut data: [u32; 4] = [0; 4];
|
||||
|
||||
@@ -338,7 +339,10 @@ pub async fn impedance_setup_readout_task(mut pin: ExtiInput<'static>, impedance
|
||||
IMPEDANCE_CHANNEL_SINGLE.try_send(data).ok();
|
||||
}
|
||||
}
|
||||
|
||||
RunningMode::SingleFrequency4Lead => {
|
||||
info!("TODO: SingleFrequency4Lead not implemented yet");
|
||||
continue;
|
||||
}
|
||||
RunningMode::MultiFrequency(points) => {
|
||||
// Each frequency point produces 4 samples (DFT real/imag for Rcal and Rz)
|
||||
let required_count = points.len() * 4;
|
||||
|
||||
Reference in New Issue
Block a user