aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-05-08 19:53:31 +0000
committerGitHub <[email protected]>2022-05-08 19:53:31 +0000
commite9ab960ebf1ab5da2e062663079b77aebf51c40f (patch)
treec831703a8a100fa19bc2dde2aa582db824f3d907
parent109364ecfff6f02d3de8ddbe9e905a38497f3973 (diff)
parentacc176163730ef197ec7b030018bc63b6dd14720 (diff)
Merge #760
760: stm32/gpio: Add support for `set_speed` for gpio v1 r=Dirbaio a=GrantM11235 Co-authored-by: Grant Miller <[email protected]>
-rw-r--r--embassy-stm32/src/gpio.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/embassy-stm32/src/gpio.rs b/embassy-stm32/src/gpio.rs
index 30f900316..b6982e91a 100644
--- a/embassy-stm32/src/gpio.rs
+++ b/embassy-stm32/src/gpio.rs
@@ -511,10 +511,19 @@ pub(crate) mod sealed {
511 self.set_as_analog(); 511 self.set_as_analog();
512 } 512 }
513 513
514 #[cfg(gpio_v2)]
515 #[inline] 514 #[inline]
516 unsafe fn set_speed(&self, speed: Speed) { 515 unsafe fn set_speed(&self, speed: Speed) {
517 let pin = self._pin() as usize; 516 let pin = self._pin() as usize;
517
518 #[cfg(gpio_v1)]
519 {
520 let crlh = if pin < 8 { 0 } else { 1 };
521 self.block().cr(crlh).modify(|w| {
522 w.set_mode(pin % 8, speed.into());
523 });
524 }
525
526 #[cfg(gpio_v2)]
518 self.block() 527 self.block()
519 .ospeedr() 528 .ospeedr()
520 .modify(|w| w.set_ospeedr(pin, speed.into())); 529 .modify(|w| w.set_ospeedr(pin, speed.into()));