From 2e23e877148d5873ff4e995452325c97707fdfed Mon Sep 17 00:00:00 2001 From: xoviat Date: Wed, 3 Dec 2025 18:24:55 -0600 Subject: stm32: add wpan dependency to wba examples --- embassy-stm32-wpan/Cargo.toml | 105 ++++++++++++++++++++------------------ embassy-stm32-wpan/src/lib.rs | 8 +++ embassy-stm32-wpan/src/wba/mod.rs | 2 + examples/stm32wba/Cargo.toml | 6 +++ 4 files changed, 71 insertions(+), 50 deletions(-) create mode 100644 embassy-stm32-wpan/src/wba/mod.rs diff --git a/embassy-stm32-wpan/Cargo.toml b/embassy-stm32-wpan/Cargo.toml index 92218ecc1..3d587d0be 100644 --- a/embassy-stm32-wpan/Cargo.toml +++ b/embassy-stm32-wpan/Cargo.toml @@ -53,58 +53,63 @@ bitflags = { version = "2.3.3", optional = true } [features] defmt = ["dep:defmt", "embassy-sync/defmt", "embassy-embedded-hal/defmt", "embassy-hal-internal/defmt", "stm32wb-hci?/defmt"] +wb55 = [] wb55_ble = ["dep:stm32wb-hci"] wb55_mac = ["dep:bitflags", "dep:embassy-net-driver", "dep:smoltcp", "smoltcp/medium-ieee802154"] +wba = [ "dep:stm32-bindings" ] +wba_ble = [ "stm32-bindings/wba_wpan_mac" ] +wba_mac = [ "stm32-bindings/wba_wpan_ble" ] + extended = [] -stm32wb10cc = [ "embassy-stm32/stm32wb10cc" ] -stm32wb15cc = [ "embassy-stm32/stm32wb15cc" ] -stm32wb30ce = [ "embassy-stm32/stm32wb30ce" ] -stm32wb35cc = [ "embassy-stm32/stm32wb35cc" ] -stm32wb35ce = [ "embassy-stm32/stm32wb35ce" ] -stm32wb50cg = [ "embassy-stm32/stm32wb50cg" ] -stm32wb55cc = [ "embassy-stm32/stm32wb55cc" ] -stm32wb55ce = [ "embassy-stm32/stm32wb55ce" ] -stm32wb55cg = [ "embassy-stm32/stm32wb55cg" ] -stm32wb55rc = [ "embassy-stm32/stm32wb55rc" ] -stm32wb55re = [ "embassy-stm32/stm32wb55re" ] -stm32wb55rg = [ "embassy-stm32/stm32wb55rg" ] -stm32wb55vc = [ "embassy-stm32/stm32wb55vc" ] -stm32wb55ve = [ "embassy-stm32/stm32wb55ve" ] -stm32wb55vg = [ "embassy-stm32/stm32wb55vg" ] -stm32wb55vy = [ "embassy-stm32/stm32wb55vy" ] -stm32wba50ke = [ "embassy-stm32/stm32wba50ke" ] -stm32wba50kg = [ "embassy-stm32/stm32wba50kg" ] -stm32wba52ce = [ "embassy-stm32/stm32wba52ce" ] -stm32wba52cg = [ "embassy-stm32/stm32wba52cg" ] -stm32wba52ke = [ "embassy-stm32/stm32wba52ke" ] -stm32wba52kg = [ "embassy-stm32/stm32wba52kg" ] -stm32wba54ce = [ "embassy-stm32/stm32wba54ce" ] -stm32wba54cg = [ "embassy-stm32/stm32wba54cg" ] -stm32wba54ke = [ "embassy-stm32/stm32wba54ke" ] -stm32wba54kg = [ "embassy-stm32/stm32wba54kg" ] -stm32wba55ce = [ "embassy-stm32/stm32wba55ce" ] -stm32wba55cg = [ "embassy-stm32/stm32wba55cg" ] -stm32wba55he = [ "embassy-stm32/stm32wba55he" ] -stm32wba55hg = [ "embassy-stm32/stm32wba55hg" ] -stm32wba55ue = [ "embassy-stm32/stm32wba55ue" ] -stm32wba55ug = [ "embassy-stm32/stm32wba55ug" ] -stm32wba62cg = [ "embassy-stm32/stm32wba62cg" ] -stm32wba62ci = [ "embassy-stm32/stm32wba62ci" ] -stm32wba62mg = [ "embassy-stm32/stm32wba62mg" ] -stm32wba62mi = [ "embassy-stm32/stm32wba62mi" ] -stm32wba62pg = [ "embassy-stm32/stm32wba62pg" ] -stm32wba62pi = [ "embassy-stm32/stm32wba62pi" ] -stm32wba63cg = [ "embassy-stm32/stm32wba63cg" ] -stm32wba63ci = [ "embassy-stm32/stm32wba63ci" ] -stm32wba64cg = [ "embassy-stm32/stm32wba64cg" ] -stm32wba64ci = [ "embassy-stm32/stm32wba64ci" ] -stm32wba65cg = [ "embassy-stm32/stm32wba65cg" ] -stm32wba65ci = [ "embassy-stm32/stm32wba65ci" ] -stm32wba65mg = [ "embassy-stm32/stm32wba65mg" ] -stm32wba65mi = [ "embassy-stm32/stm32wba65mi" ] -stm32wba65pg = [ "embassy-stm32/stm32wba65pg" ] -stm32wba65pi = [ "embassy-stm32/stm32wba65pi" ] -stm32wba65rg = [ "embassy-stm32/stm32wba65rg" ] -stm32wba65ri = [ "embassy-stm32/stm32wba65ri" ] +stm32wb10cc = [ "embassy-stm32/stm32wb10cc" , "wb55" ] +stm32wb15cc = [ "embassy-stm32/stm32wb15cc" , "wb55" ] +stm32wb30ce = [ "embassy-stm32/stm32wb30ce" , "wb55" ] +stm32wb35cc = [ "embassy-stm32/stm32wb35cc" , "wb55" ] +stm32wb35ce = [ "embassy-stm32/stm32wb35ce" , "wb55" ] +stm32wb50cg = [ "embassy-stm32/stm32wb50cg" , "wb55" ] +stm32wb55cc = [ "embassy-stm32/stm32wb55cc" , "wb55" ] +stm32wb55ce = [ "embassy-stm32/stm32wb55ce" , "wb55" ] +stm32wb55cg = [ "embassy-stm32/stm32wb55cg" , "wb55" ] +stm32wb55rc = [ "embassy-stm32/stm32wb55rc" , "wb55" ] +stm32wb55re = [ "embassy-stm32/stm32wb55re" , "wb55" ] +stm32wb55rg = [ "embassy-stm32/stm32wb55rg" , "wb55" ] +stm32wb55vc = [ "embassy-stm32/stm32wb55vc" , "wb55" ] +stm32wb55ve = [ "embassy-stm32/stm32wb55ve" , "wb55" ] +stm32wb55vg = [ "embassy-stm32/stm32wb55vg" , "wb55" ] +stm32wb55vy = [ "embassy-stm32/stm32wb55vy" , "wb55" ] +stm32wba50ke = [ "embassy-stm32/stm32wba50ke", "wba" ] +stm32wba50kg = [ "embassy-stm32/stm32wba50kg", "wba" ] +stm32wba52ce = [ "embassy-stm32/stm32wba52ce", "wba" ] +stm32wba52cg = [ "embassy-stm32/stm32wba52cg", "wba" ] +stm32wba52ke = [ "embassy-stm32/stm32wba52ke", "wba" ] +stm32wba52kg = [ "embassy-stm32/stm32wba52kg", "wba" ] +stm32wba54ce = [ "embassy-stm32/stm32wba54ce", "wba" ] +stm32wba54cg = [ "embassy-stm32/stm32wba54cg", "wba" ] +stm32wba54ke = [ "embassy-stm32/stm32wba54ke", "wba" ] +stm32wba54kg = [ "embassy-stm32/stm32wba54kg", "wba" ] +stm32wba55ce = [ "embassy-stm32/stm32wba55ce", "wba" ] +stm32wba55cg = [ "embassy-stm32/stm32wba55cg", "wba" ] +stm32wba55he = [ "embassy-stm32/stm32wba55he", "wba" ] +stm32wba55hg = [ "embassy-stm32/stm32wba55hg", "wba" ] +stm32wba55ue = [ "embassy-stm32/stm32wba55ue", "wba" ] +stm32wba55ug = [ "embassy-stm32/stm32wba55ug", "wba" ] +stm32wba62cg = [ "embassy-stm32/stm32wba62cg", "wba" ] +stm32wba62ci = [ "embassy-stm32/stm32wba62ci", "wba" ] +stm32wba62mg = [ "embassy-stm32/stm32wba62mg", "wba" ] +stm32wba62mi = [ "embassy-stm32/stm32wba62mi", "wba" ] +stm32wba62pg = [ "embassy-stm32/stm32wba62pg", "wba" ] +stm32wba62pi = [ "embassy-stm32/stm32wba62pi", "wba" ] +stm32wba63cg = [ "embassy-stm32/stm32wba63cg", "wba" ] +stm32wba63ci = [ "embassy-stm32/stm32wba63ci", "wba" ] +stm32wba64cg = [ "embassy-stm32/stm32wba64cg", "wba" ] +stm32wba64ci = [ "embassy-stm32/stm32wba64ci", "wba" ] +stm32wba65cg = [ "embassy-stm32/stm32wba65cg", "wba" ] +stm32wba65ci = [ "embassy-stm32/stm32wba65ci", "wba" ] +stm32wba65mg = [ "embassy-stm32/stm32wba65mg", "wba" ] +stm32wba65mi = [ "embassy-stm32/stm32wba65mi", "wba" ] +stm32wba65pg = [ "embassy-stm32/stm32wba65pg", "wba" ] +stm32wba65pi = [ "embassy-stm32/stm32wba65pi", "wba" ] +stm32wba65rg = [ "embassy-stm32/stm32wba65rg", "wba" ] +stm32wba65ri = [ "embassy-stm32/stm32wba65ri", "wba" ] diff --git a/embassy-stm32-wpan/src/lib.rs b/embassy-stm32-wpan/src/lib.rs index bd58a0ca7..3fabe112a 100644 --- a/embassy-stm32-wpan/src/lib.rs +++ b/embassy-stm32-wpan/src/lib.rs @@ -18,6 +18,14 @@ // #![warn(missing_docs)] #![allow(static_mut_refs)] // TODO: Fix +#[cfg(feature = "wb55")] mod wb55; +#[cfg(feature = "wb55")] pub use wb55::*; + +#[cfg(feature = "wba")] +mod wba; + +#[cfg(feature = "wba")] +pub use wba::*; diff --git a/embassy-stm32-wpan/src/wba/mod.rs b/embassy-stm32-wpan/src/wba/mod.rs new file mode 100644 index 000000000..9e75dbae9 --- /dev/null +++ b/embassy-stm32-wpan/src/wba/mod.rs @@ -0,0 +1,2 @@ +/// A test struct +pub struct TestStruct; diff --git a/examples/stm32wba/Cargo.toml b/examples/stm32wba/Cargo.toml index 3496b41b0..e071b24f0 100644 --- a/examples/stm32wba/Cargo.toml +++ b/examples/stm32wba/Cargo.toml @@ -7,6 +7,7 @@ publish = false [dependencies] embassy-stm32 = { version = "0.4.0", path = "../../embassy-stm32", features = [ "defmt", "stm32wba55cg", "time-driver-any", "memory-x", "exti"] } +embassy-stm32-wpan = { version = "0.1.0", path = "../../embassy-stm32-wpan", features = ["defmt", "stm32wba55cg"] } embassy-sync = { version = "0.7.2", path = "../../embassy-sync", features = ["defmt"] } embassy-executor = { version = "0.9.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] } embassy-time = { version = "0.5.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } @@ -22,6 +23,11 @@ panic-probe = { version = "1.0.0", features = ["print-defmt"] } heapless = { version = "0.8", default-features = false } static_cell = "2" +[features] +default = ["ble", "mac"] +mac = ["embassy-stm32-wpan/wba_mac", "dep:embassy-net"] +ble = ["embassy-stm32-wpan/wba_ble"] + [profile.release] debug = 2 -- cgit