Struct mavlink::common::SYS_STATUS_DATA

source ·
pub struct SYS_STATUS_DATA {
Show 16 fields pub onboard_control_sensors_present: MavSysStatusSensor, pub onboard_control_sensors_enabled: MavSysStatusSensor, pub onboard_control_sensors_health: MavSysStatusSensor, pub load: u16, pub voltage_battery: u16, pub current_battery: i16, pub drop_rate_comm: u16, pub errors_comm: u16, pub errors_count1: u16, pub errors_count2: u16, pub errors_count3: u16, pub errors_count4: u16, pub battery_remaining: i8, pub onboard_control_sensors_present_extended: MavSysStatusSensorExtended, pub onboard_control_sensors_enabled_extended: MavSysStatusSensorExtended, pub onboard_control_sensors_health_extended: MavSysStatusSensorExtended,
}
Available on crate feature common only.
Expand description

id: 1 The general system state. If the system is following the MAVLink standard, the system state is mainly defined by three orthogonal states/modes: The system mode, which is either LOCKED (motors shut down and locked), MANUAL (system under RC control), GUIDED (system with autonomous position control, position setpoint controlled manually) or AUTO (system guided by path/waypoint planner). The NAV_MODE defined the current flight state: LIFTOFF (often an open-loop maneuver), LANDING, WAYPOINTS or VECTOR. This represents the internal navigation state machine. The system status shows whether the system is currently active or not and if an emergency occurred. During the CRITICAL and EMERGENCY states the MAV is still considered to be active, but should start emergency procedures autonomously. After a failure occurred it should first move from active to critical to allow manual intervention and then move to emergency after a certain timeout..

Fields§

§onboard_control_sensors_present: MavSysStatusSensor

Bitmap showing which onboard controllers and sensors are present. Value of 0: not present. Value of 1: present..

§onboard_control_sensors_enabled: MavSysStatusSensor

Bitmap showing which onboard controllers and sensors are enabled: Value of 0: not enabled. Value of 1: enabled..

§onboard_control_sensors_health: MavSysStatusSensor

Bitmap showing which onboard controllers and sensors have an error (or are operational). Value of 0: error. Value of 1: healthy..

§load: u16

Maximum usage in percent of the mainloop time. Values: [0-1000] - should always be below 1000.

§voltage_battery: u16

Battery voltage, UINT16_MAX: Voltage not sent by autopilot.

§current_battery: i16

Battery current, -1: Current not sent by autopilot.

§drop_rate_comm: u16

Communication drop rate, (UART, I2C, SPI, CAN), dropped packets on all links (packets that were corrupted on reception on the MAV).

§errors_comm: u16

Communication errors (UART, I2C, SPI, CAN), dropped packets on all links (packets that were corrupted on reception on the MAV).

§errors_count1: u16

Autopilot-specific errors.

§errors_count2: u16

Autopilot-specific errors.

§errors_count3: u16

Autopilot-specific errors.

§errors_count4: u16

Autopilot-specific errors.

§battery_remaining: i8

Battery energy remaining, -1: Battery remaining energy not sent by autopilot.

§onboard_control_sensors_present_extended: MavSysStatusSensorExtended

Bitmap showing which onboard controllers and sensors are present. Value of 0: not present. Value of 1: present..

§onboard_control_sensors_enabled_extended: MavSysStatusSensorExtended

Bitmap showing which onboard controllers and sensors are enabled: Value of 0: not enabled. Value of 1: enabled..

§onboard_control_sensors_health_extended: MavSysStatusSensorExtended

Bitmap showing which onboard controllers and sensors have an error (or are operational). Value of 0: error. Value of 1: healthy..

Implementations§

source§

impl SYS_STATUS_DATA

source

pub const ENCODED_LEN: usize = 43usize

source

pub const DEFAULT: Self = _

Trait Implementations§

source§

impl Clone for SYS_STATUS_DATA

source§

fn clone(&self) -> SYS_STATUS_DATA

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for SYS_STATUS_DATA

source§

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

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

impl Default for SYS_STATUS_DATA

source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for SYS_STATUS_DATA

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl MessageData for SYS_STATUS_DATA

source§

const ID: u32 = 1u32

source§

const NAME: &'static str = "SYS_STATUS"

source§

const EXTRA_CRC: u8 = 124u8

source§

const ENCODED_LEN: usize = 43usize

source§

type Message = MavMessage

source§

fn deser(_version: MavlinkVersion, __input: &[u8]) -> Result<Self, ParserError>

source§

fn ser(&self, version: MavlinkVersion, bytes: &mut [u8]) -> usize

source§

impl PartialEq for SYS_STATUS_DATA

source§

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

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

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 Serialize for SYS_STATUS_DATA

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl StructuralPartialEq for SYS_STATUS_DATA

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

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

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

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
source§

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

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

source§

type Error = Infallible

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

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

Performs the conversion.
source§

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

source§

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

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

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

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,