diff options
| author | Grant Miller <[email protected]> | 2022-07-03 16:16:10 -0500 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2022-07-23 01:33:22 +0200 |
| commit | 65a82d02d17fc491246eae219f416e565719c0ac (patch) | |
| tree | 1d4842d73031529f018d6b96a84c090e0fb3eb82 /embassy-nrf/src/buffered_uarte.rs | |
| parent | ffbd9363f2a52fd27c81bbfbbe8e0e605a1ece86 (diff) | |
WIP: Make unborrow safe to use
Diffstat (limited to 'embassy-nrf/src/buffered_uarte.rs')
| -rw-r--r-- | embassy-nrf/src/buffered_uarte.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/embassy-nrf/src/buffered_uarte.rs b/embassy-nrf/src/buffered_uarte.rs index 4fc78b95d..d251ce347 100644 --- a/embassy-nrf/src/buffered_uarte.rs +++ b/embassy-nrf/src/buffered_uarte.rs | |||
| @@ -147,7 +147,8 @@ impl<'d, U: UarteInstance, T: TimerInstance> BufferedUarte<'d, U, T> { | |||
| 147 | timer.cc(0).short_compare_stop(); | 147 | timer.cc(0).short_compare_stop(); |
| 148 | 148 | ||
| 149 | let mut ppi_ch1 = Ppi::new_one_to_two( | 149 | let mut ppi_ch1 = Ppi::new_one_to_two( |
| 150 | ppi_ch1.degrade(), | 150 | //TODO: Avoid into_inner? |
| 151 | unsafe { ppi_ch1.into_inner() }.degrade(), | ||
| 151 | Event::from_reg(&r.events_rxdrdy), | 152 | Event::from_reg(&r.events_rxdrdy), |
| 152 | timer.task_clear(), | 153 | timer.task_clear(), |
| 153 | timer.task_start(), | 154 | timer.task_start(), |
| @@ -155,14 +156,16 @@ impl<'d, U: UarteInstance, T: TimerInstance> BufferedUarte<'d, U, T> { | |||
| 155 | ppi_ch1.enable(); | 156 | ppi_ch1.enable(); |
| 156 | 157 | ||
| 157 | let mut ppi_ch2 = Ppi::new_one_to_one( | 158 | let mut ppi_ch2 = Ppi::new_one_to_one( |
| 158 | ppi_ch2.degrade(), | 159 | //TODO: Avoid into_inner? |
| 160 | unsafe { ppi_ch2.into_inner() }.degrade(), | ||
| 159 | timer.cc(0).event_compare(), | 161 | timer.cc(0).event_compare(), |
| 160 | Task::from_reg(&r.tasks_stoprx), | 162 | Task::from_reg(&r.tasks_stoprx), |
| 161 | ); | 163 | ); |
| 162 | ppi_ch2.enable(); | 164 | ppi_ch2.enable(); |
| 163 | 165 | ||
| 164 | Self { | 166 | Self { |
| 165 | inner: PeripheralMutex::new(irq, &mut state.0, move || StateInner { | 167 | //TODO: Avoid into_inner? |
| 168 | inner: PeripheralMutex::new(unsafe { irq.into_inner() }, &mut state.0, move || StateInner { | ||
| 166 | phantom: PhantomData, | 169 | phantom: PhantomData, |
| 167 | timer, | 170 | timer, |
| 168 | _ppi_ch1: ppi_ch1, | 171 | _ppi_ch1: ppi_ch1, |
