diff options
| author | Daniel Bevenius <[email protected]> | 2022-05-17 06:27:26 +0200 |
|---|---|---|
| committer | Daniel Bevenius <[email protected]> | 2022-05-17 08:43:03 +0200 |
| commit | a3e0fcef0bf18ff862c80a8b2fec3292dbddcfdf (patch) | |
| tree | 4c19b842ef45967e3e7aad1bdd40f7098a037af6 /embassy-rp | |
| parent | 3d1501c02038e5fe6f6d3b72bd18bd7a52595a77 (diff) | |
Impl drop for embassy-rp gpio Output
This commit implements drop for embassy-rp gpio Output which is
currently a todo.
Diffstat (limited to 'embassy-rp')
| -rw-r--r-- | embassy-rp/src/gpio.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/embassy-rp/src/gpio.rs b/embassy-rp/src/gpio.rs index 28dfce476..68995b78f 100644 --- a/embassy-rp/src/gpio.rs +++ b/embassy-rp/src/gpio.rs | |||
| @@ -135,7 +135,14 @@ impl<'d, T: Pin> Output<'d, T> { | |||
| 135 | 135 | ||
| 136 | impl<'d, T: Pin> Drop for Output<'d, T> { | 136 | impl<'d, T: Pin> Drop for Output<'d, T> { |
| 137 | fn drop(&mut self) { | 137 | fn drop(&mut self) { |
| 138 | // todo | 138 | let val = 1 << self.pin.pin(); |
| 139 | unsafe { | ||
| 140 | self.pin.sio_out().value_clr().write_value(val); | ||
| 141 | self.pin.sio_oe().value_clr().write_value(val); | ||
| 142 | self.pin.io().ctrl().write(|w| { | ||
| 143 | w.set_funcsel(pac::io::vals::Gpio0CtrlFuncsel::NULL.0); | ||
| 144 | }); | ||
| 145 | }; | ||
| 139 | } | 146 | } |
| 140 | } | 147 | } |
| 141 | 148 | ||
