Struct mavlink::development::MavBatteryStatusFlags
source · pub struct MavBatteryStatusFlags { /* private fields */ }
development
only.Expand description
Battery status flags for fault, health and state indication.
Implementations§
source§impl MavBatteryStatusFlags
impl MavBatteryStatusFlags
sourcepub const MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE: Self = _
The battery is not ready to use (fly). Set if the battery has faults or other conditions that make it unsafe to fly with. Note: It will be the logical OR of other status bits (chosen by the manufacturer/integrator).
sourcepub const MAV_BATTERY_STATUS_FLAGS_CHARGING: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_CHARGING: Self = _
Battery is charging.
sourcepub const MAV_BATTERY_STATUS_FLAGS_CELL_BALANCING: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_CELL_BALANCING: Self = _
Battery is cell balancing (during charging). Not ready to use (MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE may be set).
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_CELL_IMBALANCE: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_CELL_IMBALANCE: Self = _
Battery cells are not balanced. Not ready to use.
sourcepub const MAV_BATTERY_STATUS_FLAGS_AUTO_DISCHARGING: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_AUTO_DISCHARGING: Self = _
Battery is auto discharging (towards storage level). Not ready to use (MAV_BATTERY_STATUS_FLAGS_NOT_READY_TO_USE would be set).
sourcepub const MAV_BATTERY_STATUS_FLAGS_REQUIRES_SERVICE: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_REQUIRES_SERVICE: Self = _
Battery requires service (not safe to fly). This is set at vendor discretion. It is likely to be set for most faults, and may also be set according to a maintenance schedule (such as age, or number of recharge cycles, etc.).
sourcepub const MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY: Self = _
Battery is faulty and cannot be repaired (not safe to fly). This is set at vendor discretion. The battery should be disposed of safely.
sourcepub const MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED: Self = _
Automatic battery protection monitoring is enabled. When enabled, the system will monitor for certain kinds of faults, such as cells being over-voltage. If a fault is triggered then and protections are enabled then a safety fault (MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM) will be set and power from the battery will be stopped. Note that battery protection monitoring should only be enabled when the vehicle is landed. Once the vehicle is armed, or starts moving, the protections should be disabled to prevent false positives from disabling the output.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_PROTECTION_SYSTEM: Self = _
The battery fault protection system had detected a fault and cut all power from the battery. This will only trigger if MAV_BATTERY_STATUS_FLAGS_PROTECTIONS_ENABLED is set. Other faults like MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT may also be set, indicating the cause of the protection fault.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_VOLT: Self = _
One or more cells are above their maximum voltage rating.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT: Self = _
One or more cells are below their minimum voltage rating. A battery that had deep-discharged might be irrepairably damaged, and set both MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_VOLT and MAV_BATTERY_STATUS_FLAGS_BAD_BATTERY.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_TEMPERATURE: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_TEMPERATURE: Self = _
Over-temperature fault.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_TEMPERATURE: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_UNDER_TEMPERATURE: Self = _
Under-temperature fault.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_CURRENT: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_OVER_CURRENT: Self = _
Over-current fault.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_SHORT_CIRCUIT: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_SHORT_CIRCUIT: Self = _
Short circuit event detected. The battery may or may not be safe to use (check other flags).
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_VOLTAGE: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_VOLTAGE: Self = _
Voltage not compatible with power rail voltage (batteries on same power rail should have similar voltage).
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_FIRMWARE: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_FIRMWARE: Self = _
Battery firmware is not compatible with current autopilot firmware.
sourcepub const MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_FAULT_INCOMPATIBLE_CELLS_CONFIGURATION: Self = _
Battery is not compatible due to cell configuration (e.g. 5s1p when vehicle requires 6s).
sourcepub const MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_CAPACITY_RELATIVE_TO_FULL: Self = _
Battery capacity_consumed and capacity_remaining values are relative to a full battery (they sum to the total capacity of the battery). This flag would be set for a smart battery that can accurately determine its remaining charge across vehicle reboots and discharge/recharge cycles. If unset the capacity_consumed indicates the consumption since vehicle power-on, as measured using a power monitor. The capacity_remaining, if provided, indicates the estimated remaining capacity on the assumption that the battery was full on vehicle boot. If unset a GCS is recommended to advise that users fully charge the battery on power on.
sourcepub const MAV_BATTERY_STATUS_FLAGS_EXTENDED: Self = _
pub const MAV_BATTERY_STATUS_FLAGS_EXTENDED: Self = _
Reserved (not used). If set, this will indicate that an additional status field exists for higher status values.
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 MavBatteryStatusFlags
impl Binary for MavBatteryStatusFlags
source§impl BitAnd for MavBatteryStatusFlags
impl BitAnd for MavBatteryStatusFlags
source§impl BitAndAssign for MavBatteryStatusFlags
impl BitAndAssign for MavBatteryStatusFlags
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 MavBatteryStatusFlags
impl BitOr for MavBatteryStatusFlags
source§fn bitor(self, other: MavBatteryStatusFlags) -> Self
fn bitor(self, other: MavBatteryStatusFlags) -> Self
Returns the union of the two sets of flags.
source§type Output = MavBatteryStatusFlags
type Output = MavBatteryStatusFlags
|
operator.source§impl BitOrAssign for MavBatteryStatusFlags
impl BitOrAssign for MavBatteryStatusFlags
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor for MavBatteryStatusFlags
impl BitXor for MavBatteryStatusFlags
source§impl BitXorAssign for MavBatteryStatusFlags
impl BitXorAssign for MavBatteryStatusFlags
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for MavBatteryStatusFlags
impl Clone for MavBatteryStatusFlags
source§fn clone(&self) -> MavBatteryStatusFlags
fn clone(&self) -> MavBatteryStatusFlags
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MavBatteryStatusFlags
impl Debug for MavBatteryStatusFlags
source§impl Default for MavBatteryStatusFlags
impl Default for MavBatteryStatusFlags
source§impl<'de> Deserialize<'de> for MavBatteryStatusFlags
impl<'de> Deserialize<'de> for MavBatteryStatusFlags
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<MavBatteryStatusFlags> for MavBatteryStatusFlags
impl Extend<MavBatteryStatusFlags> for MavBatteryStatusFlags
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<MavBatteryStatusFlags> for MavBatteryStatusFlags
impl FromIterator<MavBatteryStatusFlags> for MavBatteryStatusFlags
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 MavBatteryStatusFlags
impl Hash for MavBatteryStatusFlags
source§impl LowerHex for MavBatteryStatusFlags
impl LowerHex for MavBatteryStatusFlags
source§impl Not for MavBatteryStatusFlags
impl Not for MavBatteryStatusFlags
source§impl Octal for MavBatteryStatusFlags
impl Octal for MavBatteryStatusFlags
source§impl Ord for MavBatteryStatusFlags
impl Ord for MavBatteryStatusFlags
source§fn cmp(&self, other: &MavBatteryStatusFlags) -> Ordering
fn cmp(&self, other: &MavBatteryStatusFlags) -> 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 MavBatteryStatusFlags
impl PartialEq for MavBatteryStatusFlags
source§impl PartialOrd for MavBatteryStatusFlags
impl PartialOrd for MavBatteryStatusFlags
source§impl Serialize for MavBatteryStatusFlags
impl Serialize for MavBatteryStatusFlags
source§impl Sub for MavBatteryStatusFlags
impl Sub for MavBatteryStatusFlags
source§impl SubAssign for MavBatteryStatusFlags
impl SubAssign for MavBatteryStatusFlags
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 MavBatteryStatusFlags
impl UpperHex for MavBatteryStatusFlags
impl Copy for MavBatteryStatusFlags
impl Eq for MavBatteryStatusFlags
impl StructuralPartialEq for MavBatteryStatusFlags
Auto Trait Implementations§
impl Freeze for MavBatteryStatusFlags
impl RefUnwindSafe for MavBatteryStatusFlags
impl Send for MavBatteryStatusFlags
impl Sync for MavBatteryStatusFlags
impl Unpin for MavBatteryStatusFlags
impl UnwindSafe for MavBatteryStatusFlags
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
)