aboutsummaryrefslogtreecommitdiff
path: root/embassy-mspm0/src
diff options
context:
space:
mode:
authori509VCB <[email protected]>2025-03-21 19:18:19 -0500
committeri509VCB <[email protected]>2025-03-22 19:26:05 -0500
commit07da54ec18ce5c8dbd07b3d894665e54b75dbe52 (patch)
treed9f3a85abc9e5c9447fe27d84f3baec567bee0bd /embassy-mspm0/src
parentd43acbb22b71e11b1731cbd2f6b4c6f56088d2f4 (diff)
mspm0: generate all singletons
Diffstat (limited to 'embassy-mspm0/src')
-rw-r--r--embassy-mspm0/src/lib.rs19
-rw-r--r--embassy-mspm0/src/time_driver.rs3
2 files changed, 22 insertions, 0 deletions
diff --git a/embassy-mspm0/src/lib.rs b/embassy-mspm0/src/lib.rs
index 1191b1010..f13245453 100644
--- a/embassy-mspm0/src/lib.rs
+++ b/embassy-mspm0/src/lib.rs
@@ -8,6 +8,25 @@ pub(crate) mod fmt;
8pub mod gpio; 8pub mod gpio;
9pub mod timer; 9pub mod timer;
10 10
11/// Operating modes for peripherals.
12pub mod mode {
13 trait SealedMode {}
14
15 /// Operating mode for a peripheral.
16 #[allow(private_bounds)]
17 pub trait Mode: SealedMode {}
18
19 /// Blocking mode.
20 pub struct Blocking;
21 impl SealedMode for Blocking {}
22 impl Mode for Blocking {}
23
24 /// Async mode.
25 pub struct Async;
26 impl SealedMode for Async {}
27 impl Mode for Async {}
28}
29
11#[cfg(feature = "_time-driver")] 30#[cfg(feature = "_time-driver")]
12mod time_driver; 31mod time_driver;
13 32
diff --git a/embassy-mspm0/src/time_driver.rs b/embassy-mspm0/src/time_driver.rs
index 937ce58d4..e80e89e55 100644
--- a/embassy-mspm0/src/time_driver.rs
+++ b/embassy-mspm0/src/time_driver.rs
@@ -12,6 +12,9 @@ use mspm0_metapac::tim::{Counterregs16, Tim};
12use crate::peripherals; 12use crate::peripherals;
13use crate::timer::SealedTimer; 13use crate::timer::SealedTimer;
14 14
15#[cfg(any(time_driver_timg12, time_driver_timg13))]
16compile_error!("TIMG12 and TIMG13 are not supported by the time driver yet");
17
15// Currently TIMG12 and TIMG13 are excluded because those are 32-bit timers. 18// Currently TIMG12 and TIMG13 are excluded because those are 32-bit timers.
16#[cfg(time_driver_timg0)] 19#[cfg(time_driver_timg0)]
17type T = peripherals::TIMG0; 20type T = peripherals::TIMG0;