DeviceStatus

Struct DeviceStatus 

Source
#[repr(transparent)]
pub struct DeviceStatus(pub [u8; 4]);
Expand description

This is the packed representation of DeviceStatusUnpacked.

Tuple Fields§

§0: [u8; 4]

Implementations§

Source§

impl DeviceStatus

Source

pub fn write_fan_speed_warning(&mut self, value: bool)

Packs and updates the value of the fan_speed_warning field in this packed representation.

Fan is switched on, but its speed is more than 10% off the target speed for multiple consecutive measurement intervals. During the first 10 seconds after starting the measurement, the fan speed is not checked (settling time). Very low or very high ambient temperature could trigger this warning during startup. If this flag is set constantly, it might indicate a problem with the power supply or with the fan, and the measured PM values might be wrong. This flag is automatically cleared as soon as the measured speed is within 10% of the target speed or when leaving the measure mode.

Can occur only in measurement mode.

Default: false

Bits: [10]

Source

pub fn with_fan_speed_warning(self, value: bool) -> Self

Packs and updates the value of the fan_speed_warning field in this packed representation.

Chainable version of Self::write_fan_speed_warning.

Fan is switched on, but its speed is more than 10% off the target speed for multiple consecutive measurement intervals. During the first 10 seconds after starting the measurement, the fan speed is not checked (settling time). Very low or very high ambient temperature could trigger this warning during startup. If this flag is set constantly, it might indicate a problem with the power supply or with the fan, and the measured PM values might be wrong. This flag is automatically cleared as soon as the measured speed is within 10% of the target speed or when leaving the measure mode.

Can occur only in measurement mode.

Default: false

Bits: [10]

Source

pub fn read_fan_speed_warning(&self) -> bool

Unpacks only the fan_speed_warning field from this packed representation.

Fan is switched on, but its speed is more than 10% off the target speed for multiple consecutive measurement intervals. During the first 10 seconds after starting the measurement, the fan speed is not checked (settling time). Very low or very high ambient temperature could trigger this warning during startup. If this flag is set constantly, it might indicate a problem with the power supply or with the fan, and the measured PM values might be wrong. This flag is automatically cleared as soon as the measured speed is within 10% of the target speed or when leaving the measure mode.

Can occur only in measurement mode.

Default: false

Bits: [10]

Source

pub fn write_pm_error(&mut self, value: bool)

Packs and updates the value of the pm_error field in this packed representation.

Error related to the PM sensor. The particulate matter values might be unknown or wrong if this flag is set, relative humidity and temperature values might be out of specs due to compensation algorithms depending on PM sensor state.

Can occur only in measurement mode.

Default: false

Bits: [20]

Source

pub fn with_pm_error(self, value: bool) -> Self

Packs and updates the value of the pm_error field in this packed representation.

Chainable version of Self::write_pm_error.

Error related to the PM sensor. The particulate matter values might be unknown or wrong if this flag is set, relative humidity and temperature values might be out of specs due to compensation algorithms depending on PM sensor state.

Can occur only in measurement mode.

Default: false

Bits: [20]

Source

pub fn read_pm_error(&self) -> bool

Unpacks only the pm_error field from this packed representation.

Error related to the PM sensor. The particulate matter values might be unknown or wrong if this flag is set, relative humidity and temperature values might be out of specs due to compensation algorithms depending on PM sensor state.

Can occur only in measurement mode.

Default: false

Bits: [20]

Source

pub fn write_gas_error(&mut self, value: bool)

Packs and updates the value of the gas_error field in this packed representation.

Error related to the gas sensor. The VOC index and NOx index might be unknown or wrong if this flag is set, relative humidity and temperature values might be out of specs due to compensation algorithms depending on gas sensor state.

Can occur only in measurement mode.

Default: false

Bits: [24]

Source

pub fn with_gas_error(self, value: bool) -> Self

Packs and updates the value of the gas_error field in this packed representation.

Chainable version of Self::write_gas_error.

Error related to the gas sensor. The VOC index and NOx index might be unknown or wrong if this flag is set, relative humidity and temperature values might be out of specs due to compensation algorithms depending on gas sensor state.

Can occur only in measurement mode.

Default: false

Bits: [24]

Source

pub fn read_gas_error(&self) -> bool

Unpacks only the gas_error field from this packed representation.

Error related to the gas sensor. The VOC index and NOx index might be unknown or wrong if this flag is set, relative humidity and temperature values might be out of specs due to compensation algorithms depending on gas sensor state.

Can occur only in measurement mode.

Default: false

Bits: [24]

Source

pub fn write_rh_t_error(&mut self, value: bool)

Packs and updates the value of the rh_t_error field in this packed representation.

Error related to the RH&T sensor. The temperature and humidity values might be unknown or wrong if this flag is set, and other measured values might be out of specs due compensation algorithms depending on RH&T sensor values.

Can occur only in measurement mode.

Default: false

Bits: [25]

Source

pub fn with_rh_t_error(self, value: bool) -> Self

Packs and updates the value of the rh_t_error field in this packed representation.

Chainable version of Self::write_rh_t_error.

Error related to the RH&T sensor. The temperature and humidity values might be unknown or wrong if this flag is set, and other measured values might be out of specs due compensation algorithms depending on RH&T sensor values.

Can occur only in measurement mode.

Default: false

Bits: [25]

Source

pub fn read_rh_t_error(&self) -> bool

Unpacks only the rh_t_error field from this packed representation.

Error related to the RH&T sensor. The temperature and humidity values might be unknown or wrong if this flag is set, and other measured values might be out of specs due compensation algorithms depending on RH&T sensor values.

Can occur only in measurement mode.

Default: false

Bits: [25]

Source

pub fn write_fan_error(&mut self, value: bool)

Packs and updates the value of the fan_error field in this packed representation.

Fan is switched on, but 0 RPM is measured for multiple consecutive measurement intervals. This can occur if the fan is mechanically blocked or broken. Note that the measured values are most likely wrong if this error is reported.

Can occur only in measurement mode.

Default: false

Bits: [27]

Source

pub fn with_fan_error(self, value: bool) -> Self

Packs and updates the value of the fan_error field in this packed representation.

Chainable version of Self::write_fan_error.

Fan is switched on, but 0 RPM is measured for multiple consecutive measurement intervals. This can occur if the fan is mechanically blocked or broken. Note that the measured values are most likely wrong if this error is reported.

Can occur only in measurement mode.

Default: false

Bits: [27]

Source

pub fn read_fan_error(&self) -> bool

Unpacks only the fan_error field from this packed representation.

Fan is switched on, but 0 RPM is measured for multiple consecutive measurement intervals. This can occur if the fan is mechanically blocked or broken. Note that the measured values are most likely wrong if this error is reported.

Can occur only in measurement mode.

Default: false

Bits: [27]

Source§

impl DeviceStatus

Source

pub fn unpack(&self) -> DeviceStatusUnpacked

Unpack all fields into a DeviceStatusUnpacked. If you don’t need all fields, this is more expensive than just using the appropriate read_* functions directly.

Trait Implementations§

Source§

impl AsRef<DeviceStatus> for DeviceStatus

Source§

fn as_ref(&self) -> &DeviceStatus

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl BitdumpFormattable for DeviceStatus

Source§

fn bitdump(&self) -> BitdumpFormatter

Returns an object that implements Display for pretty-printing the contents and layout of this bit-packed struct

Source§

impl Clone for DeviceStatus

Source§

fn clone(&self) -> DeviceStatus

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Default for DeviceStatus

Source§

fn default() -> Self

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

impl From<&DeviceStatus> for DeviceStatusUnpacked

Source§

fn from(value: &DeviceStatus) -> Self

Converts to this type from the input type.
Source§

impl From<&DeviceStatusUnpacked> for DeviceStatus

Source§

fn from(value: &DeviceStatusUnpacked) -> Self

Converts to this type from the input type.
Source§

impl From<DeviceStatus> for DeviceStatusUnpacked

Source§

fn from(value: DeviceStatus) -> Self

Converts to this type from the input type.
Source§

impl From<DeviceStatusUnpacked> for DeviceStatus

Source§

fn from(value: DeviceStatusUnpacked) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for DeviceStatus

Source§

fn eq(&self, other: &DeviceStatus) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Zeroable for DeviceStatus

Source§

fn zeroed() -> Self

Source§

impl Copy for DeviceStatus

Source§

impl Eq for DeviceStatus

Source§

impl Pod for DeviceStatus

Source§

impl StructuralPartialEq for DeviceStatus

Auto Trait Implementations§

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<T> CheckedBitPattern for T
where T: AnyBitPattern,

Source§

type Bits = T

Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern.
Source§

fn is_valid_bit_pattern(_bits: &T) -> bool

If this function returns true, then it must be valid to reinterpret bits as &Self.
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> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
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> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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<T> AnyBitPattern for T
where T: Pod,

Source§

impl<T> MaybeBitdumpFormattable for T

Source§

impl<T> NoUninit for T
where T: Pod,