diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index 0bbe38cfe..7fce5b87a 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 ba674207d..05cc3d3b7 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 2fc07cd5e..8f8dd753b 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 4f629e33d..8ed31d7b4 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;