diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-05-08 19:53:31 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-05-08 19:53:31 +0000 |
| commit | e9ab960ebf1ab5da2e062663079b77aebf51c40f (patch) | |
| tree | c831703a8a100fa19bc2dde2aa582db824f3d907 | |
| parent | 109364ecfff6f02d3de8ddbe9e905a38497f3973 (diff) | |
| parent | acc176163730ef197ec7b030018bc63b6dd14720 (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.rs | 11 |
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())); |
