Skip to main content

BasicInfoConfig

Struct BasicInfoConfig 

Source
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 str

Vendor name (up to 32 characters)

§vid: u16

Vendor ID

§product_name: &'a str

Product name (up to 32 characters)

§pid: u16

Product ID

§hw_ver: u16

Hardware version

§hw_ver_str: &'a str

Hardware version string (up to 64 characters)

§sw_ver: u32

Software version

§sw_ver_str: &'a str

Software version string (up to 64 characters)

§manufacturing_date: &'a str

Manufacturing date (up to 16 characters)

§part_number: &'a str

Part number (up to 32 characters)

§product_url: &'a str

Product URL (up to 256 characters)

§product_label: &'a str

Product label (up to 64 characters)

§serial_no: &'a str

Serial number (up to 32 characters)

§unique_id: &'a str

Unique 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: CapabilityMinima

Capability Minima

§product_appearance: ProductAppearance

Product Appearance

§specification_version: u32

Specification Version

§data_model_revision: u16

Data Model Revision

§max_paths_per_invoke: u16

Max Paths Per Invoke

§device_name: &'a str

Device 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: PairingHintFlags

Pairing Hint

Not a real attribute; used in the mDNS commissioning advertisement

§pairing_instruction: &'a str

Pairing 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: bool

Whether 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<'_>

Source

pub const fn new() -> BasicInfoConfig<'_>

Trait Implementations§

Source§

impl<'a> Clone for BasicInfoConfig<'a>

Source§

fn clone(&self) -> BasicInfoConfig<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Copy for BasicInfoConfig<'a>

Source§

impl<'a> Debug for BasicInfoConfig<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for BasicInfoConfig<'_>

Source§

fn default() -> BasicInfoConfig<'_>

Returns the “default value” for a type. Read more
Source§

impl<'a> Eq for BasicInfoConfig<'a>

Source§

impl<'a> Hash for BasicInfoConfig<'a>

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'a> PartialEq for BasicInfoConfig<'a>

Source§

fn eq(&self, other: &BasicInfoConfig<'a>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, E> Init<T, E> for T

Source§

unsafe fn __init(self, slot: *mut T) -> Result<(), E>

Initializes slot. Read more
Source§

fn chain<F>(self, f: F) -> ChainInit<Self, F, T, E>
where F: FnOnce(&mut T) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T, I> IntoFallibleInit<T> for I
where I: Init<T>,

Source§

fn into_fallible<E>(self) -> impl Init<T, E>

Convert the infallible initializer to a fallible one.
Source§

impl<Source, Target> OctetsInto<Target> for Source
where Target: OctetsFrom<Source>,

Source§

type Error = <Target as OctetsFrom<Source>>::Error

Source§

fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>

Performs the conversion.
Source§

fn octets_into(self) -> Target
where Self::Error: Into<Infallible>,

Performs an infallible conversion.
Source§

impl<T, E> PinInit<T, E> for T

Source§

unsafe fn __pinned_init(self, slot: *mut T) -> Result<(), E>

Initializes slot. Read more
Source§

fn pin_chain<F>(self, f: F) -> ChainPinInit<Self, F, T, E>
where F: FnOnce(Pin<&mut T>) -> Result<(), E>,

First initializes the value using self then calls the function f with the initialized value. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V