From 01a9decfa10b5980d43f784f552c35fb7f32be6d Mon Sep 17 00:00:00 2001 From: Astro Date: Sun, 1 Sep 2019 23:47:15 +0200 Subject: [PATCH] board: fix gpio initialization --- firmware/src/board/gpio.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/firmware/src/board/gpio.rs b/firmware/src/board/gpio.rs index 477d97a..b6287d9 100644 --- a/firmware/src/board/gpio.rs +++ b/firmware/src/board/gpio.rs @@ -29,14 +29,14 @@ macro_rules! def_gpio { impl Gpio for $PIN { fn into_output(self) -> GpioOutput { let gpio = unsafe { &*tm4c129x::$PORT::ptr() }; - gpio.dir.modify(|_, w| w.dir().bits(1 << $idx)); - gpio.den.modify(|_, w| w.den().bits(1 << $idx)); + gpio.dir.modify(|r, w| w.dir().bits(r.dir().bits() | (1 << $idx))); + gpio.den.modify(|r, w| w.den().bits(r.den().bits() | (1 << $idx))); GpioOutput(self) } fn into_input(self) -> GpioInput { let gpio = unsafe { &*tm4c129x::$PORT::ptr() }; gpio.dir.modify(|r, w| w.dir().bits(r.dir().bits() & !(1 << $idx))); - gpio.den.modify(|_, w| w.den().bits(1 << $idx)); + gpio.den.modify(|r, w| w.den().bits(r.den().bits() | (1 << $idx))); GpioInput(self) } }