diff --git a/src/bin/dual-iir.rs b/src/bin/dual-iir.rs index 57872fc..5c8a00b 100644 --- a/src/bin/dual-iir.rs +++ b/src/bin/dual-iir.rs @@ -346,9 +346,13 @@ const APP: () = { // Update the signal generators c.resources.signal_generator.lock(|generator| { - for i in 0..2 { - match settings.signal_generator[i].try_into() { - Ok(config) => generator[i].update_waveform(config), + for (i, (ref mut generator, &config)) in generator + .iter_mut() + .zip(settings.signal_generator.iter()) + .enumerate() + { + match config.try_into() { + Ok(config) => generator.update_waveform(config), Err(err) => log::error!( "Failed to update signal generation on DAC{}: {:?}", i, diff --git a/src/hardware/dac.rs b/src/hardware/dac.rs index 5e77080..6ef427c 100644 --- a/src/hardware/dac.rs +++ b/src/hardware/dac.rs @@ -85,9 +85,7 @@ impl TryFrom for DacCode { // V with 16-bit resolution. The anti-aliasing filter has an additional gain of 2.5. let dac_range = 4.096 * 2.5; - if voltage > dac_range { - Err(()) - } else if voltage < -1. * dac_range { + if voltage > dac_range || voltage < -1. * dac_range { Err(()) } else { Ok(DacCode::from(