diff options
| author | i509VCB <[email protected]> | 2025-03-21 19:18:19 -0500 |
|---|---|---|
| committer | i509VCB <[email protected]> | 2025-03-22 19:26:05 -0500 |
| commit | 07da54ec18ce5c8dbd07b3d894665e54b75dbe52 (patch) | |
| tree | d9f3a85abc9e5c9447fe27d84f3baec567bee0bd /embassy-mspm0/src | |
| parent | d43acbb22b71e11b1731cbd2f6b4c6f56088d2f4 (diff) | |
mspm0: generate all singletons
Diffstat (limited to 'embassy-mspm0/src')
| -rw-r--r-- | embassy-mspm0/src/lib.rs | 19 | ||||
| -rw-r--r-- | embassy-mspm0/src/time_driver.rs | 3 |
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; | |||
| 8 | pub mod gpio; | 8 | pub mod gpio; |
| 9 | pub mod timer; | 9 | pub mod timer; |
| 10 | 10 | ||
| 11 | /// Operating modes for peripherals. | ||
| 12 | pub 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")] |
| 12 | mod time_driver; | 31 | mod 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}; | |||
| 12 | use crate::peripherals; | 12 | use crate::peripherals; |
| 13 | use crate::timer::SealedTimer; | 13 | use crate::timer::SealedTimer; |
| 14 | 14 | ||
| 15 | #[cfg(any(time_driver_timg12, time_driver_timg13))] | ||
| 16 | compile_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)] |
| 17 | type T = peripherals::TIMG0; | 20 | type T = peripherals::TIMG0; |
