diff --git a/src/ble.rs b/src/ble.rs index bdb32be..1094569 100644 --- a/src/ble.rs +++ b/src/ble.rs @@ -120,17 +120,7 @@ pub async fn run( .. } = stack.build(); - let mut features = alloc::vec![]; - if cfg!(feature = "cam") { - features.push("cam"); - } - if cfg!(feature = "denm") { - features.push("denm"); - } - if cfg!(feature = "spat") { - features.push("mapem"); - features.push("spatem"); - } + let mut features = crate::util::get_rx_feature_list(); info!( "Starting advertising and GATT service for {}", features.join(",") diff --git a/src/util.rs b/src/util.rs new file mode 100644 index 0000000..aef0cf3 --- /dev/null +++ b/src/util.rs @@ -0,0 +1,32 @@ +//! Some stuff used at several places + +use alloc::vec::Vec; + +#[allow(unused)] +pub(crate) fn get_rx_feature_list() -> Vec<&'static str> { + let mut features = alloc::vec![]; + if cfg!(feature = "cam") { + features.push("cam"); + } + if cfg!(feature = "denm") { + features.push("denm"); + } + if cfg!(feature = "spat") { + features.push("mapem"); + features.push("spatem"); + } + + features +} + +pub(crate) fn get_tx_feature_list() -> Vec<&'static str> { + let mut features = alloc::vec![]; + if cfg!(feature = "cam_tx") { + features.push("cam-tx"); + } + if cfg!(feature = "uart") { + features.push("uart-tx"); + } + + features +}