#[non_exhaustive]pub enum Reporting {
Report {
to: ReportTo,
},
ThresholdBased(Threshold),
Decimate(u16),
None,
}Expand description
Whether, and how often, a node’s measurements leave it.
Every variant except None delivers measurements; they differ in which ones. A
node that reports nothing is not an idle node — it is one that must exist for the measurement to
happen but contributes no data: the responder an initiator needs something to sound, a node that
keeps traffic on the channel while another measures, or a receiver with its output switched off
to separate acquisition cost from delivery cost.
ThresholdBased is IEEE 802.11bf’s threshold-based reporting: the node
reports only while the channel is changing. It is useful well before 802.11bf hardware exists,
because gating delivery on motion on the device takes the load off a USB or UART link.
Decimate thins a steady stream to every nth measurement.
Whether a node reports at all is also an ESP-NOW protocol field. An initiator announces it in
ControlPacket::initiator_reports, and a responder that hears an
initiator reporting None promotes itself to Report { to: Host } so the pair
still produces a dataset. That promotion happens at runtime and does not rewrite the node’s
configuration, so CsiNode::reporting reports what was configured
while runtime_reporting reports what is in force.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Report
Report every measurement — its own, and any reported to it by peers — to to.
ThresholdBased(Threshold)
Report only while the channel is moving: IEEE 802.11bf threshold-based reporting. See
Threshold.
Decimate(u16)
Report every nth measurement. Decimate(1) reports everything; 0 is treated as 1.
None
Report nothing. Participates in the channel and in capture without contributing data or paying the delivery cost.