From a3ca44b2b4a41ef872f72477dd1f90aeb855a30d Mon Sep 17 00:00:00 2001 From: xoviat Date: Tue, 28 Oct 2025 12:54:33 -0500 Subject: timer/low_level: add ability to set master mode --- embassy-stm32/src/timer/low_level.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'embassy-stm32/src/timer') diff --git a/embassy-stm32/src/timer/low_level.rs b/embassy-stm32/src/timer/low_level.rs index 7c02e7e62..82645887e 100644 --- a/embassy-stm32/src/timer/low_level.rs +++ b/embassy-stm32/src/timer/low_level.rs @@ -10,7 +10,7 @@ use core::mem::ManuallyDrop; use embassy_hal_internal::Peri; // Re-export useful enums -pub use stm32_metapac::timer::vals::{FilterValue, Sms as SlaveMode, Ts as TriggerSource}; +pub use stm32_metapac::timer::vals::{FilterValue, Mms as MasterMode, Sms as SlaveMode, Ts as TriggerSource}; use super::*; use crate::pac::timer::vals; @@ -689,6 +689,11 @@ impl<'d, T: GeneralInstance4Channel> Timer<'d, T> { self.regs_gp16().dier().modify(|w| w.set_ccde(channel.index(), ccde)) } + /// Set Timer Master Mode + pub fn set_master_mode(&self, mms: MasterMode) { + self.regs_gp16().cr2().modify(|w| w.set_mms(mms)); + } + /// Set Timer Slave Mode pub fn set_slave_mode(&self, sms: SlaveMode) { self.regs_gp16().smcr().modify(|r| r.set_sms(sms)); -- cgit