From 52c2169e1ca65b3245e7f339e296abb2efded61a Mon Sep 17 00:00:00 2001 From: Zachary Levy Date: Thu, 9 Apr 2026 20:53:14 -0700 Subject: [PATCH] Formatting and derive copy for counter config --- node/src/stm32/counter.rs | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/node/src/stm32/counter.rs b/node/src/stm32/counter.rs index 705211d..f449ae8 100644 --- a/node/src/stm32/counter.rs +++ b/node/src/stm32/counter.rs @@ -3,6 +3,7 @@ //! Counts edges on an external signal entirely in hardware. Supports three //! pin sources per timer: the dedicated ETR pin, or any CH1/CH2 pin. +use embassy_stm32::Peri; use embassy_stm32::gpio::{AfType, Flex, Pull}; use embassy_stm32::pac::timer::vals::{Etp, Etps}; use embassy_stm32::timer::low_level::{ @@ -11,7 +12,6 @@ use embassy_stm32::timer::low_level::{ use embassy_stm32::timer::{ Ch1, Ch2, Channel, ExternalTriggerPin, GeneralInstance4Channel, TimerPin, }; -use embassy_stm32::Peri; /// Which edge increments the counter. #[derive(Clone, Copy, Default, defmt::Format)] @@ -25,7 +25,7 @@ pub enum CountEdge { } /// Pulse counter configuration. -#[derive(Clone)] +#[derive(Copy, Clone)] pub struct PulseCounterConfig { pub edge: CountEdge, pub filter: FilterValue, @@ -84,7 +84,10 @@ impl<'d, T: GeneralInstance4Channel> PulseCounter<'d, T> { }); inner.start(); - Self { inner, _pin: flex_pin } + Self { + inner, + _pin: flex_pin, + } } /// Count pulses on a CH1 pin. @@ -101,7 +104,10 @@ impl<'d, T: GeneralInstance4Channel> PulseCounter<'d, T> { Self::configure_channel(&inner, Channel::Ch1, TriggerSource::TI1FP1, &config); inner.start(); - Self { inner, _pin: flex_pin } + Self { + inner, + _pin: flex_pin, + } } /// Count pulses on a CH2 pin. @@ -118,7 +124,10 @@ impl<'d, T: GeneralInstance4Channel> PulseCounter<'d, T> { Self::configure_channel(&inner, Channel::Ch2, TriggerSource::TI2FP2, &config); inner.start(); - Self { inner, _pin: flex_pin } + Self { + inner, + _pin: flex_pin, + } } /// Common channel setup: put the channel in input mode, configure its @@ -133,11 +142,14 @@ impl<'d, T: GeneralInstance4Channel> PulseCounter<'d, T> { // Normal = direct mapping (TI1→IC1, TI2→IC2). inner.set_input_ti_selection(channel, InputTISelection::Normal); inner.set_input_capture_filter(channel, config.filter); - inner.set_input_capture_mode(channel, match config.edge { - CountEdge::Rising => InputCaptureMode::Rising, - CountEdge::Falling => InputCaptureMode::Falling, - CountEdge::Both => InputCaptureMode::BothEdges, - }); + inner.set_input_capture_mode( + channel, + match config.edge { + CountEdge::Rising => InputCaptureMode::Rising, + CountEdge::Falling => InputCaptureMode::Falling, + CountEdge::Both => InputCaptureMode::BothEdges, + }, + ); inner.set_trigger_source(trigger); inner.set_slave_mode(SlaveMode::EXT_CLOCK_MODE);