diff options
| author | xoviat <[email protected]> | 2023-09-04 16:18:31 -0500 |
|---|---|---|
| committer | xoviat <[email protected]> | 2023-09-04 16:18:31 -0500 |
| commit | d19e1c1dd1c8c514c375bca3ba69f636a0b19f88 (patch) | |
| tree | 118490c3fcfbe39343795509d239621e84746701 | |
| parent | 6dc56d2b35d065ba0023fb0bcad27ecd2602fb0e (diff) | |
stm32: only refcount usart and use kind direclty
| -rw-r--r-- | embassy-stm32/build.rs | 6 |
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 | ||
