From 701dd9fa362f31ef23ceeca01f86f92a8ec619b6 Mon Sep 17 00:00:00 2001 From: Ulf Lilleengen Date: Wed, 15 Sep 2021 13:35:22 +0200 Subject: Calculate port number based on address and stride This allows out of order letter to port mapping --- stm32-metapac-gen/src/lib.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'stm32-metapac-gen') diff --git a/stm32-metapac-gen/src/lib.rs b/stm32-metapac-gen/src/lib.rs index e802ba4f..df9f525e 100644 --- a/stm32-metapac-gen/src/lib.rs +++ b/stm32-metapac-gen/src/lib.rs @@ -415,8 +415,7 @@ pub fn gen(options: Options) { match bi.module.as_str() { "gpio" => { let port_letter = name.chars().skip(4).next().unwrap(); - let port_num = port_letter as u32 - 'A' as u32; - assert_eq!(p.address as u32, gpio_base + gpio_stride * port_num); + let port_num = (p.address as u32 - gpio_base) / gpio_stride; for pin_num in 0..16 { let pin_name = format!("P{}{}", port_letter, pin_num); -- cgit v1.2.3