diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-12-19 18:03:20 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-12-19 18:03:20 +0100 |
| commit | c8c8b89104acb396476b72ff9192d7b14a46752d (patch) | |
| tree | 1367fd299022eb91ddbfd01bf73b55ae58a013ec /embassy-stm32/src/ipcc.rs | |
| parent | 189b15c426a3a9ef7d4024ba7e5de6a255f88ee7 (diff) | |
stm32: doc everything else.
Diffstat (limited to 'embassy-stm32/src/ipcc.rs')
| -rw-r--r-- | embassy-stm32/src/ipcc.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/embassy-stm32/src/ipcc.rs b/embassy-stm32/src/ipcc.rs index 4006dee19..663a7f59d 100644 --- a/embassy-stm32/src/ipcc.rs +++ b/embassy-stm32/src/ipcc.rs | |||
| @@ -1,3 +1,5 @@ | |||
| 1 | //! Inter-Process Communication Controller (IPCC) | ||
| 2 | |||
| 1 | use core::future::poll_fn; | 3 | use core::future::poll_fn; |
| 2 | use core::sync::atomic::{compiler_fence, Ordering}; | 4 | use core::sync::atomic::{compiler_fence, Ordering}; |
| 3 | use core::task::Poll; | 5 | use core::task::Poll; |
| @@ -41,6 +43,7 @@ impl interrupt::typelevel::Handler<interrupt::typelevel::IPCC_C1_RX> for Receive | |||
| 41 | } | 43 | } |
| 42 | } | 44 | } |
| 43 | 45 | ||
| 46 | /// TX interrupt handler. | ||
| 44 | pub struct TransmitInterruptHandler {} | 47 | pub struct TransmitInterruptHandler {} |
| 45 | 48 | ||
| 46 | impl interrupt::typelevel::Handler<interrupt::typelevel::IPCC_C1_TX> for TransmitInterruptHandler { | 49 | impl interrupt::typelevel::Handler<interrupt::typelevel::IPCC_C1_TX> for TransmitInterruptHandler { |
| @@ -72,6 +75,7 @@ impl interrupt::typelevel::Handler<interrupt::typelevel::IPCC_C1_TX> for Transmi | |||
| 72 | } | 75 | } |
| 73 | } | 76 | } |
| 74 | 77 | ||
| 78 | /// IPCC config. | ||
| 75 | #[non_exhaustive] | 79 | #[non_exhaustive] |
| 76 | #[derive(Clone, Copy, Default)] | 80 | #[derive(Clone, Copy, Default)] |
| 77 | pub struct Config { | 81 | pub struct Config { |
| @@ -79,6 +83,8 @@ pub struct Config { | |||
| 79 | // reserved for future use | 83 | // reserved for future use |
| 80 | } | 84 | } |
| 81 | 85 | ||
| 86 | /// Channel. | ||
| 87 | #[allow(missing_docs)] | ||
| 82 | #[derive(Debug, Clone, Copy)] | 88 | #[derive(Debug, Clone, Copy)] |
| 83 | #[repr(C)] | 89 | #[repr(C)] |
| 84 | pub enum IpccChannel { | 90 | pub enum IpccChannel { |
| @@ -90,9 +96,11 @@ pub enum IpccChannel { | |||
| 90 | Channel6 = 5, | 96 | Channel6 = 5, |
| 91 | } | 97 | } |
| 92 | 98 | ||
| 99 | /// IPCC driver. | ||
| 93 | pub struct Ipcc; | 100 | pub struct Ipcc; |
| 94 | 101 | ||
| 95 | impl Ipcc { | 102 | impl Ipcc { |
| 103 | /// Enable IPCC. | ||
| 96 | pub fn enable(_config: Config) { | 104 | pub fn enable(_config: Config) { |
| 97 | IPCC::enable_and_reset(); | 105 | IPCC::enable_and_reset(); |
| 98 | IPCC::set_cpu2(true); | 106 | IPCC::set_cpu2(true); |
