diff options
| author | jrmoulton <[email protected]> | 2024-06-18 11:05:12 -0600 |
|---|---|---|
| committer | jrmoulton <[email protected]> | 2024-08-13 09:46:16 -0600 |
| commit | 98437e39ee3b62289d1d126141d8cfb150e9c03a (patch) | |
| tree | d5755c797505d255891bccfb410e622c55cf251f | |
| parent | 31f224f43c7b0fa6796b4966b310b0bbe8edd14b (diff) | |
move addr mask impl to be v2 only
| -rw-r--r-- | embassy-stm32/src/i2c/config.rs | 16 | ||||
| -rw-r--r-- | embassy-stm32/src/i2c/v2.rs | 17 |
2 files changed, 16 insertions, 17 deletions
diff --git a/embassy-stm32/src/i2c/config.rs b/embassy-stm32/src/i2c/config.rs index dac7847e8..6f9c53f1f 100644 --- a/embassy-stm32/src/i2c/config.rs +++ b/embassy-stm32/src/i2c/config.rs | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | use stm32_metapac::i2c::vals::Oamsk; | ||
| 2 | |||
| 3 | use crate::gpio::Pull; | 1 | use crate::gpio::Pull; |
| 4 | 2 | ||
| 5 | #[repr(u8)] | 3 | #[repr(u8)] |
| @@ -24,20 +22,6 @@ pub enum AddrMask { | |||
| 24 | /// OA2\[7:1\] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged | 22 | /// OA2\[7:1\] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged |
| 25 | MASK7, | 23 | MASK7, |
| 26 | } | 24 | } |
| 27 | impl From<AddrMask> for Oamsk { | ||
| 28 | fn from(value: AddrMask) -> Self { | ||
| 29 | match value { | ||
| 30 | AddrMask::NOMASK => Oamsk::NOMASK, | ||
| 31 | AddrMask::MASK1 => Oamsk::MASK1, | ||
| 32 | AddrMask::MASK2 => Oamsk::MASK2, | ||
| 33 | AddrMask::MASK3 => Oamsk::MASK3, | ||
| 34 | AddrMask::MASK4 => Oamsk::MASK4, | ||
| 35 | AddrMask::MASK5 => Oamsk::MASK5, | ||
| 36 | AddrMask::MASK6 => Oamsk::MASK6, | ||
| 37 | AddrMask::MASK7 => Oamsk::MASK7, | ||
| 38 | } | ||
| 39 | } | ||
| 40 | } | ||
| 41 | 25 | ||
| 42 | #[derive(Debug, Copy, Clone, PartialEq, Eq)] | 26 | #[derive(Debug, Copy, Clone, PartialEq, Eq)] |
| 43 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] | 27 | #[cfg_attr(feature = "defmt", derive(defmt::Format))] |
diff --git a/embassy-stm32/src/i2c/v2.rs b/embassy-stm32/src/i2c/v2.rs index 6dd7c4079..b6d714327 100644 --- a/embassy-stm32/src/i2c/v2.rs +++ b/embassy-stm32/src/i2c/v2.rs | |||
| @@ -7,11 +7,26 @@ use embassy_embedded_hal::SetConfig; | |||
| 7 | use embassy_hal_internal::drop::OnDrop; | 7 | use embassy_hal_internal::drop::OnDrop; |
| 8 | use embedded_hal_1::i2c::Operation; | 8 | use embedded_hal_1::i2c::Operation; |
| 9 | use mode::{Master, MultiMaster}; | 9 | use mode::{Master, MultiMaster}; |
| 10 | use stm32_metapac::i2c::vals::Addmode; | 10 | use stm32_metapac::i2c::vals::{Addmode, Oamsk}; |
| 11 | 11 | ||
| 12 | use super::*; | 12 | use super::*; |
| 13 | use crate::pac::i2c; | 13 | use crate::pac::i2c; |
| 14 | 14 | ||
| 15 | impl From<AddrMask> for Oamsk { | ||
| 16 | fn from(value: AddrMask) -> Self { | ||
| 17 | match value { | ||
| 18 | AddrMask::NOMASK => Oamsk::NOMASK, | ||
| 19 | AddrMask::MASK1 => Oamsk::MASK1, | ||
| 20 | AddrMask::MASK2 => Oamsk::MASK2, | ||
| 21 | AddrMask::MASK3 => Oamsk::MASK3, | ||
| 22 | AddrMask::MASK4 => Oamsk::MASK4, | ||
| 23 | AddrMask::MASK5 => Oamsk::MASK5, | ||
| 24 | AddrMask::MASK6 => Oamsk::MASK6, | ||
| 25 | AddrMask::MASK7 => Oamsk::MASK7, | ||
| 26 | } | ||
| 27 | } | ||
| 28 | } | ||
| 29 | |||
| 15 | pub(crate) unsafe fn on_interrupt<T: Instance>() { | 30 | pub(crate) unsafe fn on_interrupt<T: Instance>() { |
| 16 | let regs = T::info().regs; | 31 | let regs = T::info().regs; |
| 17 | let isr = regs.isr().read(); | 32 | let isr = regs.isr().read(); |
