pub struct BasicInfoConfig<'a> {Show 28 fields
pub vendor_name: &'a str,
pub vid: u16,
pub product_name: &'a str,
pub pid: u16,
pub hw_ver: u16,
pub hw_ver_str: &'a str,
pub sw_ver: u32,
pub sw_ver_str: &'a str,
pub manufacturing_date: &'a str,
pub part_number: &'a str,
pub product_url: &'a str,
pub product_label: &'a str,
pub serial_no: &'a str,
pub unique_id: &'a str,
pub location: Option<&'a str>,
pub device_location: Option<DeviceLocationConfig<'a>>,
pub capability_minima: CapabilityMinima,
pub product_appearance: ProductAppearance,
pub specification_version: u32,
pub data_model_revision: u16,
pub max_paths_per_invoke: u16,
pub device_name: &'a str,
pub device_type: Option<u16>,
pub pairing_hint: PairingHintFlags,
pub pairing_instruction: &'a str,
pub sai: Option<u32>,
pub sii: Option<u32>,
pub tcp_supported: bool,
}Expand description
Basic information which is immutable (i.e. valid for the lifetime of the device firmware)
Note that some of the fields will be reported only if their corresponding optional attributes are enabled.
By default, BasicInfoHandler::CLUSTER enables ALL optional attributes except reachable which is only valid for
bridged devices.
Fields§
§vendor_name: &'a strVendor name (up to 32 characters)
vid: u16Vendor ID
product_name: &'a strProduct name (up to 32 characters)
pid: u16Product ID
hw_ver: u16Hardware version
hw_ver_str: &'a strHardware version string (up to 64 characters)
sw_ver: u32Software version
sw_ver_str: &'a strSoftware version string (up to 64 characters)
manufacturing_date: &'a strManufacturing date (up to 16 characters)
part_number: &'a strPart number (up to 32 characters)
product_url: &'a strProduct URL (up to 256 characters)
product_label: &'a strProduct label (up to 64 characters)
serial_no: &'a strSerial number (up to 32 characters)
unique_id: &'a strUnique ID (up to 64 characters)
location: Option<&'a str>Factory default for the runtime-mutable, persisted
BasicInformation::Location attribute
device_location: Option<DeviceLocationConfig<'a>>Factory default for the runtime-mutable, persisted
BasicInformation::DeviceLocation attribute
capability_minima: CapabilityMinimaCapability Minima
product_appearance: ProductAppearanceProduct Appearance
specification_version: u32Specification Version
data_model_revision: u16Data Model Revision
max_paths_per_invoke: u16Max Paths Per Invoke
device_name: &'a strDevice Name
Not a real attribute; used in the mDNS commissioning advertisement
device_type: Option<u16>Device Type
Not a real attribute; used in the mDNS commissioning advertisement
pairing_hint: PairingHintFlagsPairing Hint
Not a real attribute; used in the mDNS commissioning advertisement
pairing_instruction: &'a strPairing Instruction
Not a real attribute; used in the mDNS commissioning advertisement
sai: Option<u32>Session Active Interval in ms If not specified, defaults to 300
Per the Matter Core Spec, the value is a 32-bit unsigned integer and SHALL NOT exceed 3,600,000 (1 hour in milliseconds).
Not a real attribute, just used to configure the session timeouts
sii: Option<u32>Session Idle Interval in ms If not specified, defaults to 5000
Per the Matter Core Spec, the value is a 32-bit unsigned integer and SHALL NOT exceed 3,600,000 (1 hour in milliseconds).
Not a real attribute, just used to configure the session timeouts
tcp_supported: boolWhether the device supports TCP transport.
Not a real attribute; advertised via the T TXT record key in mDNS.
Per the Matter Core Spec, T is a bitmap: bit 2 (value 4)
indicates TCP server support. Required for large payloads such as WebRTC SDP
exchanges and camera snapshots.
Implementations§
Source§impl BasicInfoConfig<'_>
impl BasicInfoConfig<'_>
pub const fn new() -> BasicInfoConfig<'_>
Trait Implementations§
Source§impl<'a> Clone for BasicInfoConfig<'a>
impl<'a> Clone for BasicInfoConfig<'a>
Source§fn clone(&self) -> BasicInfoConfig<'a>
fn clone(&self) -> BasicInfoConfig<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl<'a> Copy for BasicInfoConfig<'a>
Source§impl<'a> Debug for BasicInfoConfig<'a>
impl<'a> Debug for BasicInfoConfig<'a>
Source§impl Default for BasicInfoConfig<'_>
impl Default for BasicInfoConfig<'_>
Source§fn default() -> BasicInfoConfig<'_>
fn default() -> BasicInfoConfig<'_>
impl<'a> Eq for BasicInfoConfig<'a>
Source§impl<'a> Hash for BasicInfoConfig<'a>
impl<'a> Hash for BasicInfoConfig<'a>
Source§impl<'a> PartialEq for BasicInfoConfig<'a>
impl<'a> PartialEq for BasicInfoConfig<'a>
impl<'a> StructuralPartialEq for BasicInfoConfig<'a>
Auto Trait Implementations§
impl<'a> Freeze for BasicInfoConfig<'a>
impl<'a> RefUnwindSafe for BasicInfoConfig<'a>
impl<'a> Send for BasicInfoConfig<'a>
impl<'a> Sync for BasicInfoConfig<'a>
impl<'a> Unpin for BasicInfoConfig<'a>
impl<'a> UnsafeUnpin for BasicInfoConfig<'a>
impl<'a> UnwindSafe for BasicInfoConfig<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more