ESPectre SDK 2.8.0-280-gac7af68
Wi-Fi CSI motion sensing for ESP32 firmware
Loading...
Searching...
No Matches
espectre::EspectreDeviceInfo Struct Reference

What the device advertises about itself. More...

#include <espectre_protocol.h>

Public Attributes

std::string frontend {"unknown"}
 Frontend name, for example "native", "matter", or your own.
std::string firmware_version {"unknown"}
 Application version, normally espectre_firmware_version().
std::string chip {"unknown"}
 Chip target, normally CONFIG_IDF_TARGET.
std::string detector
 Active detector.
bool supports_info {true}
bool supports_stats {false}
bool supports_device_config {false}
 MQTT set_device_label is honored and persists the user-facing label.
bool supports_runtime_threshold {false}
bool supports_runtime_motion_hits {false}
bool supports_runtime_detector {false}
bool supports_manual_recalibration {false}
bool supports_traffic_control {false}
bool supports_ota {false}
std::string csi_traffic_mode
 CSI traffic ownership mode: "internal", "external", or "disabled".
std::string traffic_mode
 Internal traffic generator mode, such as "ping" or "dns".
uint32_t csi_target_pps {0U}
 Internal traffic generator and temporal-grid target rate, in packets per second.
uint32_t evaluation_interval_ms {0U}
 Detector evaluation cadence, in milliseconds.
uint32_t publish_interval_ms {0U}
 Status-log and diagnostics heartbeat, in milliseconds.
EspectreNetworkInfo network {}

Detailed Description

What the device advertises about itself.

The supports_* flags are how a client learns which controls to offer. Derive them from RuntimeCapabilities rather than hardcoding, and let normalize_protocol_device_info() fill the gaps from a snapshot. MQTT clients that need command names should request commands rather than reconstructing the list from these flags.

Definition at line 100 of file espectre_protocol.h.

Member Data Documentation

◆ frontend

std::string espectre::EspectreDeviceInfo::frontend {"unknown"}

Frontend name, for example "native", "matter", or your own.

Definition at line 102 of file espectre_protocol.h.

◆ firmware_version

std::string espectre::EspectreDeviceInfo::firmware_version {"unknown"}

Application version, normally espectre_firmware_version().

Definition at line 104 of file espectre_protocol.h.

◆ chip

std::string espectre::EspectreDeviceInfo::chip {"unknown"}

Chip target, normally CONFIG_IDF_TARGET.

Definition at line 106 of file espectre_protocol.h.

◆ detector

std::string espectre::EspectreDeviceInfo::detector

Active detector.

Left empty, it is filled from the snapshot.

Definition at line 108 of file espectre_protocol.h.

◆ supports_info

bool espectre::EspectreDeviceInfo::supports_info {true}

Definition at line 109 of file espectre_protocol.h.

◆ supports_stats

bool espectre::EspectreDeviceInfo::supports_stats {false}

Definition at line 110 of file espectre_protocol.h.

◆ supports_device_config

bool espectre::EspectreDeviceInfo::supports_device_config {false}

MQTT set_device_label is honored and persists the user-facing label.

Definition at line 112 of file espectre_protocol.h.

◆ supports_runtime_threshold

bool espectre::EspectreDeviceInfo::supports_runtime_threshold {false}

Definition at line 113 of file espectre_protocol.h.

◆ supports_runtime_motion_hits

bool espectre::EspectreDeviceInfo::supports_runtime_motion_hits {false}

Definition at line 114 of file espectre_protocol.h.

◆ supports_runtime_detector

bool espectre::EspectreDeviceInfo::supports_runtime_detector {false}

Definition at line 115 of file espectre_protocol.h.

◆ supports_manual_recalibration

bool espectre::EspectreDeviceInfo::supports_manual_recalibration {false}

Definition at line 116 of file espectre_protocol.h.

◆ supports_traffic_control

bool espectre::EspectreDeviceInfo::supports_traffic_control {false}

Definition at line 117 of file espectre_protocol.h.

◆ supports_ota

bool espectre::EspectreDeviceInfo::supports_ota {false}

Definition at line 118 of file espectre_protocol.h.

◆ csi_traffic_mode

std::string espectre::EspectreDeviceInfo::csi_traffic_mode

CSI traffic ownership mode: "internal", "external", or "disabled".

Omitted from info when empty. Sensing MQTT frontends that own traffic control fill it. "pacing" is Streamer collector mode only and is not a sensing MQTT value.

Definition at line 125 of file espectre_protocol.h.

◆ traffic_mode

std::string espectre::EspectreDeviceInfo::traffic_mode

Internal traffic generator mode, such as "ping" or "dns".

Omitted from info when empty.

Definition at line 131 of file espectre_protocol.h.

◆ csi_target_pps

uint32_t espectre::EspectreDeviceInfo::csi_target_pps {0U}

Internal traffic generator and temporal-grid target rate, in packets per second.

Omitted from info when zero.

Definition at line 137 of file espectre_protocol.h.

◆ evaluation_interval_ms

uint32_t espectre::EspectreDeviceInfo::evaluation_interval_ms {0U}

Detector evaluation cadence, in milliseconds.

Omitted from info when zero. Canonical MQTT telemetry follows this interval.

Definition at line 143 of file espectre_protocol.h.

◆ publish_interval_ms

uint32_t espectre::EspectreDeviceInfo::publish_interval_ms {0U}

Status-log and diagnostics heartbeat, in milliseconds.

Omitted from info when zero. This is not the sensing telemetry interval.

Definition at line 149 of file espectre_protocol.h.

◆ network

EspectreNetworkInfo espectre::EspectreDeviceInfo::network {}

Definition at line 150 of file espectre_protocol.h.


The documentation for this struct was generated from the following file: