aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <[email protected]>2023-09-04 16:18:31 -0500
committerxoviat <[email protected]>2023-09-04 16:18:31 -0500
commitd19e1c1dd1c8c514c375bca3ba69f636a0b19f88 (patch)
tree118490c3fcfbe39343795509d239621e84746701
parent6dc56d2b35d065ba0023fb0bcad27ecd2602fb0e (diff)
stm32: only refcount usart and use kind direclty
-rw-r--r--embassy-stm32/build.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/embassy-stm32/build.rs b/embassy-stm32/build.rs
index 7da3cdffb..aef0668a2 100644
--- a/embassy-stm32/build.rs
+++ b/embassy-stm32/build.rs
@@ -309,7 +309,7 @@ fn main() {
309 // Generate RccPeripheral impls 309 // Generate RccPeripheral impls
310 310
311 // TODO: maybe get this from peripheral kind? Not sure 311 // TODO: maybe get this from peripheral kind? Not sure
312 let refcounted_peripherals = HashSet::from(["UART", "USART", "SPI", "I2C"]); 312 let refcounted_peripherals = HashSet::from(["USART"]);
313 let mut refcount_statics = HashSet::new(); 313 let mut refcount_statics = HashSet::new();
314 314
315 for p in METADATA.peripherals { 315 for p in METADATA.peripherals {
@@ -348,13 +348,13 @@ fn main() {
348 TokenStream::new() 348 TokenStream::new()
349 }; 349 };
350 350
351 let ptype = p.name.replace(|c| char::is_numeric(c), ""); 351 let ptype = (if let Some(reg) = &p.registers { reg.kind } else { "" }).to_ascii_uppercase();
352 let pname = format_ident!("{}", p.name); 352 let pname = format_ident!("{}", p.name);
353 let clk = format_ident!("{}", rcc.clock.to_ascii_lowercase()); 353 let clk = format_ident!("{}", rcc.clock.to_ascii_lowercase());
354 let en_reg = format_ident!("{}", en.register.to_ascii_lowercase()); 354 let en_reg = format_ident!("{}", en.register.to_ascii_lowercase());
355 let set_en_field = format_ident!("set_{}", en.field.to_ascii_lowercase()); 355 let set_en_field = format_ident!("set_{}", en.field.to_ascii_lowercase());
356 356
357 let (before_enable, before_disable) = if refcounted_peripherals.contains(ptype.trim_start_matches("LP")) { 357 let (before_enable, before_disable) = if refcounted_peripherals.contains(ptype.as_str()) {
358 let refcount_static = 358 let refcount_static =
359 format_ident!("{}_{}", en.register.to_ascii_uppercase(), en.field.to_ascii_uppercase()); 359 format_ident!("{}_{}", en.register.to_ascii_uppercase(), en.field.to_ascii_uppercase());
360 360