summaryrefslogtreecommitdiff
path: root/stm32-metapac-gen
diff options
context:
space:
mode:
authorUlf Lilleengen <ulf.lilleengen@gmail.com>2021-09-15 13:35:22 +0200
committerUlf Lilleengen <ulf.lilleengen@gmail.com>2021-09-15 13:58:01 +0200
commit701dd9fa362f31ef23ceeca01f86f92a8ec619b6 (patch)
tree906c8df4038df5fc8200fe7388df0af0787cddce /stm32-metapac-gen
parent840a83e196ecf698399ca38466087050ca5b15f1 (diff)
downloadembassy-701dd9fa362f31ef23ceeca01f86f92a8ec619b6.zip
Calculate port number based on address and stride
This allows out of order letter to port mapping
Diffstat (limited to 'stm32-metapac-gen')
-rw-r--r--stm32-metapac-gen/src/lib.rs3
1 files changed, 1 insertions, 2 deletions
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);