autogenerated headers for rev https://github.com/mavlink/mavlink/tree/62beae138554be5ef43f6ad88264976f757e9321
This commit is contained in:
+3
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
|
||||
|
||||
+3
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
|
||||
|
||||
+25
-3
File diff suppressed because one or more lines are too long
@@ -0,0 +1,425 @@
|
||||
// MESSAGE ESTIMATOR_STATUS PACKING
|
||||
|
||||
#define MAVLINK_MSG_ID_ESTIMATOR_STATUS 230
|
||||
|
||||
typedef struct __mavlink_estimator_status_t
|
||||
{
|
||||
uint64_t time_usec; /*< Timestamp (micros since boot or Unix epoch)*/
|
||||
float vel_ratio; /*< Velocity innovation test ratio*/
|
||||
float pos_horiz_ratio; /*< Horizontal position innovation test ratio*/
|
||||
float pos_vert_ratio; /*< Vertical position innovation test ratio*/
|
||||
float mag_ratio; /*< Magnetometer innovation test ratio*/
|
||||
float hagl_ratio; /*< Height above terrain innovation test ratio*/
|
||||
float tas_ratio; /*< True airspeed innovation test ratio*/
|
||||
float pos_horiz_accuracy; /*< Horizontal position 1-STD accuracy relative to the EKF local origin (m)*/
|
||||
float pos_vert_accuracy; /*< Vertical position 1-STD accuracy relative to the EKF local origin (m)*/
|
||||
uint16_t flags; /*< Integer bitmask indicating which EKF outputs are valid. See definition for ESTIMATOR_STATUS_FLAGS.*/
|
||||
} mavlink_estimator_status_t;
|
||||
|
||||
#define MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN 42
|
||||
#define MAVLINK_MSG_ID_230_LEN 42
|
||||
|
||||
#define MAVLINK_MSG_ID_ESTIMATOR_STATUS_CRC 163
|
||||
#define MAVLINK_MSG_ID_230_CRC 163
|
||||
|
||||
|
||||
|
||||
#define MAVLINK_MESSAGE_INFO_ESTIMATOR_STATUS { \
|
||||
"ESTIMATOR_STATUS", \
|
||||
10, \
|
||||
{ { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_estimator_status_t, time_usec) }, \
|
||||
{ "vel_ratio", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_estimator_status_t, vel_ratio) }, \
|
||||
{ "pos_horiz_ratio", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_estimator_status_t, pos_horiz_ratio) }, \
|
||||
{ "pos_vert_ratio", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_estimator_status_t, pos_vert_ratio) }, \
|
||||
{ "mag_ratio", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_estimator_status_t, mag_ratio) }, \
|
||||
{ "hagl_ratio", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_estimator_status_t, hagl_ratio) }, \
|
||||
{ "tas_ratio", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_estimator_status_t, tas_ratio) }, \
|
||||
{ "pos_horiz_accuracy", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_estimator_status_t, pos_horiz_accuracy) }, \
|
||||
{ "pos_vert_accuracy", NULL, MAVLINK_TYPE_FLOAT, 0, 36, offsetof(mavlink_estimator_status_t, pos_vert_accuracy) }, \
|
||||
{ "flags", NULL, MAVLINK_TYPE_UINT16_T, 0, 40, offsetof(mavlink_estimator_status_t, flags) }, \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Pack a estimator_status message
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
*
|
||||
* @param time_usec Timestamp (micros since boot or Unix epoch)
|
||||
* @param flags Integer bitmask indicating which EKF outputs are valid. See definition for ESTIMATOR_STATUS_FLAGS.
|
||||
* @param vel_ratio Velocity innovation test ratio
|
||||
* @param pos_horiz_ratio Horizontal position innovation test ratio
|
||||
* @param pos_vert_ratio Vertical position innovation test ratio
|
||||
* @param mag_ratio Magnetometer innovation test ratio
|
||||
* @param hagl_ratio Height above terrain innovation test ratio
|
||||
* @param tas_ratio True airspeed innovation test ratio
|
||||
* @param pos_horiz_accuracy Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @param pos_vert_accuracy Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_estimator_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
|
||||
uint64_t time_usec, uint16_t flags, float vel_ratio, float pos_horiz_ratio, float pos_vert_ratio, float mag_ratio, float hagl_ratio, float tas_ratio, float pos_horiz_accuracy, float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN];
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, vel_ratio);
|
||||
_mav_put_float(buf, 12, pos_horiz_ratio);
|
||||
_mav_put_float(buf, 16, pos_vert_ratio);
|
||||
_mav_put_float(buf, 20, mag_ratio);
|
||||
_mav_put_float(buf, 24, hagl_ratio);
|
||||
_mav_put_float(buf, 28, tas_ratio);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
_mav_put_uint16_t(buf, 40, flags);
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#else
|
||||
mavlink_estimator_status_t packet;
|
||||
packet.time_usec = time_usec;
|
||||
packet.vel_ratio = vel_ratio;
|
||||
packet.pos_horiz_ratio = pos_horiz_ratio;
|
||||
packet.pos_vert_ratio = pos_vert_ratio;
|
||||
packet.mag_ratio = mag_ratio;
|
||||
packet.hagl_ratio = hagl_ratio;
|
||||
packet.tas_ratio = tas_ratio;
|
||||
packet.pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet.pos_vert_accuracy = pos_vert_accuracy;
|
||||
packet.flags = flags;
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
|
||||
msg->msgid = MAVLINK_MSG_ID_ESTIMATOR_STATUS;
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN, MAVLINK_MSG_ID_ESTIMATOR_STATUS_CRC);
|
||||
#else
|
||||
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Pack a estimator_status message on a channel
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param chan The MAVLink channel this message will be sent over
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
* @param time_usec Timestamp (micros since boot or Unix epoch)
|
||||
* @param flags Integer bitmask indicating which EKF outputs are valid. See definition for ESTIMATOR_STATUS_FLAGS.
|
||||
* @param vel_ratio Velocity innovation test ratio
|
||||
* @param pos_horiz_ratio Horizontal position innovation test ratio
|
||||
* @param pos_vert_ratio Vertical position innovation test ratio
|
||||
* @param mag_ratio Magnetometer innovation test ratio
|
||||
* @param hagl_ratio Height above terrain innovation test ratio
|
||||
* @param tas_ratio True airspeed innovation test ratio
|
||||
* @param pos_horiz_accuracy Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @param pos_vert_accuracy Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_estimator_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
|
||||
mavlink_message_t* msg,
|
||||
uint64_t time_usec,uint16_t flags,float vel_ratio,float pos_horiz_ratio,float pos_vert_ratio,float mag_ratio,float hagl_ratio,float tas_ratio,float pos_horiz_accuracy,float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN];
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, vel_ratio);
|
||||
_mav_put_float(buf, 12, pos_horiz_ratio);
|
||||
_mav_put_float(buf, 16, pos_vert_ratio);
|
||||
_mav_put_float(buf, 20, mag_ratio);
|
||||
_mav_put_float(buf, 24, hagl_ratio);
|
||||
_mav_put_float(buf, 28, tas_ratio);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
_mav_put_uint16_t(buf, 40, flags);
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#else
|
||||
mavlink_estimator_status_t packet;
|
||||
packet.time_usec = time_usec;
|
||||
packet.vel_ratio = vel_ratio;
|
||||
packet.pos_horiz_ratio = pos_horiz_ratio;
|
||||
packet.pos_vert_ratio = pos_vert_ratio;
|
||||
packet.mag_ratio = mag_ratio;
|
||||
packet.hagl_ratio = hagl_ratio;
|
||||
packet.tas_ratio = tas_ratio;
|
||||
packet.pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet.pos_vert_accuracy = pos_vert_accuracy;
|
||||
packet.flags = flags;
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
|
||||
msg->msgid = MAVLINK_MSG_ID_ESTIMATOR_STATUS;
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN, MAVLINK_MSG_ID_ESTIMATOR_STATUS_CRC);
|
||||
#else
|
||||
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Encode a estimator_status struct
|
||||
*
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
* @param estimator_status C-struct to read the message contents from
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_estimator_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_estimator_status_t* estimator_status)
|
||||
{
|
||||
return mavlink_msg_estimator_status_pack(system_id, component_id, msg, estimator_status->time_usec, estimator_status->flags, estimator_status->vel_ratio, estimator_status->pos_horiz_ratio, estimator_status->pos_vert_ratio, estimator_status->mag_ratio, estimator_status->hagl_ratio, estimator_status->tas_ratio, estimator_status->pos_horiz_accuracy, estimator_status->pos_vert_accuracy);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Encode a estimator_status struct on a channel
|
||||
*
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param chan The MAVLink channel this message will be sent over
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
* @param estimator_status C-struct to read the message contents from
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_estimator_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_estimator_status_t* estimator_status)
|
||||
{
|
||||
return mavlink_msg_estimator_status_pack_chan(system_id, component_id, chan, msg, estimator_status->time_usec, estimator_status->flags, estimator_status->vel_ratio, estimator_status->pos_horiz_ratio, estimator_status->pos_vert_ratio, estimator_status->mag_ratio, estimator_status->hagl_ratio, estimator_status->tas_ratio, estimator_status->pos_horiz_accuracy, estimator_status->pos_vert_accuracy);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Send a estimator_status message
|
||||
* @param chan MAVLink channel to send the message
|
||||
*
|
||||
* @param time_usec Timestamp (micros since boot or Unix epoch)
|
||||
* @param flags Integer bitmask indicating which EKF outputs are valid. See definition for ESTIMATOR_STATUS_FLAGS.
|
||||
* @param vel_ratio Velocity innovation test ratio
|
||||
* @param pos_horiz_ratio Horizontal position innovation test ratio
|
||||
* @param pos_vert_ratio Vertical position innovation test ratio
|
||||
* @param mag_ratio Magnetometer innovation test ratio
|
||||
* @param hagl_ratio Height above terrain innovation test ratio
|
||||
* @param tas_ratio True airspeed innovation test ratio
|
||||
* @param pos_horiz_accuracy Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @param pos_vert_accuracy Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
*/
|
||||
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
|
||||
|
||||
static inline void mavlink_msg_estimator_status_send(mavlink_channel_t chan, uint64_t time_usec, uint16_t flags, float vel_ratio, float pos_horiz_ratio, float pos_vert_ratio, float mag_ratio, float hagl_ratio, float tas_ratio, float pos_horiz_accuracy, float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN];
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, vel_ratio);
|
||||
_mav_put_float(buf, 12, pos_horiz_ratio);
|
||||
_mav_put_float(buf, 16, pos_vert_ratio);
|
||||
_mav_put_float(buf, 20, mag_ratio);
|
||||
_mav_put_float(buf, 24, hagl_ratio);
|
||||
_mav_put_float(buf, 28, tas_ratio);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
_mav_put_uint16_t(buf, 40, flags);
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, buf, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN, MAVLINK_MSG_ID_ESTIMATOR_STATUS_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, buf, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
#else
|
||||
mavlink_estimator_status_t packet;
|
||||
packet.time_usec = time_usec;
|
||||
packet.vel_ratio = vel_ratio;
|
||||
packet.pos_horiz_ratio = pos_horiz_ratio;
|
||||
packet.pos_vert_ratio = pos_vert_ratio;
|
||||
packet.mag_ratio = mag_ratio;
|
||||
packet.hagl_ratio = hagl_ratio;
|
||||
packet.tas_ratio = tas_ratio;
|
||||
packet.pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet.pos_vert_accuracy = pos_vert_accuracy;
|
||||
packet.flags = flags;
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, (const char *)&packet, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN, MAVLINK_MSG_ID_ESTIMATOR_STATUS_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, (const char *)&packet, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#if MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
|
||||
/*
|
||||
This varient of _send() can be used to save stack space by re-using
|
||||
memory from the receive buffer. The caller provides a
|
||||
mavlink_message_t which is the size of a full mavlink message. This
|
||||
is usually the receive buffer for the channel, and allows a reply to an
|
||||
incoming message with minimum stack space usage.
|
||||
*/
|
||||
static inline void mavlink_msg_estimator_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t time_usec, uint16_t flags, float vel_ratio, float pos_horiz_ratio, float pos_vert_ratio, float mag_ratio, float hagl_ratio, float tas_ratio, float pos_horiz_accuracy, float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char *buf = (char *)msgbuf;
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, vel_ratio);
|
||||
_mav_put_float(buf, 12, pos_horiz_ratio);
|
||||
_mav_put_float(buf, 16, pos_vert_ratio);
|
||||
_mav_put_float(buf, 20, mag_ratio);
|
||||
_mav_put_float(buf, 24, hagl_ratio);
|
||||
_mav_put_float(buf, 28, tas_ratio);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
_mav_put_uint16_t(buf, 40, flags);
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, buf, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN, MAVLINK_MSG_ID_ESTIMATOR_STATUS_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, buf, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
#else
|
||||
mavlink_estimator_status_t *packet = (mavlink_estimator_status_t *)msgbuf;
|
||||
packet->time_usec = time_usec;
|
||||
packet->vel_ratio = vel_ratio;
|
||||
packet->pos_horiz_ratio = pos_horiz_ratio;
|
||||
packet->pos_vert_ratio = pos_vert_ratio;
|
||||
packet->mag_ratio = mag_ratio;
|
||||
packet->hagl_ratio = hagl_ratio;
|
||||
packet->tas_ratio = tas_ratio;
|
||||
packet->pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet->pos_vert_accuracy = pos_vert_accuracy;
|
||||
packet->flags = flags;
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, (const char *)packet, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN, MAVLINK_MSG_ID_ESTIMATOR_STATUS_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESTIMATOR_STATUS, (const char *)packet, MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// MESSAGE ESTIMATOR_STATUS UNPACKING
|
||||
|
||||
|
||||
/**
|
||||
* @brief Get field time_usec from estimator_status message
|
||||
*
|
||||
* @return Timestamp (micros since boot or Unix epoch)
|
||||
*/
|
||||
static inline uint64_t mavlink_msg_estimator_status_get_time_usec(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_uint64_t(msg, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field flags from estimator_status message
|
||||
*
|
||||
* @return Integer bitmask indicating which EKF outputs are valid. See definition for ESTIMATOR_STATUS_FLAGS.
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_estimator_status_get_flags(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_uint16_t(msg, 40);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field vel_ratio from estimator_status message
|
||||
*
|
||||
* @return Velocity innovation test ratio
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_vel_ratio(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 8);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field pos_horiz_ratio from estimator_status message
|
||||
*
|
||||
* @return Horizontal position innovation test ratio
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_pos_horiz_ratio(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 12);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field pos_vert_ratio from estimator_status message
|
||||
*
|
||||
* @return Vertical position innovation test ratio
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_pos_vert_ratio(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 16);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field mag_ratio from estimator_status message
|
||||
*
|
||||
* @return Magnetometer innovation test ratio
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_mag_ratio(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 20);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field hagl_ratio from estimator_status message
|
||||
*
|
||||
* @return Height above terrain innovation test ratio
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_hagl_ratio(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 24);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field tas_ratio from estimator_status message
|
||||
*
|
||||
* @return True airspeed innovation test ratio
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_tas_ratio(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 28);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field pos_horiz_accuracy from estimator_status message
|
||||
*
|
||||
* @return Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_pos_horiz_accuracy(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 32);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field pos_vert_accuracy from estimator_status message
|
||||
*
|
||||
* @return Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
*/
|
||||
static inline float mavlink_msg_estimator_status_get_pos_vert_accuracy(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 36);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Decode a estimator_status message into a struct
|
||||
*
|
||||
* @param msg The message to decode
|
||||
* @param estimator_status C-struct to decode the message contents into
|
||||
*/
|
||||
static inline void mavlink_msg_estimator_status_decode(const mavlink_message_t* msg, mavlink_estimator_status_t* estimator_status)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP
|
||||
estimator_status->time_usec = mavlink_msg_estimator_status_get_time_usec(msg);
|
||||
estimator_status->vel_ratio = mavlink_msg_estimator_status_get_vel_ratio(msg);
|
||||
estimator_status->pos_horiz_ratio = mavlink_msg_estimator_status_get_pos_horiz_ratio(msg);
|
||||
estimator_status->pos_vert_ratio = mavlink_msg_estimator_status_get_pos_vert_ratio(msg);
|
||||
estimator_status->mag_ratio = mavlink_msg_estimator_status_get_mag_ratio(msg);
|
||||
estimator_status->hagl_ratio = mavlink_msg_estimator_status_get_hagl_ratio(msg);
|
||||
estimator_status->tas_ratio = mavlink_msg_estimator_status_get_tas_ratio(msg);
|
||||
estimator_status->pos_horiz_accuracy = mavlink_msg_estimator_status_get_pos_horiz_accuracy(msg);
|
||||
estimator_status->pos_vert_accuracy = mavlink_msg_estimator_status_get_pos_vert_accuracy(msg);
|
||||
estimator_status->flags = mavlink_msg_estimator_status_get_flags(msg);
|
||||
#else
|
||||
memcpy(estimator_status, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_ESTIMATOR_STATUS_LEN);
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,401 @@
|
||||
// MESSAGE WIND PACKING
|
||||
|
||||
#define MAVLINK_MSG_ID_WIND 231
|
||||
|
||||
typedef struct __mavlink_wind_t
|
||||
{
|
||||
uint64_t time_usec; /*< Timestamp (micros since boot or Unix epoch)*/
|
||||
float wind_x; /*< Wind in X (NED) direction in m/s*/
|
||||
float wind_y; /*< Wind in Y (NED) direction in m/s*/
|
||||
float wind_z; /*< Wind in Z (NED) direction in m/s*/
|
||||
float var_horiz; /*< Variability of the wind in XY. RMS of a 1 Hz lowpassed wind estimate.*/
|
||||
float var_vert; /*< Variability of the wind in Z. RMS of a 1 Hz lowpassed wind estimate.*/
|
||||
float wind_alt; /*< AMSL altitude (m) this measurement was taken at*/
|
||||
float pos_horiz_accuracy; /*< Horizontal position 1-STD accuracy relative to the EKF local origin (m)*/
|
||||
float pos_vert_accuracy; /*< Vertical position 1-STD accuracy relative to the EKF local origin (m)*/
|
||||
} mavlink_wind_t;
|
||||
|
||||
#define MAVLINK_MSG_ID_WIND_LEN 40
|
||||
#define MAVLINK_MSG_ID_231_LEN 40
|
||||
|
||||
#define MAVLINK_MSG_ID_WIND_CRC 24
|
||||
#define MAVLINK_MSG_ID_231_CRC 24
|
||||
|
||||
|
||||
|
||||
#define MAVLINK_MESSAGE_INFO_WIND { \
|
||||
"WIND", \
|
||||
9, \
|
||||
{ { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_wind_t, time_usec) }, \
|
||||
{ "wind_x", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_wind_t, wind_x) }, \
|
||||
{ "wind_y", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_wind_t, wind_y) }, \
|
||||
{ "wind_z", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_wind_t, wind_z) }, \
|
||||
{ "var_horiz", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_wind_t, var_horiz) }, \
|
||||
{ "var_vert", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_wind_t, var_vert) }, \
|
||||
{ "wind_alt", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_wind_t, wind_alt) }, \
|
||||
{ "pos_horiz_accuracy", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_wind_t, pos_horiz_accuracy) }, \
|
||||
{ "pos_vert_accuracy", NULL, MAVLINK_TYPE_FLOAT, 0, 36, offsetof(mavlink_wind_t, pos_vert_accuracy) }, \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Pack a wind message
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
*
|
||||
* @param time_usec Timestamp (micros since boot or Unix epoch)
|
||||
* @param wind_x Wind in X (NED) direction in m/s
|
||||
* @param wind_y Wind in Y (NED) direction in m/s
|
||||
* @param wind_z Wind in Z (NED) direction in m/s
|
||||
* @param var_horiz Variability of the wind in XY. RMS of a 1 Hz lowpassed wind estimate.
|
||||
* @param var_vert Variability of the wind in Z. RMS of a 1 Hz lowpassed wind estimate.
|
||||
* @param wind_alt AMSL altitude (m) this measurement was taken at
|
||||
* @param pos_horiz_accuracy Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @param pos_vert_accuracy Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_wind_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
|
||||
uint64_t time_usec, float wind_x, float wind_y, float wind_z, float var_horiz, float var_vert, float wind_alt, float pos_horiz_accuracy, float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_WIND_LEN];
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, wind_x);
|
||||
_mav_put_float(buf, 12, wind_y);
|
||||
_mav_put_float(buf, 16, wind_z);
|
||||
_mav_put_float(buf, 20, var_horiz);
|
||||
_mav_put_float(buf, 24, var_vert);
|
||||
_mav_put_float(buf, 28, wind_alt);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#else
|
||||
mavlink_wind_t packet;
|
||||
packet.time_usec = time_usec;
|
||||
packet.wind_x = wind_x;
|
||||
packet.wind_y = wind_y;
|
||||
packet.wind_z = wind_z;
|
||||
packet.var_horiz = var_horiz;
|
||||
packet.var_vert = var_vert;
|
||||
packet.wind_alt = wind_alt;
|
||||
packet.pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet.pos_vert_accuracy = pos_vert_accuracy;
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
|
||||
msg->msgid = MAVLINK_MSG_ID_WIND;
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_WIND_LEN, MAVLINK_MSG_ID_WIND_CRC);
|
||||
#else
|
||||
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Pack a wind message on a channel
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param chan The MAVLink channel this message will be sent over
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
* @param time_usec Timestamp (micros since boot or Unix epoch)
|
||||
* @param wind_x Wind in X (NED) direction in m/s
|
||||
* @param wind_y Wind in Y (NED) direction in m/s
|
||||
* @param wind_z Wind in Z (NED) direction in m/s
|
||||
* @param var_horiz Variability of the wind in XY. RMS of a 1 Hz lowpassed wind estimate.
|
||||
* @param var_vert Variability of the wind in Z. RMS of a 1 Hz lowpassed wind estimate.
|
||||
* @param wind_alt AMSL altitude (m) this measurement was taken at
|
||||
* @param pos_horiz_accuracy Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @param pos_vert_accuracy Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_wind_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
|
||||
mavlink_message_t* msg,
|
||||
uint64_t time_usec,float wind_x,float wind_y,float wind_z,float var_horiz,float var_vert,float wind_alt,float pos_horiz_accuracy,float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_WIND_LEN];
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, wind_x);
|
||||
_mav_put_float(buf, 12, wind_y);
|
||||
_mav_put_float(buf, 16, wind_z);
|
||||
_mav_put_float(buf, 20, var_horiz);
|
||||
_mav_put_float(buf, 24, var_vert);
|
||||
_mav_put_float(buf, 28, wind_alt);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#else
|
||||
mavlink_wind_t packet;
|
||||
packet.time_usec = time_usec;
|
||||
packet.wind_x = wind_x;
|
||||
packet.wind_y = wind_y;
|
||||
packet.wind_z = wind_z;
|
||||
packet.var_horiz = var_horiz;
|
||||
packet.var_vert = var_vert;
|
||||
packet.wind_alt = wind_alt;
|
||||
packet.pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet.pos_vert_accuracy = pos_vert_accuracy;
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
|
||||
msg->msgid = MAVLINK_MSG_ID_WIND;
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_WIND_LEN, MAVLINK_MSG_ID_WIND_CRC);
|
||||
#else
|
||||
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Encode a wind struct
|
||||
*
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
* @param wind C-struct to read the message contents from
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_wind_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_wind_t* wind)
|
||||
{
|
||||
return mavlink_msg_wind_pack(system_id, component_id, msg, wind->time_usec, wind->wind_x, wind->wind_y, wind->wind_z, wind->var_horiz, wind->var_vert, wind->wind_alt, wind->pos_horiz_accuracy, wind->pos_vert_accuracy);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Encode a wind struct on a channel
|
||||
*
|
||||
* @param system_id ID of this system
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param chan The MAVLink channel this message will be sent over
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
* @param wind C-struct to read the message contents from
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_wind_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_wind_t* wind)
|
||||
{
|
||||
return mavlink_msg_wind_pack_chan(system_id, component_id, chan, msg, wind->time_usec, wind->wind_x, wind->wind_y, wind->wind_z, wind->var_horiz, wind->var_vert, wind->wind_alt, wind->pos_horiz_accuracy, wind->pos_vert_accuracy);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Send a wind message
|
||||
* @param chan MAVLink channel to send the message
|
||||
*
|
||||
* @param time_usec Timestamp (micros since boot or Unix epoch)
|
||||
* @param wind_x Wind in X (NED) direction in m/s
|
||||
* @param wind_y Wind in Y (NED) direction in m/s
|
||||
* @param wind_z Wind in Z (NED) direction in m/s
|
||||
* @param var_horiz Variability of the wind in XY. RMS of a 1 Hz lowpassed wind estimate.
|
||||
* @param var_vert Variability of the wind in Z. RMS of a 1 Hz lowpassed wind estimate.
|
||||
* @param wind_alt AMSL altitude (m) this measurement was taken at
|
||||
* @param pos_horiz_accuracy Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
* @param pos_vert_accuracy Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
*/
|
||||
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
|
||||
|
||||
static inline void mavlink_msg_wind_send(mavlink_channel_t chan, uint64_t time_usec, float wind_x, float wind_y, float wind_z, float var_horiz, float var_vert, float wind_alt, float pos_horiz_accuracy, float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_WIND_LEN];
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, wind_x);
|
||||
_mav_put_float(buf, 12, wind_y);
|
||||
_mav_put_float(buf, 16, wind_z);
|
||||
_mav_put_float(buf, 20, var_horiz);
|
||||
_mav_put_float(buf, 24, var_vert);
|
||||
_mav_put_float(buf, 28, wind_alt);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, buf, MAVLINK_MSG_ID_WIND_LEN, MAVLINK_MSG_ID_WIND_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, buf, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
#else
|
||||
mavlink_wind_t packet;
|
||||
packet.time_usec = time_usec;
|
||||
packet.wind_x = wind_x;
|
||||
packet.wind_y = wind_y;
|
||||
packet.wind_z = wind_z;
|
||||
packet.var_horiz = var_horiz;
|
||||
packet.var_vert = var_vert;
|
||||
packet.wind_alt = wind_alt;
|
||||
packet.pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet.pos_vert_accuracy = pos_vert_accuracy;
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, (const char *)&packet, MAVLINK_MSG_ID_WIND_LEN, MAVLINK_MSG_ID_WIND_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, (const char *)&packet, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
#if MAVLINK_MSG_ID_WIND_LEN <= MAVLINK_MAX_PAYLOAD_LEN
|
||||
/*
|
||||
This varient of _send() can be used to save stack space by re-using
|
||||
memory from the receive buffer. The caller provides a
|
||||
mavlink_message_t which is the size of a full mavlink message. This
|
||||
is usually the receive buffer for the channel, and allows a reply to an
|
||||
incoming message with minimum stack space usage.
|
||||
*/
|
||||
static inline void mavlink_msg_wind_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t time_usec, float wind_x, float wind_y, float wind_z, float var_horiz, float var_vert, float wind_alt, float pos_horiz_accuracy, float pos_vert_accuracy)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char *buf = (char *)msgbuf;
|
||||
_mav_put_uint64_t(buf, 0, time_usec);
|
||||
_mav_put_float(buf, 8, wind_x);
|
||||
_mav_put_float(buf, 12, wind_y);
|
||||
_mav_put_float(buf, 16, wind_z);
|
||||
_mav_put_float(buf, 20, var_horiz);
|
||||
_mav_put_float(buf, 24, var_vert);
|
||||
_mav_put_float(buf, 28, wind_alt);
|
||||
_mav_put_float(buf, 32, pos_horiz_accuracy);
|
||||
_mav_put_float(buf, 36, pos_vert_accuracy);
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, buf, MAVLINK_MSG_ID_WIND_LEN, MAVLINK_MSG_ID_WIND_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, buf, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
#else
|
||||
mavlink_wind_t *packet = (mavlink_wind_t *)msgbuf;
|
||||
packet->time_usec = time_usec;
|
||||
packet->wind_x = wind_x;
|
||||
packet->wind_y = wind_y;
|
||||
packet->wind_z = wind_z;
|
||||
packet->var_horiz = var_horiz;
|
||||
packet->var_vert = var_vert;
|
||||
packet->wind_alt = wind_alt;
|
||||
packet->pos_horiz_accuracy = pos_horiz_accuracy;
|
||||
packet->pos_vert_accuracy = pos_vert_accuracy;
|
||||
|
||||
#if MAVLINK_CRC_EXTRA
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, (const char *)packet, MAVLINK_MSG_ID_WIND_LEN, MAVLINK_MSG_ID_WIND_CRC);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_WIND, (const char *)packet, MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// MESSAGE WIND UNPACKING
|
||||
|
||||
|
||||
/**
|
||||
* @brief Get field time_usec from wind message
|
||||
*
|
||||
* @return Timestamp (micros since boot or Unix epoch)
|
||||
*/
|
||||
static inline uint64_t mavlink_msg_wind_get_time_usec(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_uint64_t(msg, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field wind_x from wind message
|
||||
*
|
||||
* @return Wind in X (NED) direction in m/s
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_wind_x(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 8);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field wind_y from wind message
|
||||
*
|
||||
* @return Wind in Y (NED) direction in m/s
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_wind_y(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 12);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field wind_z from wind message
|
||||
*
|
||||
* @return Wind in Z (NED) direction in m/s
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_wind_z(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 16);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field var_horiz from wind message
|
||||
*
|
||||
* @return Variability of the wind in XY. RMS of a 1 Hz lowpassed wind estimate.
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_var_horiz(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 20);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field var_vert from wind message
|
||||
*
|
||||
* @return Variability of the wind in Z. RMS of a 1 Hz lowpassed wind estimate.
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_var_vert(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 24);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field wind_alt from wind message
|
||||
*
|
||||
* @return AMSL altitude (m) this measurement was taken at
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_wind_alt(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 28);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field pos_horiz_accuracy from wind message
|
||||
*
|
||||
* @return Horizontal position 1-STD accuracy relative to the EKF local origin (m)
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_pos_horiz_accuracy(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 32);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field pos_vert_accuracy from wind message
|
||||
*
|
||||
* @return Vertical position 1-STD accuracy relative to the EKF local origin (m)
|
||||
*/
|
||||
static inline float mavlink_msg_wind_get_pos_vert_accuracy(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_float(msg, 36);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Decode a wind message into a struct
|
||||
*
|
||||
* @param msg The message to decode
|
||||
* @param wind C-struct to decode the message contents into
|
||||
*/
|
||||
static inline void mavlink_msg_wind_decode(const mavlink_message_t* msg, mavlink_wind_t* wind)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP
|
||||
wind->time_usec = mavlink_msg_wind_get_time_usec(msg);
|
||||
wind->wind_x = mavlink_msg_wind_get_wind_x(msg);
|
||||
wind->wind_y = mavlink_msg_wind_get_wind_y(msg);
|
||||
wind->wind_z = mavlink_msg_wind_get_wind_z(msg);
|
||||
wind->var_horiz = mavlink_msg_wind_get_var_horiz(msg);
|
||||
wind->var_vert = mavlink_msg_wind_get_var_vert(msg);
|
||||
wind->wind_alt = mavlink_msg_wind_get_wind_alt(msg);
|
||||
wind->pos_horiz_accuracy = mavlink_msg_wind_get_pos_horiz_accuracy(msg);
|
||||
wind->pos_vert_accuracy = mavlink_msg_wind_get_pos_vert_accuracy(msg);
|
||||
#else
|
||||
memcpy(wind, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_WIND_LEN);
|
||||
#endif
|
||||
}
|
||||
@@ -5715,6 +5715,109 @@ static void mavlink_test_landing_target(uint8_t system_id, uint8_t component_id,
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
}
|
||||
|
||||
static void mavlink_test_estimator_status(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
|
||||
{
|
||||
mavlink_message_t msg;
|
||||
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||||
uint16_t i;
|
||||
mavlink_estimator_status_t packet_in = {
|
||||
93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,241.0,269.0,19315
|
||||
};
|
||||
mavlink_estimator_status_t packet1, packet2;
|
||||
memset(&packet1, 0, sizeof(packet1));
|
||||
packet1.time_usec = packet_in.time_usec;
|
||||
packet1.vel_ratio = packet_in.vel_ratio;
|
||||
packet1.pos_horiz_ratio = packet_in.pos_horiz_ratio;
|
||||
packet1.pos_vert_ratio = packet_in.pos_vert_ratio;
|
||||
packet1.mag_ratio = packet_in.mag_ratio;
|
||||
packet1.hagl_ratio = packet_in.hagl_ratio;
|
||||
packet1.tas_ratio = packet_in.tas_ratio;
|
||||
packet1.pos_horiz_accuracy = packet_in.pos_horiz_accuracy;
|
||||
packet1.pos_vert_accuracy = packet_in.pos_vert_accuracy;
|
||||
packet1.flags = packet_in.flags;
|
||||
|
||||
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_estimator_status_encode(system_id, component_id, &msg, &packet1);
|
||||
mavlink_msg_estimator_status_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_estimator_status_pack(system_id, component_id, &msg , packet1.time_usec , packet1.flags , packet1.vel_ratio , packet1.pos_horiz_ratio , packet1.pos_vert_ratio , packet1.mag_ratio , packet1.hagl_ratio , packet1.tas_ratio , packet1.pos_horiz_accuracy , packet1.pos_vert_accuracy );
|
||||
mavlink_msg_estimator_status_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_estimator_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_usec , packet1.flags , packet1.vel_ratio , packet1.pos_horiz_ratio , packet1.pos_vert_ratio , packet1.mag_ratio , packet1.hagl_ratio , packet1.tas_ratio , packet1.pos_horiz_accuracy , packet1.pos_vert_accuracy );
|
||||
mavlink_msg_estimator_status_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_to_send_buffer(buffer, &msg);
|
||||
for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
|
||||
comm_send_ch(MAVLINK_COMM_0, buffer[i]);
|
||||
}
|
||||
mavlink_msg_estimator_status_decode(last_msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_estimator_status_send(MAVLINK_COMM_1 , packet1.time_usec , packet1.flags , packet1.vel_ratio , packet1.pos_horiz_ratio , packet1.pos_vert_ratio , packet1.mag_ratio , packet1.hagl_ratio , packet1.tas_ratio , packet1.pos_horiz_accuracy , packet1.pos_vert_accuracy );
|
||||
mavlink_msg_estimator_status_decode(last_msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
}
|
||||
|
||||
static void mavlink_test_wind(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
|
||||
{
|
||||
mavlink_message_t msg;
|
||||
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||||
uint16_t i;
|
||||
mavlink_wind_t packet_in = {
|
||||
93372036854775807ULL,73.0,101.0,129.0,157.0,185.0,213.0,241.0,269.0
|
||||
};
|
||||
mavlink_wind_t packet1, packet2;
|
||||
memset(&packet1, 0, sizeof(packet1));
|
||||
packet1.time_usec = packet_in.time_usec;
|
||||
packet1.wind_x = packet_in.wind_x;
|
||||
packet1.wind_y = packet_in.wind_y;
|
||||
packet1.wind_z = packet_in.wind_z;
|
||||
packet1.var_horiz = packet_in.var_horiz;
|
||||
packet1.var_vert = packet_in.var_vert;
|
||||
packet1.wind_alt = packet_in.wind_alt;
|
||||
packet1.pos_horiz_accuracy = packet_in.pos_horiz_accuracy;
|
||||
packet1.pos_vert_accuracy = packet_in.pos_vert_accuracy;
|
||||
|
||||
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_wind_encode(system_id, component_id, &msg, &packet1);
|
||||
mavlink_msg_wind_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_wind_pack(system_id, component_id, &msg , packet1.time_usec , packet1.wind_x , packet1.wind_y , packet1.wind_z , packet1.var_horiz , packet1.var_vert , packet1.wind_alt , packet1.pos_horiz_accuracy , packet1.pos_vert_accuracy );
|
||||
mavlink_msg_wind_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_wind_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_usec , packet1.wind_x , packet1.wind_y , packet1.wind_z , packet1.var_horiz , packet1.var_vert , packet1.wind_alt , packet1.pos_horiz_accuracy , packet1.pos_vert_accuracy );
|
||||
mavlink_msg_wind_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_to_send_buffer(buffer, &msg);
|
||||
for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
|
||||
comm_send_ch(MAVLINK_COMM_0, buffer[i]);
|
||||
}
|
||||
mavlink_msg_wind_decode(last_msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_wind_send(MAVLINK_COMM_1 , packet1.time_usec , packet1.wind_x , packet1.wind_y , packet1.wind_z , packet1.var_horiz , packet1.var_vert , packet1.wind_alt , packet1.pos_horiz_accuracy , packet1.pos_vert_accuracy );
|
||||
mavlink_msg_wind_decode(last_msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
}
|
||||
|
||||
static void mavlink_test_vibration(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
|
||||
{
|
||||
mavlink_message_t msg;
|
||||
@@ -6448,6 +6551,8 @@ static void mavlink_test_common(uint8_t system_id, uint8_t component_id, mavlink
|
||||
mavlink_test_battery_status(system_id, component_id, last_msg);
|
||||
mavlink_test_autopilot_version(system_id, component_id, last_msg);
|
||||
mavlink_test_landing_target(system_id, component_id, last_msg);
|
||||
mavlink_test_estimator_status(system_id, component_id, last_msg);
|
||||
mavlink_test_wind(system_id, component_id, last_msg);
|
||||
mavlink_test_vibration(system_id, component_id, last_msg);
|
||||
mavlink_test_home_position(system_id, component_id, last_msg);
|
||||
mavlink_test_set_home_position(system_id, component_id, last_msg);
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
|
||||
|
||||
@@ -2030,6 +2030,53 @@
|
||||
<description>The aircraft should immediately transition into guided. This should not be set for follow me applications</description>
|
||||
</entry>
|
||||
</enum>
|
||||
<!-- ESTIMATOR_STATUS_FLAGS - these values should be bit-and with the messages flags field to know if flag has been set -->
|
||||
<enum name="ESTIMATOR_STATUS_FLAGS">
|
||||
<description>Flags in EKF_STATUS message</description>
|
||||
<entry name="ESTIMATOR_ATTITUDE" value="1">
|
||||
<description>True if the attitude estimate is good</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_VELOCITY_HORIZ" value="2">
|
||||
<description>True if the horizontal velocity estimate is good</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_VELOCITY_VERT" value="4">
|
||||
<description>True if the vertical velocity estimate is good</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_POS_HORIZ_REL" value="8">
|
||||
<description>True if the horizontal position (relative) estimate is good</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_POS_HORIZ_ABS" value="16">
|
||||
<description>True if the horizontal position (absolute) estimate is good</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_POS_VERT_ABS" value="32">
|
||||
<description>True if the vertical position (absolute) estimate is good</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_POS_VERT_AGL" value="64">
|
||||
<description>True if the vertical position (above ground) estimate is good</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_CONST_POS_MODE" value="128">
|
||||
<description>True if the EKF is in a constant position mode and is not using external measurements (eg GPS or optical flow)</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_PRED_POS_HORIZ_REL" value="256">
|
||||
<description>True if the EKF has sufficient data to enter a mode that will provide a (relative) position estimate</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_PRED_POS_HORIZ_ABS" value="512">
|
||||
<description>True if the EKF has sufficient data to enter a mode that will provide a (absolute) position estimate</description>
|
||||
</entry>
|
||||
|
||||
<entry name="ESTIMATOR_GPS_GLITCH" value="1024">
|
||||
<description>True if the EKF has detected a GPS glitch</description>
|
||||
</entry>
|
||||
</enum>
|
||||
</enums>
|
||||
<messages>
|
||||
<message id="0" name="HEARTBEAT">
|
||||
@@ -3240,7 +3287,31 @@
|
||||
<field type="float" name="size_x">Size in radians of target along x-axis</field>
|
||||
<field type="float" name="size_y">Size in radians of target along y-axis</field>
|
||||
</message>
|
||||
<!-- MESSAGE IDs 180 - 240: Space for custom messages in individual projectname_messages.xml files -->
|
||||
<!-- MESSAGE IDs 180 - 229: Space for custom messages in individual projectname_messages.xml files -->
|
||||
<message id="230" name="ESTIMATOR_STATUS">
|
||||
<description>Estimator status message including flags, innovation test ratios and estimated accuracies. The flags message is an integer bitmask containing information on which EKF outputs are valid. See the ESTIMATOR_STATUS_FLAGS enum definition for further information. The innovaton test ratios show the magnitude of the sensor innovation divided by the innovation check threshold. Under normal operation the innovaton test ratios should be below 0.5 with occasional values up to 1.0. Values greater than 1.0 should be rare under normal operation and indicate that a measurement has been rejected by the filter. The user should be notified if an innovation test ratio greater than 1.0 is recorded. Notifications for values in the range between 0.5 and 1.0 should be optional and controllable by the user.</description>
|
||||
<field type="uint64_t" name="time_usec">Timestamp (micros since boot or Unix epoch)</field>
|
||||
<field name="flags" type="uint16_t" enum="ESTIMATOR_STATUS_FLAGS">Integer bitmask indicating which EKF outputs are valid. See definition for ESTIMATOR_STATUS_FLAGS.</field>
|
||||
<field name="vel_ratio" type="float">Velocity innovation test ratio</field>
|
||||
<field name="pos_horiz_ratio" type="float">Horizontal position innovation test ratio</field>
|
||||
<field name="pos_vert_ratio" type="float">Vertical position innovation test ratio</field>
|
||||
<field name="mag_ratio" type="float">Magnetometer innovation test ratio</field>
|
||||
<field name="hagl_ratio" type="float">Height above terrain innovation test ratio</field>
|
||||
<field name="tas_ratio" type="float">True airspeed innovation test ratio</field>
|
||||
<field name="pos_horiz_accuracy" type="float">Horizontal position 1-STD accuracy relative to the EKF local origin (m)</field>
|
||||
<field name="pos_vert_accuracy" type="float">Vertical position 1-STD accuracy relative to the EKF local origin (m)</field>
|
||||
</message>
|
||||
<message id="231" name="WIND">
|
||||
<field type="uint64_t" name="time_usec">Timestamp (micros since boot or Unix epoch)</field>
|
||||
<field type="float" name="wind_x">Wind in X (NED) direction in m/s</field>
|
||||
<field type="float" name="wind_y">Wind in Y (NED) direction in m/s</field>
|
||||
<field type="float" name="wind_z">Wind in Z (NED) direction in m/s</field>
|
||||
<field type="float" name="var_horiz">Variability of the wind in XY. RMS of a 1 Hz lowpassed wind estimate.</field>
|
||||
<field type="float" name="var_vert">Variability of the wind in Z. RMS of a 1 Hz lowpassed wind estimate.</field>
|
||||
<field type="float" name="wind_alt">AMSL altitude (m) this measurement was taken at</field>
|
||||
<field name="pos_horiz_accuracy" type="float">Horizontal position 1-STD accuracy relative to the EKF local origin (m)</field>
|
||||
<field name="pos_vert_accuracy" type="float">Vertical position 1-STD accuracy relative to the EKF local origin (m)</field>
|
||||
</message>
|
||||
<message id="241" name="VIBRATION">
|
||||
<description>Vibration levels and accelerometer clipping</description>
|
||||
<field type="uint64_t" name="time_usec">Timestamp (micros since boot or Unix epoch)</field>
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 9
|
||||
|
||||
|
||||
+3
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 179
|
||||
|
||||
|
||||
+3
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -5,7 +5,7 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Apr 18 2016"
|
||||
#define MAVLINK_BUILD_DATE "Tue Apr 19 2016"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "1.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
|
||||
|
||||
Reference in New Issue
Block a user