diff options
| author | Ulf Lilleengen <[email protected]> | 2021-09-15 13:35:22 +0200 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2021-09-15 13:58:01 +0200 |
| commit | 701dd9fa362f31ef23ceeca01f86f92a8ec619b6 (patch) | |
| tree | 906c8df4038df5fc8200fe7388df0af0787cddce | |
| parent | 840a83e196ecf698399ca38466087050ca5b15f1 (diff) | |
Calculate port number based on address and stride
This allows out of order letter to port mapping
| -rw-r--r-- | stm32-metapac-gen/src/lib.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/stm32-metapac-gen/src/lib.rs b/stm32-metapac-gen/src/lib.rs index e802ba4ff..df9f525ec 100644 --- a/stm32-metapac-gen/src/lib.rs +++ b/stm32-metapac-gen/src/lib.rs | |||
| @@ -415,8 +415,7 @@ pub fn gen(options: Options) { | |||
| 415 | match bi.module.as_str() { | 415 | match bi.module.as_str() { |
| 416 | "gpio" => { | 416 | "gpio" => { |
| 417 | let port_letter = name.chars().skip(4).next().unwrap(); | 417 | let port_letter = name.chars().skip(4).next().unwrap(); |
| 418 | let port_num = port_letter as u32 - 'A' as u32; | 418 | let port_num = (p.address as u32 - gpio_base) / gpio_stride; |
| 419 | assert_eq!(p.address as u32, gpio_base + gpio_stride * port_num); | ||
| 420 | 419 | ||
| 421 | for pin_num in 0..16 { | 420 | for pin_num in 0..16 { |
| 422 | let pin_name = format!("P{}{}", port_letter, pin_num); | 421 | let pin_name = format!("P{}{}", port_letter, pin_num); |
