From a0fe9e46457afa4fde5632a0e0d9e7478fa90e1b Mon Sep 17 00:00:00 2001 From: Thales Fragoso Date: Sat, 22 May 2021 15:22:00 -0300 Subject: [PATCH] Add unstable feature to give access to the pac --- embassy-stm32/Cargo.toml | 3 +++ embassy-stm32/gen.py | 3 ++- embassy-stm32/src/lib.rs | 4 ++++ embassy-stm32/src/pac/mod.rs | 3 ++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index 0bbe38cf..7fce5b87 100644 --- a/embassy-stm32/Cargo.toml +++ b/embassy-stm32/Cargo.toml @@ -31,6 +31,9 @@ defmt-info = [ ] defmt-warn = [ ] defmt-error = [ ] sdmmc-rs = ["embedded-sdmmc"] +# Unstable feature to give access to the pac used in embassy-stm32, changes with this feature don't +# follow semver +pac = [] # BEGIN GENERATED FEATURES stm32f401cb = [ "_dma", "_dma_v2", "_exti", "_exti_v1", "_gpio", "_gpio_v2", "_spi", "_spi_v1", "_stm32f4", "_syscfg", "_syscfg_f4", "_usart", "_usart_v1",] diff --git a/embassy-stm32/gen.py b/embassy-stm32/gen.py index ba674207..05cc3d3b 100644 --- a/embassy-stm32/gen.py +++ b/embassy-stm32/gen.py @@ -42,7 +42,8 @@ with open('src/pac/mod.rs', 'w') as f: f'#[cfg_attr(feature="{chip["name"]}", path="{chip["name"]}.rs")]\n') f.write('mod chip;\n') f.write('pub use chip::*;\n') - f.write('pub(crate) mod regs;\n') + f.write('#[allow(dead_code, unused_imports)]\n') + f.write('pub mod regs;\n') # ========= Generate pac/stm32xxx.rs diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs index 2fc07cd5..8f8dd753 100644 --- a/embassy-stm32/src/lib.rs +++ b/embassy-stm32/src/lib.rs @@ -25,7 +25,11 @@ pub mod spi; pub mod usart; // This must go LAST so that it sees the `impl_foo!` macros +#[cfg(feature = "pac")] pub mod pac; + +#[cfg(not(feature = "pac"))] +mod pac; pub mod time; pub use embassy_macros::interrupt; diff --git a/embassy-stm32/src/pac/mod.rs b/embassy-stm32/src/pac/mod.rs index 4f629e33..8ed31d7b 100644 --- a/embassy-stm32/src/pac/mod.rs +++ b/embassy-stm32/src/pac/mod.rs @@ -503,4 +503,5 @@ #[cfg_attr(feature = "stm32l4s9zi", path = "stm32l4s9zi.rs")] mod chip; pub use chip::*; -pub(crate) mod regs; +#[allow(dead_code, unused_imports)] +pub mod regs;