pub struct CSINode<'a> { /* private fields */ }Expand description
Primary orchestration object for CSI collection.
Construct a node with CSINode::new or CSINode::new_central_node, configure
optional protocol/rate/traffic frequency, then call run().
Implementations§
Source§impl<'a> CSINode<'a>
impl<'a> CSINode<'a>
Sourcepub fn new(
kind: Node,
collection_mode: CollectionMode,
csi_config: Option<CsiConfiguration>,
traffic_freq_hz: Option<u16>,
hardware: CSINodeHardware<'a>,
) -> Self
pub fn new( kind: Node, collection_mode: CollectionMode, csi_config: Option<CsiConfiguration>, traffic_freq_hz: Option<u16>, hardware: CSINodeHardware<'a>, ) -> Self
Create a new node with explicit Node kind.
Sourcepub fn new_central_node(
op_mode: CentralOpMode,
collection_mode: CollectionMode,
csi_config: Option<CsiConfiguration>,
traffic_freq_hz: Option<u16>,
hardware: CSINodeHardware<'a>,
) -> Self
pub fn new_central_node( op_mode: CentralOpMode, collection_mode: CollectionMode, csi_config: Option<CsiConfiguration>, traffic_freq_hz: Option<u16>, hardware: CSINodeHardware<'a>, ) -> Self
Convenience constructor for a central node.
Sourcepub fn get_node_type(&self) -> &Node
pub fn get_node_type(&self) -> &Node
Get the node type and operation mode.
Sourcepub fn get_collection_mode(&self) -> CollectionMode
pub fn get_collection_mode(&self) -> CollectionMode
Get the current collection mode.
Sourcepub fn get_central_op_mode(&self) -> Option<&CentralOpMode>
pub fn get_central_op_mode(&self) -> Option<&CentralOpMode>
If central, return the active central op mode.
Sourcepub fn get_peripheral_op_mode(&self) -> Option<&PeripheralOpMode>
pub fn get_peripheral_op_mode(&self) -> Option<&PeripheralOpMode>
If peripheral, return the active peripheral op mode.
Sourcepub fn set_csi_config(&mut self, config: CsiConfiguration)
pub fn set_csi_config(&mut self, config: CsiConfiguration)
Update CSI configuration.
Sourcepub fn set_station_config(&mut self, config: WifiStationConfig)
pub fn set_station_config(&mut self, config: WifiStationConfig)
Update Wi-Fi Station configuration (only applies to central station mode).
Sourcepub fn set_traffic_frequency(&mut self, freq_hz: u16)
pub fn set_traffic_frequency(&mut self, freq_hz: u16)
Set traffic generation frequency in Hz (ESP-NOW modes).
Sourcepub fn set_collection_mode(&mut self, mode: CollectionMode)
pub fn set_collection_mode(&mut self, mode: CollectionMode)
Set collection mode for the node.
Sourcepub fn set_op_mode(&mut self, mode: Node)
pub fn set_op_mode(&mut self, mode: Node)
Replace the node kind/mode.
Sourcepub fn set_protocol(&mut self, protocol: Protocol)
pub fn set_protocol(&mut self, protocol: Protocol)
Set Wi-Fi protocol (overrides default).
Sourcepub fn set_rate(&mut self, rate: WifiPhyRate)
pub fn set_rate(&mut self, rate: WifiPhyRate)
Set Wi-Fi PHY data rate for ESP-NOW traffic.
Sourcepub async fn run_duration(&mut self, duration: u64, client: &mut CSINodeClient)
pub async fn run_duration(&mut self, duration: u64, client: &mut CSINodeClient)
Run the node until duration in seconds with internal collection.
This initializes Wi-Fi, configures CSI, and starts mode-specific tasks.