From 03b86d75b6861ed8151f4f48682e9b4f5b159232 Mon Sep 17 00:00:00 2001 From: dimi Date: Tue, 22 Jul 2025 18:16:11 +0200 Subject: derive Copy, Clone for adc config enums --- embassy-stm32/src/adc/adc4.rs | 4 +++- embassy-stm32/src/adc/c0.rs | 3 ++- embassy-stm32/src/adc/f3_v1_1.rs | 2 ++ embassy-stm32/src/adc/v4.rs | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/embassy-stm32/src/adc/adc4.rs b/embassy-stm32/src/adc/adc4.rs index 98483489f..31cbdc0d7 100644 --- a/embassy-stm32/src/adc/adc4.rs +++ b/embassy-stm32/src/adc/adc4.rs @@ -76,12 +76,14 @@ impl SealedAdcChannel for Vcore { } } +#[derive(Copy, Clone)] pub enum DacChannel { OUT1, OUT2, } /// Number of samples used for averaging. +#[derive(Copy, Clone)] pub enum Averaging { Disabled, Samples2, @@ -187,7 +189,7 @@ pub struct Adc4<'d, T: Instance> { adc: crate::Peri<'d, T>, } -#[derive(Debug)] +#[derive(Copy, Clone, Debug)] pub enum Adc4Error { InvalidSequence, DMAError, diff --git a/embassy-stm32/src/adc/c0.rs b/embassy-stm32/src/adc/c0.rs index 936ad7413..f5870801e 100644 --- a/embassy-stm32/src/adc/c0.rs +++ b/embassy-stm32/src/adc/c0.rs @@ -48,7 +48,7 @@ impl SealedAdcChannel for Temperature { } } -#[derive(Debug)] +#[derive(Copy, Clone, Debug)] pub enum Prescaler { NotDivided, DividedBy2, @@ -138,6 +138,7 @@ impl<'a> defmt::Format for Prescaler { /// Number of samples used for averaging. /// TODO: Implement hardware averaging setting. #[allow(unused)] +#[derive(Copy, Clone)] pub enum Averaging { Disabled, Samples2, diff --git a/embassy-stm32/src/adc/f3_v1_1.rs b/embassy-stm32/src/adc/f3_v1_1.rs index 944e971bb..84613078c 100644 --- a/embassy-stm32/src/adc/f3_v1_1.rs +++ b/embassy-stm32/src/adc/f3_v1_1.rs @@ -17,6 +17,7 @@ pub const VDDA_CALIB_MV: u32 = 3300; pub const ADC_MAX: u32 = (1 << 12) - 1; pub const VREF_INT: u32 = 1230; +#[derive(Copy, Clone)] pub enum AdcPowerMode { AlwaysOn, DelayOff, @@ -24,6 +25,7 @@ pub enum AdcPowerMode { DelayIdleOff, } +#[derive(Copy, Clone)] pub enum Prescaler { Div1, Div2, diff --git a/embassy-stm32/src/adc/v4.rs b/embassy-stm32/src/adc/v4.rs index 39e0d51b9..b0871019a 100644 --- a/embassy-stm32/src/adc/v4.rs +++ b/embassy-stm32/src/adc/v4.rs @@ -142,6 +142,7 @@ impl Prescaler { } /// Number of samples used for averaging. +#[derive(Copy, Clone)] pub enum Averaging { Disabled, Samples2, -- cgit