diff options
Diffstat (limited to 'embassy-rp/src/i2c.rs')
| -rw-r--r-- | embassy-rp/src/i2c.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/embassy-rp/src/i2c.rs b/embassy-rp/src/i2c.rs index 124f1c00a..ce9a082a2 100644 --- a/embassy-rp/src/i2c.rs +++ b/embassy-rp/src/i2c.rs | |||
| @@ -2,14 +2,14 @@ use core::future; | |||
| 2 | use core::marker::PhantomData; | 2 | use core::marker::PhantomData; |
| 3 | use core::task::Poll; | 3 | use core::task::Poll; |
| 4 | 4 | ||
| 5 | use embassy_cortex_m::interrupt::{self, Binding, Interrupt}; | ||
| 6 | use embassy_hal_common::{into_ref, PeripheralRef}; | 5 | use embassy_hal_common::{into_ref, PeripheralRef}; |
| 7 | use embassy_sync::waitqueue::AtomicWaker; | 6 | use embassy_sync::waitqueue::AtomicWaker; |
| 8 | use pac::i2c; | 7 | use pac::i2c; |
| 9 | 8 | ||
| 10 | use crate::gpio::sealed::Pin; | 9 | use crate::gpio::sealed::Pin; |
| 11 | use crate::gpio::AnyPin; | 10 | use crate::gpio::AnyPin; |
| 12 | use crate::{pac, peripherals, Peripheral}; | 11 | use crate::interrupt::typelevel::{Binding, Interrupt}; |
| 12 | use crate::{interrupt, pac, peripherals, Peripheral}; | ||
| 13 | 13 | ||
| 14 | /// I2C error abort reason | 14 | /// I2C error abort reason |
| 15 | #[derive(Debug)] | 15 | #[derive(Debug)] |
| @@ -312,7 +312,7 @@ pub struct InterruptHandler<T: Instance> { | |||
| 312 | _uart: PhantomData<T>, | 312 | _uart: PhantomData<T>, |
| 313 | } | 313 | } |
| 314 | 314 | ||
| 315 | impl<T: Instance> interrupt::Handler<T::Interrupt> for InterruptHandler<T> { | 315 | impl<T: Instance> interrupt::typelevel::Handler<T::Interrupt> for InterruptHandler<T> { |
| 316 | // Mask interrupts and wake any task waiting for this interrupt | 316 | // Mask interrupts and wake any task waiting for this interrupt |
| 317 | unsafe fn on_interrupt() { | 317 | unsafe fn on_interrupt() { |
| 318 | let i2c = T::regs(); | 318 | let i2c = T::regs(); |
| @@ -760,14 +760,15 @@ fn i2c_reserved_addr(addr: u16) -> bool { | |||
| 760 | } | 760 | } |
| 761 | 761 | ||
| 762 | mod sealed { | 762 | mod sealed { |
| 763 | use embassy_cortex_m::interrupt::Interrupt; | ||
| 764 | use embassy_sync::waitqueue::AtomicWaker; | 763 | use embassy_sync::waitqueue::AtomicWaker; |
| 765 | 764 | ||
| 765 | use crate::interrupt; | ||
| 766 | |||
| 766 | pub trait Instance { | 767 | pub trait Instance { |
| 767 | const TX_DREQ: u8; | 768 | const TX_DREQ: u8; |
| 768 | const RX_DREQ: u8; | 769 | const RX_DREQ: u8; |
| 769 | 770 | ||
| 770 | type Interrupt: Interrupt; | 771 | type Interrupt: interrupt::typelevel::Interrupt; |
| 771 | 772 | ||
| 772 | fn regs() -> crate::pac::i2c::I2c; | 773 | fn regs() -> crate::pac::i2c::I2c; |
| 773 | fn reset() -> crate::pac::resets::regs::Peripherals; | 774 | fn reset() -> crate::pac::resets::regs::Peripherals; |
| @@ -803,7 +804,7 @@ macro_rules! impl_instance { | |||
| 803 | const TX_DREQ: u8 = $tx_dreq; | 804 | const TX_DREQ: u8 = $tx_dreq; |
| 804 | const RX_DREQ: u8 = $rx_dreq; | 805 | const RX_DREQ: u8 = $rx_dreq; |
| 805 | 806 | ||
| 806 | type Interrupt = crate::interrupt::$irq; | 807 | type Interrupt = crate::interrupt::typelevel::$irq; |
| 807 | 808 | ||
| 808 | #[inline] | 809 | #[inline] |
| 809 | fn regs() -> pac::i2c::I2c { | 810 | fn regs() -> pac::i2c::I2c { |
