pub struct BatteryStatus {
pub millivolts: u16,
pub percentage: u8,
pub charge_state: ChargeState,
pub external_power: ExternalPower,
pub low_battery: bool,
pub percentage_estimated: bool,
pub state_of_charge: Option<u8>,
pub battery_present: Option<bool>,
}Expand description
High-level battery/power status for UI and application policy.
Fields§
§millivolts: u16§percentage: u8Battery percentage for existing UI code.
This is the AXP2101 gauge value when [state_of_charge] is Some(_) and
a coarse voltage estimate otherwise.
charge_state: ChargeState§external_power: ExternalPower§low_battery: bool§percentage_estimated: boolTrue when [percentage] is derived from voltage instead of the AXP2101
gauge register.
state_of_charge: Option<u8>Preferred battery state-of-charge from AXP2101 register 0xA4.
battery_present: Option<bool>Battery presence decoded from AXP2101 status register 0x00 bit 0x08.
Implementations§
Source§impl BatteryStatus
impl BatteryStatus
pub const fn new(millivolts: u16, charge_state: ChargeState) -> Self
pub const fn with_power( millivolts: u16, charge_state: ChargeState, external_power: ExternalPower, threshold: LowBatteryThreshold, ) -> Self
pub const fn with_power_and_soc( millivolts: u16, charge_state: ChargeState, external_power: ExternalPower, threshold: LowBatteryThreshold, state_of_charge: Option<u8>, battery_present: Option<bool>, ) -> Self
Trait Implementations§
Source§impl Clone for BatteryStatus
impl Clone for BatteryStatus
impl Copy for BatteryStatus
Source§impl Debug for BatteryStatus
impl Debug for BatteryStatus
impl Eq for BatteryStatus
Source§impl PartialEq for BatteryStatus
impl PartialEq for BatteryStatus
impl StructuralPartialEq for BatteryStatus
Auto Trait Implementations§
impl Freeze for BatteryStatus
impl RefUnwindSafe for BatteryStatus
impl Send for BatteryStatus
impl Sync for BatteryStatus
impl Unpin for BatteryStatus
impl UnsafeUnpin for BatteryStatus
impl UnwindSafe for BatteryStatus
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
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.