diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-12-19 00:05:54 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-12-19 00:10:36 +0100 |
| commit | 49534cd4056f20bdf5fa6058b0865afc5fcf38ee (patch) | |
| tree | c70844cbd6201ea4ded266d53fc6ebd79931659a | |
| parent | 138318f6118322af199888bcbd53ef49114f89bd (diff) | |
stm32: more docs.
| -rw-r--r-- | embassy-nrf/src/lib.rs | 6 | ||||
| -rw-r--r-- | embassy-stm32/src/adc/mod.rs | 3 | ||||
| -rw-r--r-- | embassy-stm32/src/can/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/crc/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/dac/mod.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/dcmi.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/eth/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/exti.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/flash/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/fmc.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/hrtim/mod.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/i2c/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/i2s.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/lib.rs | 24 | ||||
| -rw-r--r-- | embassy-stm32/src/qspi/mod.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/rng.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/rtc/mod.rs | 4 | ||||
| -rw-r--r-- | embassy-stm32/src/sdmmc/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/spi/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/uid.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/usart/mod.rs | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/usb_otg/mod.rs | 2 | ||||
| -rw-r--r-- | embassy-stm32/src/wdg/mod.rs | 1 |
23 files changed, 55 insertions, 6 deletions
diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs index 9093ad919..e3458e2de 100644 --- a/embassy-nrf/src/lib.rs +++ b/embassy-nrf/src/lib.rs | |||
| @@ -354,7 +354,11 @@ unsafe fn uicr_write_masked(address: *mut u32, value: u32, mask: u32) -> WriteRe | |||
| 354 | WriteResult::Written | 354 | WriteResult::Written |
| 355 | } | 355 | } |
| 356 | 356 | ||
| 357 | /// Initialize peripherals with the provided configuration. This should only be called once at startup. | 357 | /// Initialize the `embassy-nrf` HAL with the provided configuration. |
| 358 | /// | ||
| 359 | /// This returns the peripheral singletons that can be used for creating drivers. | ||
| 360 | /// | ||
| 361 | /// This should only be called once at startup, otherwise it panics. | ||
| 358 | pub fn init(config: config::Config) -> Peripherals { | 362 | pub fn init(config: config::Config) -> Peripherals { |
| 359 | // Do this first, so that it panics if user is calling `init` a second time | 363 | // Do this first, so that it panics if user is calling `init` a second time |
| 360 | // before doing anything important. | 364 | // before doing anything important. |
diff --git a/embassy-stm32/src/adc/mod.rs b/embassy-stm32/src/adc/mod.rs index ff523ca3b..e4dd35c34 100644 --- a/embassy-stm32/src/adc/mod.rs +++ b/embassy-stm32/src/adc/mod.rs | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | //! Analog to Digital (ADC) converter driver. | 1 | //! Analog to Digital Converter (ADC) |
| 2 | |||
| 2 | #![macro_use] | 3 | #![macro_use] |
| 3 | #![allow(missing_docs)] // TODO | 4 | #![allow(missing_docs)] // TODO |
| 4 | 5 | ||
diff --git a/embassy-stm32/src/can/mod.rs b/embassy-stm32/src/can/mod.rs index 425f9ac2e..915edb3a6 100644 --- a/embassy-stm32/src/can/mod.rs +++ b/embassy-stm32/src/can/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Controller Area Network (CAN) | ||
| 1 | #![macro_use] | 2 | #![macro_use] |
| 2 | 3 | ||
| 3 | #[cfg_attr(can_bxcan, path = "bxcan.rs")] | 4 | #[cfg_attr(can_bxcan, path = "bxcan.rs")] |
diff --git a/embassy-stm32/src/crc/mod.rs b/embassy-stm32/src/crc/mod.rs index 63f7ad9ba..29523b92d 100644 --- a/embassy-stm32/src/crc/mod.rs +++ b/embassy-stm32/src/crc/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Cyclic Redundancy Check (CRC) | ||
| 1 | #[cfg_attr(crc_v1, path = "v1.rs")] | 2 | #[cfg_attr(crc_v1, path = "v1.rs")] |
| 2 | #[cfg_attr(crc_v2, path = "v2v3.rs")] | 3 | #[cfg_attr(crc_v2, path = "v2v3.rs")] |
| 3 | #[cfg_attr(crc_v3, path = "v2v3.rs")] | 4 | #[cfg_attr(crc_v3, path = "v2v3.rs")] |
diff --git a/embassy-stm32/src/dac/mod.rs b/embassy-stm32/src/dac/mod.rs index 9c670195d..31dedf06e 100644 --- a/embassy-stm32/src/dac/mod.rs +++ b/embassy-stm32/src/dac/mod.rs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | //! Provide access to the STM32 digital-to-analog converter (DAC). | 1 | //! Digital to Analog Converter (DAC) |
| 2 | #![macro_use] | 2 | #![macro_use] |
| 3 | 3 | ||
| 4 | use core::marker::PhantomData; | 4 | use core::marker::PhantomData; |
diff --git a/embassy-stm32/src/dcmi.rs b/embassy-stm32/src/dcmi.rs index 139d8fd1b..4d02284b2 100644 --- a/embassy-stm32/src/dcmi.rs +++ b/embassy-stm32/src/dcmi.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Digital Camera Interface (DCMI) | ||
| 1 | use core::future::poll_fn; | 2 | use core::future::poll_fn; |
| 2 | use core::marker::PhantomData; | 3 | use core::marker::PhantomData; |
| 3 | use core::task::Poll; | 4 | use core::task::Poll; |
diff --git a/embassy-stm32/src/eth/mod.rs b/embassy-stm32/src/eth/mod.rs index dbf91eedc..448405507 100644 --- a/embassy-stm32/src/eth/mod.rs +++ b/embassy-stm32/src/eth/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Ethernet (ETH) | ||
| 1 | #![macro_use] | 2 | #![macro_use] |
| 2 | 3 | ||
| 3 | #[cfg_attr(any(eth_v1a, eth_v1b, eth_v1c), path = "v1/mod.rs")] | 4 | #[cfg_attr(any(eth_v1a, eth_v1b, eth_v1c), path = "v1/mod.rs")] |
diff --git a/embassy-stm32/src/exti.rs b/embassy-stm32/src/exti.rs index 371be913e..f83bae3ff 100644 --- a/embassy-stm32/src/exti.rs +++ b/embassy-stm32/src/exti.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! External Interrupts (EXTI) | ||
| 1 | use core::convert::Infallible; | 2 | use core::convert::Infallible; |
| 2 | use core::future::Future; | 3 | use core::future::Future; |
| 3 | use core::marker::PhantomData; | 4 | use core::marker::PhantomData; |
diff --git a/embassy-stm32/src/flash/mod.rs b/embassy-stm32/src/flash/mod.rs index 6b6b4d41c..cbf5c25b2 100644 --- a/embassy-stm32/src/flash/mod.rs +++ b/embassy-stm32/src/flash/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Flash memory (FLASH) | ||
| 1 | use embedded_storage::nor_flash::{NorFlashError, NorFlashErrorKind}; | 2 | use embedded_storage::nor_flash::{NorFlashError, NorFlashErrorKind}; |
| 2 | 3 | ||
| 3 | #[cfg(flash_f4)] | 4 | #[cfg(flash_f4)] |
diff --git a/embassy-stm32/src/fmc.rs b/embassy-stm32/src/fmc.rs index 23ac82f63..873c8a70c 100644 --- a/embassy-stm32/src/fmc.rs +++ b/embassy-stm32/src/fmc.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Flexible Memory Controller (FMC) / Flexible Static Memory Controller (FSMC) | ||
| 1 | use core::marker::PhantomData; | 2 | use core::marker::PhantomData; |
| 2 | 3 | ||
| 3 | use embassy_hal_internal::into_ref; | 4 | use embassy_hal_internal::into_ref; |
diff --git a/embassy-stm32/src/hrtim/mod.rs b/embassy-stm32/src/hrtim/mod.rs index 17096d48c..6539326b4 100644 --- a/embassy-stm32/src/hrtim/mod.rs +++ b/embassy-stm32/src/hrtim/mod.rs | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | //! High Resolution Timer (HRTIM) | ||
| 2 | |||
| 1 | mod traits; | 3 | mod traits; |
| 2 | 4 | ||
| 3 | use core::marker::PhantomData; | 5 | use core::marker::PhantomData; |
diff --git a/embassy-stm32/src/i2c/mod.rs b/embassy-stm32/src/i2c/mod.rs index 0af291e9c..9b0b35eca 100644 --- a/embassy-stm32/src/i2c/mod.rs +++ b/embassy-stm32/src/i2c/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Inter-Integrated-Circuit (I2C) | ||
| 1 | #![macro_use] | 2 | #![macro_use] |
| 2 | 3 | ||
| 3 | #[cfg_attr(i2c_v1, path = "v1.rs")] | 4 | #[cfg_attr(i2c_v1, path = "v1.rs")] |
diff --git a/embassy-stm32/src/i2s.rs b/embassy-stm32/src/i2s.rs index 372c86db3..1f85c0bc5 100644 --- a/embassy-stm32/src/i2s.rs +++ b/embassy-stm32/src/i2s.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Inter-IC Sound (I2S) | ||
| 1 | use embassy_hal_internal::into_ref; | 2 | use embassy_hal_internal::into_ref; |
| 2 | 3 | ||
| 3 | use crate::gpio::sealed::{AFType, Pin as _}; | 4 | use crate::gpio::sealed::{AFType, Pin as _}; |
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs index 5d9b4e6a0..fd691a732 100644 --- a/embassy-stm32/src/lib.rs +++ b/embassy-stm32/src/lib.rs | |||
| @@ -149,15 +149,33 @@ use crate::interrupt::Priority; | |||
| 149 | pub use crate::pac::NVIC_PRIO_BITS; | 149 | pub use crate::pac::NVIC_PRIO_BITS; |
| 150 | use crate::rcc::sealed::RccPeripheral; | 150 | use crate::rcc::sealed::RccPeripheral; |
| 151 | 151 | ||
| 152 | /// `embassy-stm32` global configuration. | ||
| 152 | #[non_exhaustive] | 153 | #[non_exhaustive] |
| 153 | pub struct Config { | 154 | pub struct Config { |
| 155 | /// RCC config. | ||
| 154 | pub rcc: rcc::Config, | 156 | pub rcc: rcc::Config, |
| 157 | |||
| 158 | /// Enable debug during sleep. | ||
| 159 | /// | ||
| 160 | /// May incrase power consumption. Defaults to true. | ||
| 155 | #[cfg(dbgmcu)] | 161 | #[cfg(dbgmcu)] |
| 156 | pub enable_debug_during_sleep: bool, | 162 | pub enable_debug_during_sleep: bool, |
| 163 | |||
| 164 | /// BDMA interrupt priority. | ||
| 165 | /// | ||
| 166 | /// Defaults to P0 (highest). | ||
| 157 | #[cfg(bdma)] | 167 | #[cfg(bdma)] |
| 158 | pub bdma_interrupt_priority: Priority, | 168 | pub bdma_interrupt_priority: Priority, |
| 169 | |||
| 170 | /// DMA interrupt priority. | ||
| 171 | /// | ||
| 172 | /// Defaults to P0 (highest). | ||
| 159 | #[cfg(dma)] | 173 | #[cfg(dma)] |
| 160 | pub dma_interrupt_priority: Priority, | 174 | pub dma_interrupt_priority: Priority, |
| 175 | |||
| 176 | /// GPDMA interrupt priority. | ||
| 177 | /// | ||
| 178 | /// Defaults to P0 (highest). | ||
| 161 | #[cfg(gpdma)] | 179 | #[cfg(gpdma)] |
| 162 | pub gpdma_interrupt_priority: Priority, | 180 | pub gpdma_interrupt_priority: Priority, |
| 163 | } | 181 | } |
| @@ -178,7 +196,11 @@ impl Default for Config { | |||
| 178 | } | 196 | } |
| 179 | } | 197 | } |
| 180 | 198 | ||
| 181 | /// Initialize embassy. | 199 | /// Initialize the `embassy-stm32` HAL with the provided configuration. |
| 200 | /// | ||
| 201 | /// This returns the peripheral singletons that can be used for creating drivers. | ||
| 202 | /// | ||
| 203 | /// This should only be called once at startup, otherwise it panics. | ||
| 182 | pub fn init(config: Config) -> Peripherals { | 204 | pub fn init(config: Config) -> Peripherals { |
| 183 | critical_section::with(|cs| { | 205 | critical_section::with(|cs| { |
| 184 | let p = Peripherals::take_with_cs(cs); | 206 | let p = Peripherals::take_with_cs(cs); |
diff --git a/embassy-stm32/src/qspi/mod.rs b/embassy-stm32/src/qspi/mod.rs index bac91f300..9ea0a726c 100644 --- a/embassy-stm32/src/qspi/mod.rs +++ b/embassy-stm32/src/qspi/mod.rs | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | //! Quad Serial Peripheral Interface (QSPI) | ||
| 2 | |||
| 1 | #![macro_use] | 3 | #![macro_use] |
| 2 | 4 | ||
| 3 | pub mod enums; | 5 | pub mod enums; |
diff --git a/embassy-stm32/src/rng.rs b/embassy-stm32/src/rng.rs index b2196b0d5..6ee89a922 100644 --- a/embassy-stm32/src/rng.rs +++ b/embassy-stm32/src/rng.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Random Number Generator (RNG) | ||
| 1 | #![macro_use] | 2 | #![macro_use] |
| 2 | 3 | ||
| 3 | use core::future::poll_fn; | 4 | use core::future::poll_fn; |
diff --git a/embassy-stm32/src/rtc/mod.rs b/embassy-stm32/src/rtc/mod.rs index fa359cdae..11b252139 100644 --- a/embassy-stm32/src/rtc/mod.rs +++ b/embassy-stm32/src/rtc/mod.rs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | //! RTC peripheral abstraction | 1 | //! Real Time Clock (RTC) |
| 2 | mod datetime; | 2 | mod datetime; |
| 3 | 3 | ||
| 4 | #[cfg(feature = "low-power")] | 4 | #[cfg(feature = "low-power")] |
| @@ -163,7 +163,7 @@ impl RtcTimeProvider { | |||
| 163 | } | 163 | } |
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | /// RTC Abstraction | 166 | /// RTC driver. |
| 167 | pub struct Rtc { | 167 | pub struct Rtc { |
| 168 | #[cfg(feature = "low-power")] | 168 | #[cfg(feature = "low-power")] |
| 169 | stop_time: Mutex<CriticalSectionRawMutex, Cell<Option<RtcInstant>>>, | 169 | stop_time: Mutex<CriticalSectionRawMutex, Cell<Option<RtcInstant>>>, |
diff --git a/embassy-stm32/src/sdmmc/mod.rs b/embassy-stm32/src/sdmmc/mod.rs index 27a12062c..6099b9f43 100644 --- a/embassy-stm32/src/sdmmc/mod.rs +++ b/embassy-stm32/src/sdmmc/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Secure Digital / MultiMedia Card (SDMMC) | ||
| 1 | #![macro_use] | 2 | #![macro_use] |
| 2 | 3 | ||
| 3 | use core::default::Default; | 4 | use core::default::Default; |
diff --git a/embassy-stm32/src/spi/mod.rs b/embassy-stm32/src/spi/mod.rs index 92599c75e..5a1ad3e91 100644 --- a/embassy-stm32/src/spi/mod.rs +++ b/embassy-stm32/src/spi/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Serial Peripheral Interface (SPI) | ||
| 1 | #![macro_use] | 2 | #![macro_use] |
| 2 | 3 | ||
| 3 | use core::ptr; | 4 | use core::ptr; |
diff --git a/embassy-stm32/src/uid.rs b/embassy-stm32/src/uid.rs index 6dcfcb96e..aa13586f8 100644 --- a/embassy-stm32/src/uid.rs +++ b/embassy-stm32/src/uid.rs | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | //! Unique ID (UID) | ||
| 2 | |||
| 1 | /// Get this device's unique 96-bit ID. | 3 | /// Get this device's unique 96-bit ID. |
| 2 | pub fn uid() -> &'static [u8; 12] { | 4 | pub fn uid() -> &'static [u8; 12] { |
| 3 | unsafe { &*crate::pac::UID.uid(0).as_ptr().cast::<[u8; 12]>() } | 5 | unsafe { &*crate::pac::UID.uid(0).as_ptr().cast::<[u8; 12]>() } |
diff --git a/embassy-stm32/src/usart/mod.rs b/embassy-stm32/src/usart/mod.rs index dfa1f3a6a..e2e3bd3eb 100644 --- a/embassy-stm32/src/usart/mod.rs +++ b/embassy-stm32/src/usart/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Universal Synchronous/Asynchronous Receiver Transmitter (USART, UART, LPUART) | ||
| 1 | #![macro_use] | 2 | #![macro_use] |
| 2 | 3 | ||
| 3 | use core::future::poll_fn; | 4 | use core::future::poll_fn; |
diff --git a/embassy-stm32/src/usb_otg/mod.rs b/embassy-stm32/src/usb_otg/mod.rs index be54a3d10..1abd031dd 100644 --- a/embassy-stm32/src/usb_otg/mod.rs +++ b/embassy-stm32/src/usb_otg/mod.rs | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | //! USB On The Go (OTG) | ||
| 2 | |||
| 1 | use crate::rcc::RccPeripheral; | 3 | use crate::rcc::RccPeripheral; |
| 2 | use crate::{interrupt, peripherals}; | 4 | use crate::{interrupt, peripherals}; |
| 3 | 5 | ||
diff --git a/embassy-stm32/src/wdg/mod.rs b/embassy-stm32/src/wdg/mod.rs index c7c2694e0..5751a9ff3 100644 --- a/embassy-stm32/src/wdg/mod.rs +++ b/embassy-stm32/src/wdg/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | //! Watchdog Timer (IWDG, WWDG) | ||
| 1 | use core::marker::PhantomData; | 2 | use core::marker::PhantomData; |
| 2 | 3 | ||
| 3 | use embassy_hal_internal::{into_ref, Peripheral}; | 4 | use embassy_hal_internal::{into_ref, Peripheral}; |
