diff options
| -rw-r--r-- | embassy-rp/src/pio.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/embassy-rp/src/pio.rs b/embassy-rp/src/pio.rs index c2c144c00..d2eedc72a 100644 --- a/embassy-rp/src/pio.rs +++ b/embassy-rp/src/pio.rs | |||
| @@ -181,7 +181,7 @@ impl<'a, 'd, PIO: Instance, const SM: usize> Drop for FifoInFuture<'a, 'd, PIO, | |||
| 181 | /// Future that waits for IRQ | 181 | /// Future that waits for IRQ |
| 182 | #[must_use = "futures do nothing unless you `.await` or poll them"] | 182 | #[must_use = "futures do nothing unless you `.await` or poll them"] |
| 183 | pub struct IrqFuture<'a, 'd, PIO: Instance> { | 183 | pub struct IrqFuture<'a, 'd, PIO: Instance> { |
| 184 | pio: PhantomData<&'a Irq<'d, PIO, 0>>, | 184 | pio: PhantomData<&'a mut Irq<'d, PIO, 0>>, |
| 185 | irq_no: u8, | 185 | irq_no: u8, |
| 186 | } | 186 | } |
| 187 | 187 | ||
| @@ -287,7 +287,7 @@ impl<'l, PIO: Instance> Pin<'l, PIO> { | |||
| 287 | } | 287 | } |
| 288 | 288 | ||
| 289 | pub struct StateMachineRx<'d, PIO: Instance, const SM: usize> { | 289 | pub struct StateMachineRx<'d, PIO: Instance, const SM: usize> { |
| 290 | pio: PhantomData<&'d PIO>, | 290 | pio: PhantomData<&'d mut PIO>, |
| 291 | } | 291 | } |
| 292 | 292 | ||
| 293 | impl<'d, PIO: Instance, const SM: usize> StateMachineRx<'d, PIO, SM> { | 293 | impl<'d, PIO: Instance, const SM: usize> StateMachineRx<'d, PIO, SM> { |
| @@ -364,7 +364,7 @@ impl<'d, PIO: Instance, const SM: usize> StateMachineRx<'d, PIO, SM> { | |||
| 364 | } | 364 | } |
| 365 | 365 | ||
| 366 | pub struct StateMachineTx<'d, PIO: Instance, const SM: usize> { | 366 | pub struct StateMachineTx<'d, PIO: Instance, const SM: usize> { |
| 367 | pio: PhantomData<&'d PIO>, | 367 | pio: PhantomData<&'d mut PIO>, |
| 368 | } | 368 | } |
| 369 | 369 | ||
| 370 | impl<'d, PIO: Instance, const SM: usize> StateMachineTx<'d, PIO, SM> { | 370 | impl<'d, PIO: Instance, const SM: usize> StateMachineTx<'d, PIO, SM> { |
| @@ -777,7 +777,7 @@ impl<'d, PIO: Instance + 'd, const SM: usize> StateMachine<'d, PIO, SM> { | |||
| 777 | 777 | ||
| 778 | pub struct Common<'d, PIO: Instance> { | 778 | pub struct Common<'d, PIO: Instance> { |
| 779 | instructions_used: u32, | 779 | instructions_used: u32, |
| 780 | pio: PhantomData<&'d PIO>, | 780 | pio: PhantomData<&'d mut PIO>, |
| 781 | } | 781 | } |
| 782 | 782 | ||
| 783 | impl<'d, PIO: Instance> Drop for Common<'d, PIO> { | 783 | impl<'d, PIO: Instance> Drop for Common<'d, PIO> { |
| @@ -788,7 +788,7 @@ impl<'d, PIO: Instance> Drop for Common<'d, PIO> { | |||
| 788 | 788 | ||
| 789 | pub struct InstanceMemory<'d, PIO: Instance> { | 789 | pub struct InstanceMemory<'d, PIO: Instance> { |
| 790 | used_mask: u32, | 790 | used_mask: u32, |
| 791 | pio: PhantomData<&'d PIO>, | 791 | pio: PhantomData<&'d mut PIO>, |
| 792 | } | 792 | } |
| 793 | 793 | ||
| 794 | impl<'d, PIO: Instance> Common<'d, PIO> { | 794 | impl<'d, PIO: Instance> Common<'d, PIO> { |
| @@ -859,7 +859,7 @@ impl<'d, PIO: Instance> Common<'d, PIO> { | |||
| 859 | } | 859 | } |
| 860 | 860 | ||
| 861 | pub struct Irq<'d, PIO: Instance, const N: usize> { | 861 | pub struct Irq<'d, PIO: Instance, const N: usize> { |
| 862 | pio: PhantomData<&'d PIO>, | 862 | pio: PhantomData<&'d mut PIO>, |
| 863 | } | 863 | } |
| 864 | 864 | ||
| 865 | impl<'d, PIO: Instance, const N: usize> Irq<'d, PIO, N> { | 865 | impl<'d, PIO: Instance, const N: usize> Irq<'d, PIO, N> { |
| @@ -873,7 +873,7 @@ impl<'d, PIO: Instance, const N: usize> Irq<'d, PIO, N> { | |||
| 873 | 873 | ||
| 874 | #[derive(Clone)] | 874 | #[derive(Clone)] |
| 875 | pub struct IrqFlags<'d, PIO: Instance> { | 875 | pub struct IrqFlags<'d, PIO: Instance> { |
| 876 | pio: PhantomData<&'d PIO>, | 876 | pio: PhantomData<&'d mut PIO>, |
| 877 | } | 877 | } |
| 878 | 878 | ||
| 879 | impl<'d, PIO: Instance> IrqFlags<'d, PIO> { | 879 | impl<'d, PIO: Instance> IrqFlags<'d, PIO> { |
| @@ -920,6 +920,7 @@ pub struct Pio<'d, PIO: Instance> { | |||
| 920 | pub sm1: StateMachine<'d, PIO, 1>, | 920 | pub sm1: StateMachine<'d, PIO, 1>, |
| 921 | pub sm2: StateMachine<'d, PIO, 2>, | 921 | pub sm2: StateMachine<'d, PIO, 2>, |
| 922 | pub sm3: StateMachine<'d, PIO, 3>, | 922 | pub sm3: StateMachine<'d, PIO, 3>, |
| 923 | _pio: PhantomData<&'d mut PIO>, | ||
| 923 | } | 924 | } |
| 924 | 925 | ||
| 925 | impl<'d, PIO: Instance> Pio<'d, PIO> { | 926 | impl<'d, PIO: Instance> Pio<'d, PIO> { |
| @@ -952,6 +953,7 @@ impl<'d, PIO: Instance> Pio<'d, PIO> { | |||
| 952 | rx: StateMachineRx { pio: PhantomData }, | 953 | rx: StateMachineRx { pio: PhantomData }, |
| 953 | tx: StateMachineTx { pio: PhantomData }, | 954 | tx: StateMachineTx { pio: PhantomData }, |
| 954 | }, | 955 | }, |
| 956 | _pio: PhantomData, | ||
| 955 | } | 957 | } |
| 956 | } | 958 | } |
| 957 | } | 959 | } |
