Struct mavlink::ardupilotmega::MavProtocolCapability
source · pub struct MavProtocolCapability { /* private fields */ }
ardupilotmega
only.Expand description
Bitmask of (optional) autopilot capabilities (64 bit). If a bit is set, the autopilot supports this capability.
Implementations§
source§impl MavProtocolCapability
impl MavProtocolCapability
sourcepub const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT: Self = _
pub const MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT: Self = _
Autopilot supports the MISSION_ITEM float message type. Note that MISSION_ITEM is deprecated, and autopilots should use MISSION_INT instead.
sourcepub const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT: Self = _
pub const MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT: Self = _
Autopilot supports the new param float message type.
sourcepub const MAV_PROTOCOL_CAPABILITY_MISSION_INT: Self = _
pub const MAV_PROTOCOL_CAPABILITY_MISSION_INT: Self = _
Autopilot supports MISSION_ITEM_INT scaled integer message type. Note that this flag must always be set if missions are supported, because missions must always use MISSION_ITEM_INT (rather than MISSION_ITEM, which is deprecated).
sourcepub const MAV_PROTOCOL_CAPABILITY_COMMAND_INT: Self = _
pub const MAV_PROTOCOL_CAPABILITY_COMMAND_INT: Self = _
Autopilot supports COMMAND_INT scaled integer message type.
sourcepub const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE: Self = _
pub const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE: Self = _
Parameter protocol uses byte-wise encoding of parameter values into param_value (float) fields: https://mavlink.io/en/services/parameter.html#parameter-encoding. Note that either this flag or MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST should be set if the parameter protocol is supported.
sourcepub const MAV_PROTOCOL_CAPABILITY_FTP: Self = _
pub const MAV_PROTOCOL_CAPABILITY_FTP: Self = _
Autopilot supports the File Transfer Protocol v1: https://mavlink.io/en/services/ftp.html.
sourcepub const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET: Self = _
pub const MAV_PROTOCOL_CAPABILITY_SET_ATTITUDE_TARGET: Self = _
Autopilot supports commanding attitude offboard.
sourcepub const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED: Self = _
pub const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_LOCAL_NED: Self = _
Autopilot supports commanding position and velocity targets in local NED frame.
sourcepub const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT: Self = _
pub const MAV_PROTOCOL_CAPABILITY_SET_POSITION_TARGET_GLOBAL_INT: Self = _
Autopilot supports commanding position and velocity targets in global scaled integers.
sourcepub const MAV_PROTOCOL_CAPABILITY_TERRAIN: Self = _
pub const MAV_PROTOCOL_CAPABILITY_TERRAIN: Self = _
Autopilot supports terrain protocol / data handling.
sourcepub const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET: Self = _
pub const MAV_PROTOCOL_CAPABILITY_SET_ACTUATOR_TARGET: Self = _
Autopilot supports direct actuator control.
sourcepub const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION: Self = _
pub const MAV_PROTOCOL_CAPABILITY_FLIGHT_TERMINATION: Self = _
Autopilot supports the MAV_CMD_DO_FLIGHTTERMINATION command (flight termination).
sourcepub const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION: Self = _
pub const MAV_PROTOCOL_CAPABILITY_COMPASS_CALIBRATION: Self = _
Autopilot supports onboard compass calibration.
sourcepub const MAV_PROTOCOL_CAPABILITY_MAVLINK2: Self = _
pub const MAV_PROTOCOL_CAPABILITY_MAVLINK2: Self = _
Autopilot supports MAVLink version 2.
sourcepub const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE: Self = _
pub const MAV_PROTOCOL_CAPABILITY_MISSION_FENCE: Self = _
Autopilot supports mission fence protocol.
sourcepub const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY: Self = _
pub const MAV_PROTOCOL_CAPABILITY_MISSION_RALLY: Self = _
Autopilot supports mission rally point protocol.
sourcepub const MAV_PROTOCOL_CAPABILITY_RESERVED2: Self = _
pub const MAV_PROTOCOL_CAPABILITY_RESERVED2: Self = _
Reserved for future use.
sourcepub const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST: Self = _
pub const MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_C_CAST: Self = _
Parameter protocol uses C-cast of parameter values to set the param_value (float) fields: https://mavlink.io/en/services/parameter.html#parameter-encoding. Note that either this flag or MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE should be set if the parameter protocol is supported.
sourcepub const fn from_bits(bits: u64) -> Option<Self>
pub const fn from_bits(bits: u64) -> 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: u64) -> Self
pub const fn from_bits_truncate(bits: u64) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u64) -> Self
pub const unsafe fn from_bits_unchecked(bits: u64) -> 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 MavProtocolCapability
impl Binary for MavProtocolCapability
source§impl BitAnd for MavProtocolCapability
impl BitAnd for MavProtocolCapability
source§impl BitAndAssign for MavProtocolCapability
impl BitAndAssign for MavProtocolCapability
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 MavProtocolCapability
impl BitOr for MavProtocolCapability
source§fn bitor(self, other: MavProtocolCapability) -> Self
fn bitor(self, other: MavProtocolCapability) -> Self
Returns the union of the two sets of flags.
source§type Output = MavProtocolCapability
type Output = MavProtocolCapability
|
operator.source§impl BitOrAssign for MavProtocolCapability
impl BitOrAssign for MavProtocolCapability
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor for MavProtocolCapability
impl BitXor for MavProtocolCapability
source§impl BitXorAssign for MavProtocolCapability
impl BitXorAssign for MavProtocolCapability
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for MavProtocolCapability
impl Clone for MavProtocolCapability
source§fn clone(&self) -> MavProtocolCapability
fn clone(&self) -> MavProtocolCapability
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MavProtocolCapability
impl Debug for MavProtocolCapability
source§impl Default for MavProtocolCapability
impl Default for MavProtocolCapability
source§impl<'de> Deserialize<'de> for MavProtocolCapability
impl<'de> Deserialize<'de> for MavProtocolCapability
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<MavProtocolCapability> for MavProtocolCapability
impl Extend<MavProtocolCapability> for MavProtocolCapability
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<MavProtocolCapability> for MavProtocolCapability
impl FromIterator<MavProtocolCapability> for MavProtocolCapability
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 MavProtocolCapability
impl Hash for MavProtocolCapability
source§impl LowerHex for MavProtocolCapability
impl LowerHex for MavProtocolCapability
source§impl Not for MavProtocolCapability
impl Not for MavProtocolCapability
source§impl Octal for MavProtocolCapability
impl Octal for MavProtocolCapability
source§impl Ord for MavProtocolCapability
impl Ord for MavProtocolCapability
source§fn cmp(&self, other: &MavProtocolCapability) -> Ordering
fn cmp(&self, other: &MavProtocolCapability) -> 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 MavProtocolCapability
impl PartialEq for MavProtocolCapability
source§impl PartialOrd for MavProtocolCapability
impl PartialOrd for MavProtocolCapability
source§impl Serialize for MavProtocolCapability
impl Serialize for MavProtocolCapability
source§impl Sub for MavProtocolCapability
impl Sub for MavProtocolCapability
source§impl SubAssign for MavProtocolCapability
impl SubAssign for MavProtocolCapability
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 MavProtocolCapability
impl UpperHex for MavProtocolCapability
impl Copy for MavProtocolCapability
impl Eq for MavProtocolCapability
impl StructuralPartialEq for MavProtocolCapability
Auto Trait Implementations§
impl Freeze for MavProtocolCapability
impl RefUnwindSafe for MavProtocolCapability
impl Send for MavProtocolCapability
impl Sync for MavProtocolCapability
impl Unpin for MavProtocolCapability
impl UnwindSafe for MavProtocolCapability
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
)