Struct mavlink::common::MavBatteryFault
source · pub struct MavBatteryFault { /* private fields */ }
common
only.Expand description
Smart battery supply status/fault flags (bitmask) for health indication. The battery must also report either MAV_BATTERY_CHARGE_STATE_FAILED or MAV_BATTERY_CHARGE_STATE_UNHEALTHY if any of these are set.
Implementations§
source§impl MavBatteryFault
impl MavBatteryFault
sourcepub const MAV_BATTERY_FAULT_DEEP_DISCHARGE: Self = _
pub const MAV_BATTERY_FAULT_DEEP_DISCHARGE: Self = _
Battery has deep discharged.
sourcepub const MAV_BATTERY_FAULT_SPIKES: Self = _
pub const MAV_BATTERY_FAULT_SPIKES: Self = _
Voltage spikes.
sourcepub const MAV_BATTERY_FAULT_CELL_FAIL: Self = _
pub const MAV_BATTERY_FAULT_CELL_FAIL: Self = _
One or more cells have failed. Battery should also report MAV_BATTERY_CHARGE_STATE_FAILE (and should not be used).
sourcepub const MAV_BATTERY_FAULT_OVER_CURRENT: Self = _
pub const MAV_BATTERY_FAULT_OVER_CURRENT: Self = _
Over-current fault.
sourcepub const MAV_BATTERY_FAULT_OVER_TEMPERATURE: Self = _
pub const MAV_BATTERY_FAULT_OVER_TEMPERATURE: Self = _
Over-temperature fault.
sourcepub const MAV_BATTERY_FAULT_UNDER_TEMPERATURE: Self = _
pub const MAV_BATTERY_FAULT_UNDER_TEMPERATURE: Self = _
Under-temperature fault.
sourcepub const MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE: Self = _
pub const MAV_BATTERY_FAULT_INCOMPATIBLE_VOLTAGE: Self = _
Vehicle voltage is not compatible with this battery (batteries on same power rail should have similar voltage).
sourcepub const MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE: Self = _
pub const MAV_BATTERY_FAULT_INCOMPATIBLE_FIRMWARE: Self = _
Battery firmware is not compatible with current autopilot firmware.
sourcepub const BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION: Self = _
pub const BATTERY_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION: Self = _
Battery is not compatible due to cell configuration (e.g. 5s1p when vehicle requires 6s).
sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u32) -> Self
pub const unsafe fn from_bits_unchecked(bits: u32) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
§Safety
The caller of the bitflags!
macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked()
has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both (see Self::symmetric_difference
if that
is undesirable).
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self
and other
.
Specifically, the returned set contains the flags present which
are present in self
or other
, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self
and other
.
This is equivalent to using the ^
operator (e.g.
ops::BitXor
), as in flags ^ other
.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self
, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all()
and self
(e.g. Self::all() - self
)
This is equivalent to using the !
operator (e.g.
ops::Not
), as in !flags
.
Trait Implementations§
source§impl Binary for MavBatteryFault
impl Binary for MavBatteryFault
source§impl BitAnd for MavBatteryFault
impl BitAnd for MavBatteryFault
source§impl BitAndAssign for MavBatteryFault
impl BitAndAssign for MavBatteryFault
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
source§impl BitOr for MavBatteryFault
impl BitOr for MavBatteryFault
source§fn bitor(self, other: MavBatteryFault) -> Self
fn bitor(self, other: MavBatteryFault) -> Self
Returns the union of the two sets of flags.
source§type Output = MavBatteryFault
type Output = MavBatteryFault
|
operator.source§impl BitOrAssign for MavBatteryFault
impl BitOrAssign for MavBatteryFault
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor for MavBatteryFault
impl BitXor for MavBatteryFault
source§impl BitXorAssign for MavBatteryFault
impl BitXorAssign for MavBatteryFault
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for MavBatteryFault
impl Clone for MavBatteryFault
source§fn clone(&self) -> MavBatteryFault
fn clone(&self) -> MavBatteryFault
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MavBatteryFault
impl Debug for MavBatteryFault
source§impl Default for MavBatteryFault
impl Default for MavBatteryFault
source§impl<'de> Deserialize<'de> for MavBatteryFault
impl<'de> Deserialize<'de> for MavBatteryFault
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Extend<MavBatteryFault> for MavBatteryFault
impl Extend<MavBatteryFault> for MavBatteryFault
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl FromIterator<MavBatteryFault> for MavBatteryFault
impl FromIterator<MavBatteryFault> for MavBatteryFault
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
source§impl Hash for MavBatteryFault
impl Hash for MavBatteryFault
source§impl LowerHex for MavBatteryFault
impl LowerHex for MavBatteryFault
source§impl Not for MavBatteryFault
impl Not for MavBatteryFault
source§impl Octal for MavBatteryFault
impl Octal for MavBatteryFault
source§impl Ord for MavBatteryFault
impl Ord for MavBatteryFault
source§fn cmp(&self, other: &MavBatteryFault) -> Ordering
fn cmp(&self, other: &MavBatteryFault) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for MavBatteryFault
impl PartialEq for MavBatteryFault
source§impl PartialOrd for MavBatteryFault
impl PartialOrd for MavBatteryFault
source§impl Serialize for MavBatteryFault
impl Serialize for MavBatteryFault
source§impl Sub for MavBatteryFault
impl Sub for MavBatteryFault
source§impl SubAssign for MavBatteryFault
impl SubAssign for MavBatteryFault
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.
source§impl UpperHex for MavBatteryFault
impl UpperHex for MavBatteryFault
impl Copy for MavBatteryFault
impl Eq for MavBatteryFault
impl StructuralPartialEq for MavBatteryFault
Auto Trait Implementations§
impl Freeze for MavBatteryFault
impl RefUnwindSafe for MavBatteryFault
impl Send for MavBatteryFault
impl Sync for MavBatteryFault
impl Unpin for MavBatteryFault
impl UnwindSafe for MavBatteryFault
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)