#[non_exhaustive]pub struct DeviceInfo {Show 19 fields
pub uid: DeviceUid,
pub name: String,
pub serial: String,
pub model: String,
pub version: String,
pub supported_protocol: u16,
pub features: DeviceFeature,
pub address: Option<Ipv4Addr>,
pub status: DeviceStatus,
pub online: bool,
pub configuration_complete: bool,
pub config_initialised: bool,
pub temperatures: Vec<u8>,
pub mesh_master: DeviceUid,
pub hdbt_outputs: u8,
pub setup_done: Option<bool>,
pub installer_id: Option<u16>,
pub system_status: Option<(u16, String)>,
pub bays: Vec<BayUid>,
}Expand description
What a device is, and what it is doing.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.uid: DeviceUidThe device’s unique identifier.
name: StringThe name the device advertises, or Unknown before it has said.
serial: StringSerial number, or Unknown before the device has said.
model: StringA friendly model name derived from the advertised name and the bays the device reports.
version: StringFirmware version string from the hello frame.
supported_protocol: u16The highest protocol version the device can decode, or zero before it has said.
features: DeviceFeatureWhat the device says it can do.
address: Option<Ipv4Addr>The address the device was last heard from.
status: DeviceStatusOnline, offline, booting or rebooting.
online: boolWhether the device has been heard from recently enough to count as present.
configuration_complete: boolWhether every part of the device’s configuration has arrived.
config_initialised: boolWhether the device’s firmware initialises the configuration it broadcasts.
Firmware without it builds some frames over uninitialised stack, so those fields carry noise rather than values: the scaling flags and, behind a spuriously set valid bit, the scaling mode and refresh; bay 0’s addresses in the V2IP sources frame; and the padding beside the remote-control target.
temperatures: Vec<u8>Temperatures the device reports, in degrees Celsius, in its own order.
mesh_master: DeviceUidThe mesh master this device follows, or the zero uid when it is in no mesh.
hdbt_outputs: u8How many HDBaseT outputs this model has.
setup_done: Option<bool>Whether installation was marked complete, None before the device
has said.
installer_id: Option<u16>The installer identifier the device carries, if it has reported one.
system_status: Option<(u16, String)>A status code and message the device reports about itself.
bays: Vec<BayUid>Every bay on the device, in port order.
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