BatteryFields

Struct BatteryFields 

Source
pub struct BatteryFields {
    pub voltage: bool,
    pub level: bool,
    pub charge_state: bool,
}
Expand description

Which battery measurements the platform is capable of reporting through PROP_BATTERY. Fixed for the life of a session: these bits bound the field-flags octet of every snapshot.

An individual sample may populate fewer fields than are advertised — a level estimated from resting terminal voltage has no value while the pack is charging, and the spec would rather see the field omitted than a number the device knows to be wrong. The reverse is refused: a sample carrying a field the platform never claimed cannot be encoded honestly, so it is rejected.

Fields§

§voltage: bool§level: bool§charge_state: bool

Implementations§

Source§

impl BatteryFields

Source

pub const NONE: Self

Battery-powered operation with no reporting support: CAP_BATTERY is advertised and PROP_BATTERY answers the empty value.

Source

pub const fn any(self) -> bool

Whether any measurement is reported (a GET must sample).

Trait Implementations§

Source§

impl Clone for BatteryFields

Source§

fn clone(&self) -> BatteryFields

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for BatteryFields

Source§

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

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

impl Default for BatteryFields

Source§

fn default() -> BatteryFields

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

impl PartialEq for BatteryFields

Source§

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

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

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 Copy for BatteryFields

Source§

impl Eq for BatteryFields

Source§

impl StructuralPartialEq for BatteryFields

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

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

§

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
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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> Same for T

Source§

type Output = T

Should always be Self
§

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

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.