pub struct DeviceInfo {
pub banner_version: String,
pub name: Option<String>,
pub version: Option<String>,
pub chip: Option<String>,
pub mac: Option<String>,
pub protocol: Option<u32>,
pub features: Vec<String>,
}Expand description
Parsed result of the info command on esp-csi-cli-rs.
The magic prefix ESP-CSI-CLI/<version> is what proves the firmware is
esp-csi-cli-rs; if the prefix line never arrives, the device is either
running unrelated firmware, an older esp-csi-cli-rs build that predates
the info command, or no firmware at all.
Fields§
The version string from the ESP-CSI-CLI/<version> magic line.
name: Option<String>name= line, expected to be esp-csi-cli-rs.
version: Option<String>version= line; should match banner_version.
chip: Option<String>chip= line: esp32 | esp32c3 | esp32c5 | esp32c6 | esp32s3 | unknown.
mac: Option<String>mac= line — the factory eFuse base MAC (AA:BB:CC:DD:EE:FF). On native
USB-Serial-JTAG boards this equals the USB iSerialNumber descriptor, so
it is the stable per-board identity the host pins to (see
crate::state::DeviceHandle::mac). Present from CLI protocol 2 onward.
protocol: Option<u32>protocol= line — a wire-format version number bumped on
incompatible grammar changes. Host tooling should refuse unknown
protocol values.
features: Vec<String>features= list (compile-time enabled Cargo features).
Trait Implementations§
Source§impl Clone for DeviceInfo
impl Clone for DeviceInfo
Source§fn clone(&self) -> DeviceInfo
fn clone(&self) -> DeviceInfo
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more