This commit is contained in:
PX4BuildBot
2024-03-06 07:46:57 +00:00
parent 81e52d4831
commit 71897b33d1
43 changed files with 558 additions and 1209 deletions
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_ASLUAV.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_ASLUAV_XML_HASH -5475910560286655489
#define MAVLINK_ASLUAV_XML_HASH 2759832754957351435
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH -5475910560286655489
#define MAVLINK_PRIMARY_XML_HASH 2759832754957351435
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_AVSSUAS.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_AVSSUAS_XML_HASH 8174650624141337137
#define MAVLINK_AVSSUAS_XML_HASH 6756519112531134181
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 8174650624141337137
#define MAVLINK_PRIMARY_XML_HASH 6756519112531134181
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+4 -4
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH -3786167710775201192
#define MAVLINK_PRIMARY_XML_HASH -4506071734589794726
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_ARDUPILOTMEGA.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_ARDUPILOTMEGA_XML_HASH 3714030302114372952
#define MAVLINK_ARDUPILOTMEGA_XML_HASH 6081538695159269545
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 3714030302114372952
#define MAVLINK_PRIMARY_XML_HASH 6081538695159269545
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_COMMON.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_COMMON_XML_HASH 7368992579746686138
#define MAVLINK_COMMON_XML_HASH -3704812534853522560
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 7368992579746686138
#define MAVLINK_PRIMARY_XML_HASH -3704812534853522560
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_CSAIRLINK.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_CSAIRLINK_XML_HASH 1594604502980683928
#define MAVLINK_CSAIRLINK_XML_HASH -3566374301212586506
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 1594604502980683928
#define MAVLINK_PRIMARY_XML_HASH -3566374301212586506
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_CUBEPILOT.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_CUBEPILOT_XML_HASH 8845354363236992219
#define MAVLINK_CUBEPILOT_XML_HASH 6507661970788288008
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 8845354363236992219
#define MAVLINK_PRIMARY_XML_HASH 6507661970788288008
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH -8889961653062255581
#define MAVLINK_PRIMARY_XML_HASH 2801339419539743484
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+402
View File
@@ -0,0 +1,402 @@
#pragma once
// MESSAGE RADIO_RC_CHANNELS PACKING
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS 420
MAVPACKED(
typedef struct __mavlink_radio_rc_channels_t {
uint32_t time_last_update_ms; /*< [ms] Time when the data in the channels field were last updated (time since boot in the receiver's time domain).*/
uint16_t flags; /*< Radio RC channels status flags.*/
uint8_t target_system; /*< System ID (ID of target system, normally flight controller).*/
uint8_t target_component; /*< Component ID (normally 0 for broadcast).*/
uint8_t count; /*< Total number of RC channels being received. This can be larger than 32, indicating that more channels are available but not given in this message.*/
int16_t channels[32]; /*< RC channels.
Channel values are in centered 13 bit format. Range is -4096 to 4096, center is 0. Conversion to PWM is x * 5/32 + 1500.
Channels with indexes equal or above count should be set to 0, to benefit from MAVLink's trailing-zero trimming.*/
}) mavlink_radio_rc_channels_t;
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN 73
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN 9
#define MAVLINK_MSG_ID_420_LEN 73
#define MAVLINK_MSG_ID_420_MIN_LEN 9
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC 20
#define MAVLINK_MSG_ID_420_CRC 20
#define MAVLINK_MSG_RADIO_RC_CHANNELS_FIELD_CHANNELS_LEN 32
#if MAVLINK_COMMAND_24BIT
#define MAVLINK_MESSAGE_INFO_RADIO_RC_CHANNELS { \
420, \
"RADIO_RC_CHANNELS", \
6, \
{ { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_radio_rc_channels_t, target_system) }, \
{ "target_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_radio_rc_channels_t, target_component) }, \
{ "time_last_update_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_radio_rc_channels_t, time_last_update_ms) }, \
{ "flags", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_radio_rc_channels_t, flags) }, \
{ "count", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_radio_rc_channels_t, count) }, \
{ "channels", NULL, MAVLINK_TYPE_INT16_T, 32, 9, offsetof(mavlink_radio_rc_channels_t, channels) }, \
} \
}
#else
#define MAVLINK_MESSAGE_INFO_RADIO_RC_CHANNELS { \
"RADIO_RC_CHANNELS", \
6, \
{ { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_radio_rc_channels_t, target_system) }, \
{ "target_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_radio_rc_channels_t, target_component) }, \
{ "time_last_update_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_radio_rc_channels_t, time_last_update_ms) }, \
{ "flags", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_radio_rc_channels_t, flags) }, \
{ "count", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_radio_rc_channels_t, count) }, \
{ "channels", NULL, MAVLINK_TYPE_INT16_T, 32, 9, offsetof(mavlink_radio_rc_channels_t, channels) }, \
} \
}
#endif
/**
* @brief Pack a radio_rc_channels 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 target_system System ID (ID of target system, normally flight controller).
* @param target_component Component ID (normally 0 for broadcast).
* @param time_last_update_ms [ms] Time when the data in the channels field were last updated (time since boot in the receiver's time domain).
* @param flags Radio RC channels status flags.
* @param count Total number of RC channels being received. This can be larger than 32, indicating that more channels are available but not given in this message.
* @param channels RC channels.
Channel values are in centered 13 bit format. Range is -4096 to 4096, center is 0. Conversion to PWM is x * 5/32 + 1500.
Channels with indexes equal or above count should be set to 0, to benefit from MAVLink's trailing-zero trimming.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_rc_channels_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
uint8_t target_system, uint8_t target_component, uint32_t time_last_update_ms, uint16_t flags, uint8_t count, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint32_t(buf, 0, time_last_update_ms);
_mav_put_uint16_t(buf, 4, flags);
_mav_put_uint8_t(buf, 6, target_system);
_mav_put_uint8_t(buf, 7, target_component);
_mav_put_uint8_t(buf, 8, count);
_mav_put_int16_t_array(buf, 9, channels, 32);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#else
mavlink_radio_rc_channels_t packet;
packet.time_last_update_ms = time_last_update_ms;
packet.flags = flags;
packet.target_system = target_system;
packet.target_component = target_component;
packet.count = count;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*32);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_RC_CHANNELS;
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
}
/**
* @brief Pack a radio_rc_channels message
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param status MAVLink status structure
* @param msg The MAVLink message to compress the data into
*
* @param target_system System ID (ID of target system, normally flight controller).
* @param target_component Component ID (normally 0 for broadcast).
* @param time_last_update_ms [ms] Time when the data in the channels field were last updated (time since boot in the receiver's time domain).
* @param flags Radio RC channels status flags.
* @param count Total number of RC channels being received. This can be larger than 32, indicating that more channels are available but not given in this message.
* @param channels RC channels.
Channel values are in centered 13 bit format. Range is -4096 to 4096, center is 0. Conversion to PWM is x * 5/32 + 1500.
Channels with indexes equal or above count should be set to 0, to benefit from MAVLink's trailing-zero trimming.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_rc_channels_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
uint8_t target_system, uint8_t target_component, uint32_t time_last_update_ms, uint16_t flags, uint8_t count, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint32_t(buf, 0, time_last_update_ms);
_mav_put_uint16_t(buf, 4, flags);
_mav_put_uint8_t(buf, 6, target_system);
_mav_put_uint8_t(buf, 7, target_component);
_mav_put_uint8_t(buf, 8, count);
_mav_put_int16_t_array(buf, 9, channels, 32);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#else
mavlink_radio_rc_channels_t packet;
packet.time_last_update_ms = time_last_update_ms;
packet.flags = flags;
packet.target_system = target_system;
packet.target_component = target_component;
packet.count = count;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*32);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_RC_CHANNELS;
#if MAVLINK_CRC_EXTRA
return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#else
return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
}
/**
* @brief Pack a radio_rc_channels 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 target_system System ID (ID of target system, normally flight controller).
* @param target_component Component ID (normally 0 for broadcast).
* @param time_last_update_ms [ms] Time when the data in the channels field were last updated (time since boot in the receiver's time domain).
* @param flags Radio RC channels status flags.
* @param count Total number of RC channels being received. This can be larger than 32, indicating that more channels are available but not given in this message.
* @param channels RC channels.
Channel values are in centered 13 bit format. Range is -4096 to 4096, center is 0. Conversion to PWM is x * 5/32 + 1500.
Channels with indexes equal or above count should be set to 0, to benefit from MAVLink's trailing-zero trimming.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_rc_channels_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
mavlink_message_t* msg,
uint8_t target_system,uint8_t target_component,uint32_t time_last_update_ms,uint16_t flags,uint8_t count,const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint32_t(buf, 0, time_last_update_ms);
_mav_put_uint16_t(buf, 4, flags);
_mav_put_uint8_t(buf, 6, target_system);
_mav_put_uint8_t(buf, 7, target_component);
_mav_put_uint8_t(buf, 8, count);
_mav_put_int16_t_array(buf, 9, channels, 32);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#else
mavlink_radio_rc_channels_t packet;
packet.time_last_update_ms = time_last_update_ms;
packet.flags = flags;
packet.target_system = target_system;
packet.target_component = target_component;
packet.count = count;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*32);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_RC_CHANNELS;
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
}
/**
* @brief Encode a radio_rc_channels 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 radio_rc_channels C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_rc_channels_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
return mavlink_msg_radio_rc_channels_pack(system_id, component_id, msg, radio_rc_channels->target_system, radio_rc_channels->target_component, radio_rc_channels->time_last_update_ms, radio_rc_channels->flags, radio_rc_channels->count, radio_rc_channels->channels);
}
/**
* @brief Encode a radio_rc_channels 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 radio_rc_channels C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_rc_channels_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
return mavlink_msg_radio_rc_channels_pack_chan(system_id, component_id, chan, msg, radio_rc_channels->target_system, radio_rc_channels->target_component, radio_rc_channels->time_last_update_ms, radio_rc_channels->flags, radio_rc_channels->count, radio_rc_channels->channels);
}
/**
* @brief Encode a radio_rc_channels struct with provided status structure
*
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param status MAVLink status structure
* @param msg The MAVLink message to compress the data into
* @param radio_rc_channels C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_rc_channels_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
return mavlink_msg_radio_rc_channels_pack_status(system_id, component_id, _status, msg, radio_rc_channels->target_system, radio_rc_channels->target_component, radio_rc_channels->time_last_update_ms, radio_rc_channels->flags, radio_rc_channels->count, radio_rc_channels->channels);
}
/**
* @brief Send a radio_rc_channels message
* @param chan MAVLink channel to send the message
*
* @param target_system System ID (ID of target system, normally flight controller).
* @param target_component Component ID (normally 0 for broadcast).
* @param time_last_update_ms [ms] Time when the data in the channels field were last updated (time since boot in the receiver's time domain).
* @param flags Radio RC channels status flags.
* @param count Total number of RC channels being received. This can be larger than 32, indicating that more channels are available but not given in this message.
* @param channels RC channels.
Channel values are in centered 13 bit format. Range is -4096 to 4096, center is 0. Conversion to PWM is x * 5/32 + 1500.
Channels with indexes equal or above count should be set to 0, to benefit from MAVLink's trailing-zero trimming.
*/
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
static inline void mavlink_msg_radio_rc_channels_send(mavlink_channel_t chan, uint8_t target_system, uint8_t target_component, uint32_t time_last_update_ms, uint16_t flags, uint8_t count, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint32_t(buf, 0, time_last_update_ms);
_mav_put_uint16_t(buf, 4, flags);
_mav_put_uint8_t(buf, 6, target_system);
_mav_put_uint8_t(buf, 7, target_component);
_mav_put_uint8_t(buf, 8, count);
_mav_put_int16_t_array(buf, 9, channels, 32);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#else
mavlink_radio_rc_channels_t packet;
packet.time_last_update_ms = time_last_update_ms;
packet.flags = flags;
packet.target_system = target_system;
packet.target_component = target_component;
packet.count = count;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*32);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, (const char *)&packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#endif
}
/**
* @brief Send a radio_rc_channels message
* @param chan MAVLink channel to send the message
* @param struct The MAVLink struct to serialize
*/
static inline void mavlink_msg_radio_rc_channels_send_struct(mavlink_channel_t chan, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
mavlink_msg_radio_rc_channels_send(chan, radio_rc_channels->target_system, radio_rc_channels->target_component, radio_rc_channels->time_last_update_ms, radio_rc_channels->flags, radio_rc_channels->count, radio_rc_channels->channels);
#else
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, (const char *)radio_rc_channels, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#endif
}
#if MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
/*
This variant 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_radio_rc_channels_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t target_system, uint8_t target_component, uint32_t time_last_update_ms, uint16_t flags, uint8_t count, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char *buf = (char *)msgbuf;
_mav_put_uint32_t(buf, 0, time_last_update_ms);
_mav_put_uint16_t(buf, 4, flags);
_mav_put_uint8_t(buf, 6, target_system);
_mav_put_uint8_t(buf, 7, target_component);
_mav_put_uint8_t(buf, 8, count);
_mav_put_int16_t_array(buf, 9, channels, 32);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#else
mavlink_radio_rc_channels_t *packet = (mavlink_radio_rc_channels_t *)msgbuf;
packet->time_last_update_ms = time_last_update_ms;
packet->flags = flags;
packet->target_system = target_system;
packet->target_component = target_component;
packet->count = count;
mav_array_memcpy(packet->channels, channels, sizeof(int16_t)*32);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, (const char *)packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#endif
}
#endif
#endif
// MESSAGE RADIO_RC_CHANNELS UNPACKING
/**
* @brief Get field target_system from radio_rc_channels message
*
* @return System ID (ID of target system, normally flight controller).
*/
static inline uint8_t mavlink_msg_radio_rc_channels_get_target_system(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 6);
}
/**
* @brief Get field target_component from radio_rc_channels message
*
* @return Component ID (normally 0 for broadcast).
*/
static inline uint8_t mavlink_msg_radio_rc_channels_get_target_component(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 7);
}
/**
* @brief Get field time_last_update_ms from radio_rc_channels message
*
* @return [ms] Time when the data in the channels field were last updated (time since boot in the receiver's time domain).
*/
static inline uint32_t mavlink_msg_radio_rc_channels_get_time_last_update_ms(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint32_t(msg, 0);
}
/**
* @brief Get field flags from radio_rc_channels message
*
* @return Radio RC channels status flags.
*/
static inline uint16_t mavlink_msg_radio_rc_channels_get_flags(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint16_t(msg, 4);
}
/**
* @brief Get field count from radio_rc_channels message
*
* @return Total number of RC channels being received. This can be larger than 32, indicating that more channels are available but not given in this message.
*/
static inline uint8_t mavlink_msg_radio_rc_channels_get_count(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 8);
}
/**
* @brief Get field channels from radio_rc_channels message
*
* @return RC channels.
Channel values are in centered 13 bit format. Range is -4096 to 4096, center is 0. Conversion to PWM is x * 5/32 + 1500.
Channels with indexes equal or above count should be set to 0, to benefit from MAVLink's trailing-zero trimming.
*/
static inline uint16_t mavlink_msg_radio_rc_channels_get_channels(const mavlink_message_t* msg, int16_t *channels)
{
return _MAV_RETURN_int16_t_array(msg, channels, 32, 9);
}
/**
* @brief Decode a radio_rc_channels message into a struct
*
* @param msg The message to decode
* @param radio_rc_channels C-struct to decode the message contents into
*/
static inline void mavlink_msg_radio_rc_channels_decode(const mavlink_message_t* msg, mavlink_radio_rc_channels_t* radio_rc_channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
radio_rc_channels->time_last_update_ms = mavlink_msg_radio_rc_channels_get_time_last_update_ms(msg);
radio_rc_channels->flags = mavlink_msg_radio_rc_channels_get_flags(msg);
radio_rc_channels->target_system = mavlink_msg_radio_rc_channels_get_target_system(msg);
radio_rc_channels->target_component = mavlink_msg_radio_rc_channels_get_target_component(msg);
radio_rc_channels->count = mavlink_msg_radio_rc_channels_get_count(msg);
mavlink_msg_radio_rc_channels_get_channels(msg, radio_rc_channels->channels);
#else
uint8_t len = msg->len < MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN? msg->len : MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN;
memset(radio_rc_channels, 0, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
memcpy(radio_rc_channels, _MAV_PAYLOAD(msg), len);
#endif
}
+65
View File
@@ -659,6 +659,70 @@ static void mavlink_test_group_end(uint8_t system_id, uint8_t component_id, mavl
#endif
}
static void mavlink_test_radio_rc_channels(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
{
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_RADIO_RC_CHANNELS >= 256) {
return;
}
#endif
mavlink_message_t msg;
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
uint16_t i;
mavlink_radio_rc_channels_t packet_in = {
963497464,17443,151,218,29,{ 17703, 17704, 17705, 17706, 17707, 17708, 17709, 17710, 17711, 17712, 17713, 17714, 17715, 17716, 17717, 17718, 17719, 17720, 17721, 17722, 17723, 17724, 17725, 17726, 17727, 17728, 17729, 17730, 17731, 17732, 17733, 17734 }
};
mavlink_radio_rc_channels_t packet1, packet2;
memset(&packet1, 0, sizeof(packet1));
packet1.time_last_update_ms = packet_in.time_last_update_ms;
packet1.flags = packet_in.flags;
packet1.target_system = packet_in.target_system;
packet1.target_component = packet_in.target_component;
packet1.count = packet_in.count;
mav_array_memcpy(packet1.channels, packet_in.channels, sizeof(int16_t)*32);
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
// cope with extensions
memset(MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN);
}
#endif
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_encode(system_id, component_id, &msg, &packet1);
mavlink_msg_radio_rc_channels_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_component , packet1.time_last_update_ms , packet1.flags , packet1.count , packet1.channels );
mavlink_msg_radio_rc_channels_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_component , packet1.time_last_update_ms , packet1.flags , packet1.count , packet1.channels );
mavlink_msg_radio_rc_channels_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_radio_rc_channels_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_component , packet1.time_last_update_ms , packet1.flags , packet1.count , packet1.channels );
mavlink_msg_radio_rc_channels_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
MAVLINK_ASSERT(mavlink_get_message_info_by_name("RADIO_RC_CHANNELS") != NULL);
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_RADIO_RC_CHANNELS) != NULL);
#endif
}
static void mavlink_test_available_modes(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
{
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -995,6 +1059,7 @@ static void mavlink_test_development(uint8_t system_id, uint8_t component_id, ma
mavlink_test_component_information_basic(system_id, component_id, last_msg);
mavlink_test_group_start(system_id, component_id, last_msg);
mavlink_test_group_end(system_id, component_id, last_msg);
mavlink_test_radio_rc_channels(system_id, component_id, last_msg);
mavlink_test_available_modes(system_id, component_id, last_msg);
mavlink_test_current_mode(system_id, component_id, last_msg);
mavlink_test_available_modes_monitor(system_id, component_id, last_msg);
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_ICAROUS.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_ICAROUS_XML_HASH 4703149533942221715
#define MAVLINK_ICAROUS_XML_HASH 7756028246473362676
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 4703149533942221715
#define MAVLINK_PRIMARY_XML_HASH 7756028246473362676
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_MATRIXPILOT.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_MATRIXPILOT_XML_HASH -175554748091541018
#define MAVLINK_MATRIXPILOT_XML_HASH 2301961647278271656
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH -175554748091541018
#define MAVLINK_PRIMARY_XML_HASH 2301961647278271656
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+33
View File
@@ -400,6 +400,15 @@
<description>Other sensor frame for target observations neither in local NED nor in body FRD.</description>
</entry>
</enum>
<enum name="RADIO_RC_CHANNELS_FLAGS" bitmask="true">
<description>RADIO_RC_CHANNELS flags (bitmask).</description>
<entry value="1" name="RADIO_RC_CHANNELS_FLAGS_FAILSAFE">
<description>Failsafe is active. The content of the RC channels data in the RADIO_RC_CHANNELS message is implementation dependent.</description>
</entry>
<entry value="2" name="RADIO_RC_CHANNELS_FLAGS_OUTDATED">
<description>Channel data may be out of date. This is set when the receiver is unable to validate incoming data from the transmitter and has therefore resent the last valid data it received.</description>
</entry>
</enum>
</enums>
<messages>
<!-- Transactions for parameter protocol -->
@@ -506,6 +515,30 @@
<field type="uint64_t" name="time_usec" units="us">Timestamp (UNIX Epoch time or time since system boot).
The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.</field>
</message>
<message id="420" name="RADIO_RC_CHANNELS">
<description>RC channel outputs from a MAVLink RC receiver for input to a flight controller or other components (allows an RC receiver to connect via MAVLink instead of some other protocol such as PPM-Sum or S.BUS).
Note that this is not intended to be an over-the-air format, and does not replace RC_CHANNELS and similar messages reported by the flight controller.
The target_system field should normally be set to the system id of the system to control, typically the flight controller.
The target_component field can normally be set to 0, so that all components of the system can receive the message.
The channels array field can publish up to 32 channels; the number of channel items used in the array is specified in the count field.
The time_last_update_ms field contains the timestamp of the last received valid channels data in the receiver's time domain.
The count field indicates the first index of the channel array that is not used for channel data (this and later indexes are zero-filled).
The RADIO_RC_CHANNELS_FLAGS_OUTDATED flag is set by the receiver if the channels data is not up-to-date (for example, if new data from the transmitter could not be validated so the last valid data is resent).
The RADIO_RC_CHANNELS_FLAGS_FAILSAFE failsafe flag is set by the receiver if the receiver's failsafe condition is met (implementation dependent, e.g., connection to the RC radio is lost).
In this case time_last_update_ms still contains the timestamp of the last valid channels data, but the content of the channels data is not defined by the protocol (it is up to the implementation of the receiver).
For instance, the channels data could contain failsafe values configured in the receiver; the default is to carry the last valid data.
Note: The RC channels fields are extensions to ensure that they are located at the end of the serialized payload and subject to MAVLink's trailing-zero trimming.
</description>
<field type="uint8_t" name="target_system">System ID (ID of target system, normally flight controller).</field>
<field type="uint8_t" name="target_component">Component ID (normally 0 for broadcast).</field>
<field type="uint32_t" name="time_last_update_ms" units="ms">Time when the data in the channels field were last updated (time since boot in the receiver's time domain).</field>
<field type="uint16_t" name="flags" enum="RADIO_RC_CHANNELS_FLAGS" display="bitmask">Radio RC channels status flags.</field>
<field type="uint8_t" name="count">Total number of RC channels being received. This can be larger than 32, indicating that more channels are available but not given in this message.</field>
<extensions/>
<field type="int16_t[32]" name="channels" minValue="-4096" maxValue="4096">RC channels.
Channel values are in centered 13 bit format. Range is -4096 to 4096, center is 0. Conversion to PWM is x * 5/32 + 1500.
Channels with indexes equal or above count should be set to 0, to benefit from MAVLink's trailing-zero trimming.</field>
</message>
<message id="435" name="AVAILABLE_MODES">
<description>Get information about a particular flight modes.
The message can be enumerated or requested for a particular mode using MAV_CMD_REQUEST_MESSAGE.
+1 -47
View File
@@ -10,7 +10,7 @@ Range of IDs:
Documentation:
STORM32 and QSHOT additions
with mLRS additions merged
3. Feb. 2023
29. Feb. 2024
All messages are technically WIP, but some are quite stable now.
Quite stable means that it is in practical use, but may see extension.
A more detailed description of the concept underlying the STORM32 and QSHOT messages can be found here:
@@ -278,24 +278,6 @@ Documentation:
<param index="2" label="Shot state or command">Set shot state or command. The allowed values are specific to the selected shot mode.</param>
</entry>
</enum>
<!-- #############################
mLRS enums
############################# -->
<enum name="RADIO_RC_CHANNELS_FLAGS" bitmask="true">
<description>RADIO_RC_CHANNELS flags (bitmask).</description>
<entry value="1" name="RADIO_RC_CHANNELS_FLAGS_FAILSAFE">
<description>Failsafe is active.</description>
</entry>
<entry value="2" name="RADIO_RC_CHANNELS_FLAGS_FRAME_MISSED">
<description>Indicates that the current frame has not been received. Channel values are frozen.</description>
</entry>
</enum>
<enum name="RADIO_LINK_STATS_FLAGS" bitmask="true">
<description>RADIO_LINK_STATS flags (bitmask).</description>
<entry value="1" name="RADIO_LINK_STATS_FLAGS_RSSI_DBM">
<description>Rssi are in negative dBm. Values 0..254 corresponds to 0..-254 dBm.</description>
</entry>
</enum>
</enums>
<messages>
<!-- #############################
@@ -384,34 +366,6 @@ Documentation:
General messages
COMPONENT_PREARM_STATUS deprecated 7.Dez.2022, replaced by events micro service, removed to force migration
*************************** -->
<!-- #############################
mLRS messages
############################# -->
<message id="60045" name="RADIO_RC_CHANNELS">
<description>Radio channels. Supports up to 24 channels. Channel values are in centerd 13 bit format. Range is [-4096,4096], center is 0. Conversion to PWM is x * 5/32 + 1500. Should be emitted only by components with component id MAV_COMP_ID_TELEMETRY_RADIO.</description>
<field type="uint8_t" name="count">Total number of RC channels being received. This can be larger than 24, indicating that more channels are available but not given in this message.</field>
<field type="uint8_t" name="flags" enum="RADIO_RC_CHANNELS_FLAGS" display="bitmask">Radio channels status flags.</field>
<extensions/>
<field type="int16_t[24]" name="channels">RC channels. Channels above count should be set to 0, to benefit from MAVLink's zero padding.</field>
</message>
<message id="60046" name="RADIO_LINK_STATS">
<description>Radio link statistics. Should be emitted only by components with component id MAV_COMP_ID_TELEMETRY_RADIO. Per default, rssi values are in MAVLink units: 0 represents weakest signal, 254 represents maximum signal; can be changed to dBm with the flag RADIO_LINK_STATS_FLAGS_RSSI_DBM.</description>
<field type="uint8_t" name="flags" enum="RADIO_LINK_STATS_FLAGS" display="bitmask">Radio link statistics flags.</field>
<field type="uint8_t" name="rx_LQ" units="c%" invalid="UINT8_MAX">Values: 0..100. UINT8_MAX: invalid/unknown.</field>
<field type="uint8_t" name="rx_rssi1" invalid="UINT8_MAX">Rssi of antenna1. UINT8_MAX: invalid/unknown.</field>
<field type="int8_t" name="rx_snr1" invalid="INT8_MAX">Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.</field>
<field type="uint8_t" name="rx_rssi2" invalid="UINT8_MAX">Rssi of antenna2. UINT8_MAX: ignore/unknown, use rx_rssi1.</field>
<field type="int8_t" name="rx_snr2" invalid="INT8_MAX">Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use rx_snr1.</field>
<field type="uint8_t" name="rx_receive_antenna" invalid="UINT8_MAX">0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx receive diversity, use rx_rssi1, rx_snr1.</field>
<field type="uint8_t" name="rx_transmit_antenna" invalid="UINT8_MAX">0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx transmit diversity.</field>
<field type="uint8_t" name="tx_LQ" units="c%" invalid="UINT8_MAX">Values: 0..100. UINT8_MAX: invalid/unknown.</field>
<field type="uint8_t" name="tx_rssi1" invalid="UINT8_MAX">Rssi of antenna1. UINT8_MAX: invalid/unknown.</field>
<field type="int8_t" name="tx_snr1" invalid="INT8_MAX">Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.</field>
<field type="uint8_t" name="tx_rssi2" invalid="UINT8_MAX">Rssi of antenna2. UINT8_MAX: ignore/unknown, use tx_rssi1.</field>
<field type="int8_t" name="tx_snr2" invalid="INT8_MAX">Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use tx_snr1.</field>
<field type="uint8_t" name="tx_receive_antenna" invalid="UINT8_MAX">0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx receive diversity, use tx_rssi1, tx_snr1.</field>
<field type="uint8_t" name="tx_transmit_antenna" invalid="UINT8_MAX">0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx transmit diversity.</field>
</message>
<!-- ********** -->
<message id="60040" name="FRSKY_PASSTHROUGH_ARRAY">
<description>Frsky SPort passthrough multi packet container.</description>
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 7849028243001679459
#define MAVLINK_PRIMARY_XML_HASH 7364560139469030822
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_MINIMAL.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_MINIMAL_XML_HASH 7849028243001679459
#define MAVLINK_MINIMAL_XML_HASH 7364560139469030822
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH -9059093150825323870
#define MAVLINK_PRIMARY_XML_HASH -8425461060139489579
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_PAPARAZZI.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_PAPARAZZI_XML_HASH -9059093150825323870
#define MAVLINK_PAPARAZZI_XML_HASH -8425461060139489579
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 5402875614310720333
#define MAVLINK_PRIMARY_XML_HASH -843998546692315495
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_PYTHON_ARRAY_TEST.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_PYTHON_ARRAY_TEST_XML_HASH 5402875614310720333
#define MAVLINK_PYTHON_ARRAY_TEST_XML_HASH -843998546692315495
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 302687777463264296
#define MAVLINK_PRIMARY_XML_HASH 8900104243629177469
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_STANDARD.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_STANDARD_XML_HASH 302687777463264296
#define MAVLINK_STANDARD_XML_HASH 8900104243629177469
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 5109774263554949467
#define MAVLINK_PRIMARY_XML_HASH -998263113668792399
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
-652
View File
@@ -1,652 +0,0 @@
#pragma once
// MESSAGE RADIO_LINK_STATS PACKING
#define MAVLINK_MSG_ID_RADIO_LINK_STATS 60046
typedef struct __mavlink_radio_link_stats_t {
uint8_t flags; /*< Radio link statistics flags.*/
uint8_t rx_LQ; /*< [c%] Values: 0..100. UINT8_MAX: invalid/unknown.*/
uint8_t rx_rssi1; /*< Rssi of antenna1. UINT8_MAX: invalid/unknown.*/
int8_t rx_snr1; /*< Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.*/
uint8_t rx_rssi2; /*< Rssi of antenna2. UINT8_MAX: ignore/unknown, use rx_rssi1.*/
int8_t rx_snr2; /*< Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use rx_snr1.*/
uint8_t rx_receive_antenna; /*< 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx receive diversity, use rx_rssi1, rx_snr1.*/
uint8_t rx_transmit_antenna; /*< 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx transmit diversity.*/
uint8_t tx_LQ; /*< [c%] Values: 0..100. UINT8_MAX: invalid/unknown.*/
uint8_t tx_rssi1; /*< Rssi of antenna1. UINT8_MAX: invalid/unknown.*/
int8_t tx_snr1; /*< Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.*/
uint8_t tx_rssi2; /*< Rssi of antenna2. UINT8_MAX: ignore/unknown, use tx_rssi1.*/
int8_t tx_snr2; /*< Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use tx_snr1.*/
uint8_t tx_receive_antenna; /*< 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx receive diversity, use tx_rssi1, tx_snr1.*/
uint8_t tx_transmit_antenna; /*< 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx transmit diversity.*/
} mavlink_radio_link_stats_t;
#define MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN 15
#define MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN 15
#define MAVLINK_MSG_ID_60046_LEN 15
#define MAVLINK_MSG_ID_60046_MIN_LEN 15
#define MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC 238
#define MAVLINK_MSG_ID_60046_CRC 238
#if MAVLINK_COMMAND_24BIT
#define MAVLINK_MESSAGE_INFO_RADIO_LINK_STATS { \
60046, \
"RADIO_LINK_STATS", \
15, \
{ { "flags", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_radio_link_stats_t, flags) }, \
{ "rx_LQ", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_radio_link_stats_t, rx_LQ) }, \
{ "rx_rssi1", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_radio_link_stats_t, rx_rssi1) }, \
{ "rx_snr1", NULL, MAVLINK_TYPE_INT8_T, 0, 3, offsetof(mavlink_radio_link_stats_t, rx_snr1) }, \
{ "rx_rssi2", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_radio_link_stats_t, rx_rssi2) }, \
{ "rx_snr2", NULL, MAVLINK_TYPE_INT8_T, 0, 5, offsetof(mavlink_radio_link_stats_t, rx_snr2) }, \
{ "rx_receive_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_radio_link_stats_t, rx_receive_antenna) }, \
{ "rx_transmit_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_radio_link_stats_t, rx_transmit_antenna) }, \
{ "tx_LQ", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_radio_link_stats_t, tx_LQ) }, \
{ "tx_rssi1", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_radio_link_stats_t, tx_rssi1) }, \
{ "tx_snr1", NULL, MAVLINK_TYPE_INT8_T, 0, 10, offsetof(mavlink_radio_link_stats_t, tx_snr1) }, \
{ "tx_rssi2", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_radio_link_stats_t, tx_rssi2) }, \
{ "tx_snr2", NULL, MAVLINK_TYPE_INT8_T, 0, 12, offsetof(mavlink_radio_link_stats_t, tx_snr2) }, \
{ "tx_receive_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 13, offsetof(mavlink_radio_link_stats_t, tx_receive_antenna) }, \
{ "tx_transmit_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 14, offsetof(mavlink_radio_link_stats_t, tx_transmit_antenna) }, \
} \
}
#else
#define MAVLINK_MESSAGE_INFO_RADIO_LINK_STATS { \
"RADIO_LINK_STATS", \
15, \
{ { "flags", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_radio_link_stats_t, flags) }, \
{ "rx_LQ", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_radio_link_stats_t, rx_LQ) }, \
{ "rx_rssi1", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_radio_link_stats_t, rx_rssi1) }, \
{ "rx_snr1", NULL, MAVLINK_TYPE_INT8_T, 0, 3, offsetof(mavlink_radio_link_stats_t, rx_snr1) }, \
{ "rx_rssi2", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_radio_link_stats_t, rx_rssi2) }, \
{ "rx_snr2", NULL, MAVLINK_TYPE_INT8_T, 0, 5, offsetof(mavlink_radio_link_stats_t, rx_snr2) }, \
{ "rx_receive_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_radio_link_stats_t, rx_receive_antenna) }, \
{ "rx_transmit_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_radio_link_stats_t, rx_transmit_antenna) }, \
{ "tx_LQ", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_radio_link_stats_t, tx_LQ) }, \
{ "tx_rssi1", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_radio_link_stats_t, tx_rssi1) }, \
{ "tx_snr1", NULL, MAVLINK_TYPE_INT8_T, 0, 10, offsetof(mavlink_radio_link_stats_t, tx_snr1) }, \
{ "tx_rssi2", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_radio_link_stats_t, tx_rssi2) }, \
{ "tx_snr2", NULL, MAVLINK_TYPE_INT8_T, 0, 12, offsetof(mavlink_radio_link_stats_t, tx_snr2) }, \
{ "tx_receive_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 13, offsetof(mavlink_radio_link_stats_t, tx_receive_antenna) }, \
{ "tx_transmit_antenna", NULL, MAVLINK_TYPE_UINT8_T, 0, 14, offsetof(mavlink_radio_link_stats_t, tx_transmit_antenna) }, \
} \
}
#endif
/**
* @brief Pack a radio_link_stats 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 flags Radio link statistics flags.
* @param rx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param rx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param rx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param rx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use rx_rssi1.
* @param rx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use rx_snr1.
* @param rx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx receive diversity, use rx_rssi1, rx_snr1.
* @param rx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx transmit diversity.
* @param tx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param tx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param tx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param tx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use tx_rssi1.
* @param tx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use tx_snr1.
* @param tx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx receive diversity, use tx_rssi1, tx_snr1.
* @param tx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx transmit diversity.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_link_stats_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
uint8_t flags, uint8_t rx_LQ, uint8_t rx_rssi1, int8_t rx_snr1, uint8_t rx_rssi2, int8_t rx_snr2, uint8_t rx_receive_antenna, uint8_t rx_transmit_antenna, uint8_t tx_LQ, uint8_t tx_rssi1, int8_t tx_snr1, uint8_t tx_rssi2, int8_t tx_snr2, uint8_t tx_receive_antenna, uint8_t tx_transmit_antenna)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN];
_mav_put_uint8_t(buf, 0, flags);
_mav_put_uint8_t(buf, 1, rx_LQ);
_mav_put_uint8_t(buf, 2, rx_rssi1);
_mav_put_int8_t(buf, 3, rx_snr1);
_mav_put_uint8_t(buf, 4, rx_rssi2);
_mav_put_int8_t(buf, 5, rx_snr2);
_mav_put_uint8_t(buf, 6, rx_receive_antenna);
_mav_put_uint8_t(buf, 7, rx_transmit_antenna);
_mav_put_uint8_t(buf, 8, tx_LQ);
_mav_put_uint8_t(buf, 9, tx_rssi1);
_mav_put_int8_t(buf, 10, tx_snr1);
_mav_put_uint8_t(buf, 11, tx_rssi2);
_mav_put_int8_t(buf, 12, tx_snr2);
_mav_put_uint8_t(buf, 13, tx_receive_antenna);
_mav_put_uint8_t(buf, 14, tx_transmit_antenna);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
#else
mavlink_radio_link_stats_t packet;
packet.flags = flags;
packet.rx_LQ = rx_LQ;
packet.rx_rssi1 = rx_rssi1;
packet.rx_snr1 = rx_snr1;
packet.rx_rssi2 = rx_rssi2;
packet.rx_snr2 = rx_snr2;
packet.rx_receive_antenna = rx_receive_antenna;
packet.rx_transmit_antenna = rx_transmit_antenna;
packet.tx_LQ = tx_LQ;
packet.tx_rssi1 = tx_rssi1;
packet.tx_snr1 = tx_snr1;
packet.tx_rssi2 = tx_rssi2;
packet.tx_snr2 = tx_snr2;
packet.tx_receive_antenna = tx_receive_antenna;
packet.tx_transmit_antenna = tx_transmit_antenna;
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_LINK_STATS;
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
}
/**
* @brief Pack a radio_link_stats message
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param status MAVLink status structure
* @param msg The MAVLink message to compress the data into
*
* @param flags Radio link statistics flags.
* @param rx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param rx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param rx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param rx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use rx_rssi1.
* @param rx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use rx_snr1.
* @param rx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx receive diversity, use rx_rssi1, rx_snr1.
* @param rx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx transmit diversity.
* @param tx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param tx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param tx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param tx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use tx_rssi1.
* @param tx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use tx_snr1.
* @param tx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx receive diversity, use tx_rssi1, tx_snr1.
* @param tx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx transmit diversity.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_link_stats_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
uint8_t flags, uint8_t rx_LQ, uint8_t rx_rssi1, int8_t rx_snr1, uint8_t rx_rssi2, int8_t rx_snr2, uint8_t rx_receive_antenna, uint8_t rx_transmit_antenna, uint8_t tx_LQ, uint8_t tx_rssi1, int8_t tx_snr1, uint8_t tx_rssi2, int8_t tx_snr2, uint8_t tx_receive_antenna, uint8_t tx_transmit_antenna)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN];
_mav_put_uint8_t(buf, 0, flags);
_mav_put_uint8_t(buf, 1, rx_LQ);
_mav_put_uint8_t(buf, 2, rx_rssi1);
_mav_put_int8_t(buf, 3, rx_snr1);
_mav_put_uint8_t(buf, 4, rx_rssi2);
_mav_put_int8_t(buf, 5, rx_snr2);
_mav_put_uint8_t(buf, 6, rx_receive_antenna);
_mav_put_uint8_t(buf, 7, rx_transmit_antenna);
_mav_put_uint8_t(buf, 8, tx_LQ);
_mav_put_uint8_t(buf, 9, tx_rssi1);
_mav_put_int8_t(buf, 10, tx_snr1);
_mav_put_uint8_t(buf, 11, tx_rssi2);
_mav_put_int8_t(buf, 12, tx_snr2);
_mav_put_uint8_t(buf, 13, tx_receive_antenna);
_mav_put_uint8_t(buf, 14, tx_transmit_antenna);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
#else
mavlink_radio_link_stats_t packet;
packet.flags = flags;
packet.rx_LQ = rx_LQ;
packet.rx_rssi1 = rx_rssi1;
packet.rx_snr1 = rx_snr1;
packet.rx_rssi2 = rx_rssi2;
packet.rx_snr2 = rx_snr2;
packet.rx_receive_antenna = rx_receive_antenna;
packet.rx_transmit_antenna = rx_transmit_antenna;
packet.tx_LQ = tx_LQ;
packet.tx_rssi1 = tx_rssi1;
packet.tx_snr1 = tx_snr1;
packet.tx_rssi2 = tx_rssi2;
packet.tx_snr2 = tx_snr2;
packet.tx_receive_antenna = tx_receive_antenna;
packet.tx_transmit_antenna = tx_transmit_antenna;
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_LINK_STATS;
#if MAVLINK_CRC_EXTRA
return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
#else
return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
#endif
}
/**
* @brief Pack a radio_link_stats 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 flags Radio link statistics flags.
* @param rx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param rx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param rx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param rx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use rx_rssi1.
* @param rx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use rx_snr1.
* @param rx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx receive diversity, use rx_rssi1, rx_snr1.
* @param rx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx transmit diversity.
* @param tx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param tx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param tx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param tx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use tx_rssi1.
* @param tx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use tx_snr1.
* @param tx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx receive diversity, use tx_rssi1, tx_snr1.
* @param tx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx transmit diversity.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_link_stats_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
mavlink_message_t* msg,
uint8_t flags,uint8_t rx_LQ,uint8_t rx_rssi1,int8_t rx_snr1,uint8_t rx_rssi2,int8_t rx_snr2,uint8_t rx_receive_antenna,uint8_t rx_transmit_antenna,uint8_t tx_LQ,uint8_t tx_rssi1,int8_t tx_snr1,uint8_t tx_rssi2,int8_t tx_snr2,uint8_t tx_receive_antenna,uint8_t tx_transmit_antenna)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN];
_mav_put_uint8_t(buf, 0, flags);
_mav_put_uint8_t(buf, 1, rx_LQ);
_mav_put_uint8_t(buf, 2, rx_rssi1);
_mav_put_int8_t(buf, 3, rx_snr1);
_mav_put_uint8_t(buf, 4, rx_rssi2);
_mav_put_int8_t(buf, 5, rx_snr2);
_mav_put_uint8_t(buf, 6, rx_receive_antenna);
_mav_put_uint8_t(buf, 7, rx_transmit_antenna);
_mav_put_uint8_t(buf, 8, tx_LQ);
_mav_put_uint8_t(buf, 9, tx_rssi1);
_mav_put_int8_t(buf, 10, tx_snr1);
_mav_put_uint8_t(buf, 11, tx_rssi2);
_mav_put_int8_t(buf, 12, tx_snr2);
_mav_put_uint8_t(buf, 13, tx_receive_antenna);
_mav_put_uint8_t(buf, 14, tx_transmit_antenna);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
#else
mavlink_radio_link_stats_t packet;
packet.flags = flags;
packet.rx_LQ = rx_LQ;
packet.rx_rssi1 = rx_rssi1;
packet.rx_snr1 = rx_snr1;
packet.rx_rssi2 = rx_rssi2;
packet.rx_snr2 = rx_snr2;
packet.rx_receive_antenna = rx_receive_antenna;
packet.rx_transmit_antenna = rx_transmit_antenna;
packet.tx_LQ = tx_LQ;
packet.tx_rssi1 = tx_rssi1;
packet.tx_snr1 = tx_snr1;
packet.tx_rssi2 = tx_rssi2;
packet.tx_snr2 = tx_snr2;
packet.tx_receive_antenna = tx_receive_antenna;
packet.tx_transmit_antenna = tx_transmit_antenna;
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_LINK_STATS;
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
}
/**
* @brief Encode a radio_link_stats 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 radio_link_stats C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_link_stats_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_radio_link_stats_t* radio_link_stats)
{
return mavlink_msg_radio_link_stats_pack(system_id, component_id, msg, radio_link_stats->flags, radio_link_stats->rx_LQ, radio_link_stats->rx_rssi1, radio_link_stats->rx_snr1, radio_link_stats->rx_rssi2, radio_link_stats->rx_snr2, radio_link_stats->rx_receive_antenna, radio_link_stats->rx_transmit_antenna, radio_link_stats->tx_LQ, radio_link_stats->tx_rssi1, radio_link_stats->tx_snr1, radio_link_stats->tx_rssi2, radio_link_stats->tx_snr2, radio_link_stats->tx_receive_antenna, radio_link_stats->tx_transmit_antenna);
}
/**
* @brief Encode a radio_link_stats 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 radio_link_stats C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_link_stats_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_radio_link_stats_t* radio_link_stats)
{
return mavlink_msg_radio_link_stats_pack_chan(system_id, component_id, chan, msg, radio_link_stats->flags, radio_link_stats->rx_LQ, radio_link_stats->rx_rssi1, radio_link_stats->rx_snr1, radio_link_stats->rx_rssi2, radio_link_stats->rx_snr2, radio_link_stats->rx_receive_antenna, radio_link_stats->rx_transmit_antenna, radio_link_stats->tx_LQ, radio_link_stats->tx_rssi1, radio_link_stats->tx_snr1, radio_link_stats->tx_rssi2, radio_link_stats->tx_snr2, radio_link_stats->tx_receive_antenna, radio_link_stats->tx_transmit_antenna);
}
/**
* @brief Encode a radio_link_stats struct with provided status structure
*
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param status MAVLink status structure
* @param msg The MAVLink message to compress the data into
* @param radio_link_stats C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_link_stats_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_radio_link_stats_t* radio_link_stats)
{
return mavlink_msg_radio_link_stats_pack_status(system_id, component_id, _status, msg, radio_link_stats->flags, radio_link_stats->rx_LQ, radio_link_stats->rx_rssi1, radio_link_stats->rx_snr1, radio_link_stats->rx_rssi2, radio_link_stats->rx_snr2, radio_link_stats->rx_receive_antenna, radio_link_stats->rx_transmit_antenna, radio_link_stats->tx_LQ, radio_link_stats->tx_rssi1, radio_link_stats->tx_snr1, radio_link_stats->tx_rssi2, radio_link_stats->tx_snr2, radio_link_stats->tx_receive_antenna, radio_link_stats->tx_transmit_antenna);
}
/**
* @brief Send a radio_link_stats message
* @param chan MAVLink channel to send the message
*
* @param flags Radio link statistics flags.
* @param rx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param rx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param rx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param rx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use rx_rssi1.
* @param rx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use rx_snr1.
* @param rx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx receive diversity, use rx_rssi1, rx_snr1.
* @param rx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx transmit diversity.
* @param tx_LQ [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
* @param tx_rssi1 Rssi of antenna1. UINT8_MAX: invalid/unknown.
* @param tx_snr1 Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
* @param tx_rssi2 Rssi of antenna2. UINT8_MAX: ignore/unknown, use tx_rssi1.
* @param tx_snr2 Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use tx_snr1.
* @param tx_receive_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx receive diversity, use tx_rssi1, tx_snr1.
* @param tx_transmit_antenna 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx transmit diversity.
*/
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
static inline void mavlink_msg_radio_link_stats_send(mavlink_channel_t chan, uint8_t flags, uint8_t rx_LQ, uint8_t rx_rssi1, int8_t rx_snr1, uint8_t rx_rssi2, int8_t rx_snr2, uint8_t rx_receive_antenna, uint8_t rx_transmit_antenna, uint8_t tx_LQ, uint8_t tx_rssi1, int8_t tx_snr1, uint8_t tx_rssi2, int8_t tx_snr2, uint8_t tx_receive_antenna, uint8_t tx_transmit_antenna)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN];
_mav_put_uint8_t(buf, 0, flags);
_mav_put_uint8_t(buf, 1, rx_LQ);
_mav_put_uint8_t(buf, 2, rx_rssi1);
_mav_put_int8_t(buf, 3, rx_snr1);
_mav_put_uint8_t(buf, 4, rx_rssi2);
_mav_put_int8_t(buf, 5, rx_snr2);
_mav_put_uint8_t(buf, 6, rx_receive_antenna);
_mav_put_uint8_t(buf, 7, rx_transmit_antenna);
_mav_put_uint8_t(buf, 8, tx_LQ);
_mav_put_uint8_t(buf, 9, tx_rssi1);
_mav_put_int8_t(buf, 10, tx_snr1);
_mav_put_uint8_t(buf, 11, tx_rssi2);
_mav_put_int8_t(buf, 12, tx_snr2);
_mav_put_uint8_t(buf, 13, tx_receive_antenna);
_mav_put_uint8_t(buf, 14, tx_transmit_antenna);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_LINK_STATS, buf, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
#else
mavlink_radio_link_stats_t packet;
packet.flags = flags;
packet.rx_LQ = rx_LQ;
packet.rx_rssi1 = rx_rssi1;
packet.rx_snr1 = rx_snr1;
packet.rx_rssi2 = rx_rssi2;
packet.rx_snr2 = rx_snr2;
packet.rx_receive_antenna = rx_receive_antenna;
packet.rx_transmit_antenna = rx_transmit_antenna;
packet.tx_LQ = tx_LQ;
packet.tx_rssi1 = tx_rssi1;
packet.tx_snr1 = tx_snr1;
packet.tx_rssi2 = tx_rssi2;
packet.tx_snr2 = tx_snr2;
packet.tx_receive_antenna = tx_receive_antenna;
packet.tx_transmit_antenna = tx_transmit_antenna;
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_LINK_STATS, (const char *)&packet, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
#endif
}
/**
* @brief Send a radio_link_stats message
* @param chan MAVLink channel to send the message
* @param struct The MAVLink struct to serialize
*/
static inline void mavlink_msg_radio_link_stats_send_struct(mavlink_channel_t chan, const mavlink_radio_link_stats_t* radio_link_stats)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
mavlink_msg_radio_link_stats_send(chan, radio_link_stats->flags, radio_link_stats->rx_LQ, radio_link_stats->rx_rssi1, radio_link_stats->rx_snr1, radio_link_stats->rx_rssi2, radio_link_stats->rx_snr2, radio_link_stats->rx_receive_antenna, radio_link_stats->rx_transmit_antenna, radio_link_stats->tx_LQ, radio_link_stats->tx_rssi1, radio_link_stats->tx_snr1, radio_link_stats->tx_rssi2, radio_link_stats->tx_snr2, radio_link_stats->tx_receive_antenna, radio_link_stats->tx_transmit_antenna);
#else
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_LINK_STATS, (const char *)radio_link_stats, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
#endif
}
#if MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
/*
This variant 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_radio_link_stats_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t flags, uint8_t rx_LQ, uint8_t rx_rssi1, int8_t rx_snr1, uint8_t rx_rssi2, int8_t rx_snr2, uint8_t rx_receive_antenna, uint8_t rx_transmit_antenna, uint8_t tx_LQ, uint8_t tx_rssi1, int8_t tx_snr1, uint8_t tx_rssi2, int8_t tx_snr2, uint8_t tx_receive_antenna, uint8_t tx_transmit_antenna)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char *buf = (char *)msgbuf;
_mav_put_uint8_t(buf, 0, flags);
_mav_put_uint8_t(buf, 1, rx_LQ);
_mav_put_uint8_t(buf, 2, rx_rssi1);
_mav_put_int8_t(buf, 3, rx_snr1);
_mav_put_uint8_t(buf, 4, rx_rssi2);
_mav_put_int8_t(buf, 5, rx_snr2);
_mav_put_uint8_t(buf, 6, rx_receive_antenna);
_mav_put_uint8_t(buf, 7, rx_transmit_antenna);
_mav_put_uint8_t(buf, 8, tx_LQ);
_mav_put_uint8_t(buf, 9, tx_rssi1);
_mav_put_int8_t(buf, 10, tx_snr1);
_mav_put_uint8_t(buf, 11, tx_rssi2);
_mav_put_int8_t(buf, 12, tx_snr2);
_mav_put_uint8_t(buf, 13, tx_receive_antenna);
_mav_put_uint8_t(buf, 14, tx_transmit_antenna);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_LINK_STATS, buf, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
#else
mavlink_radio_link_stats_t *packet = (mavlink_radio_link_stats_t *)msgbuf;
packet->flags = flags;
packet->rx_LQ = rx_LQ;
packet->rx_rssi1 = rx_rssi1;
packet->rx_snr1 = rx_snr1;
packet->rx_rssi2 = rx_rssi2;
packet->rx_snr2 = rx_snr2;
packet->rx_receive_antenna = rx_receive_antenna;
packet->rx_transmit_antenna = rx_transmit_antenna;
packet->tx_LQ = tx_LQ;
packet->tx_rssi1 = tx_rssi1;
packet->tx_snr1 = tx_snr1;
packet->tx_rssi2 = tx_rssi2;
packet->tx_snr2 = tx_snr2;
packet->tx_receive_antenna = tx_receive_antenna;
packet->tx_transmit_antenna = tx_transmit_antenna;
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_LINK_STATS, (const char *)packet, MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN, MAVLINK_MSG_ID_RADIO_LINK_STATS_CRC);
#endif
}
#endif
#endif
// MESSAGE RADIO_LINK_STATS UNPACKING
/**
* @brief Get field flags from radio_link_stats message
*
* @return Radio link statistics flags.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_flags(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 0);
}
/**
* @brief Get field rx_LQ from radio_link_stats message
*
* @return [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_rx_LQ(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 1);
}
/**
* @brief Get field rx_rssi1 from radio_link_stats message
*
* @return Rssi of antenna1. UINT8_MAX: invalid/unknown.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_rx_rssi1(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 2);
}
/**
* @brief Get field rx_snr1 from radio_link_stats message
*
* @return Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
*/
static inline int8_t mavlink_msg_radio_link_stats_get_rx_snr1(const mavlink_message_t* msg)
{
return _MAV_RETURN_int8_t(msg, 3);
}
/**
* @brief Get field rx_rssi2 from radio_link_stats message
*
* @return Rssi of antenna2. UINT8_MAX: ignore/unknown, use rx_rssi1.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_rx_rssi2(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 4);
}
/**
* @brief Get field rx_snr2 from radio_link_stats message
*
* @return Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use rx_snr1.
*/
static inline int8_t mavlink_msg_radio_link_stats_get_rx_snr2(const mavlink_message_t* msg)
{
return _MAV_RETURN_int8_t(msg, 5);
}
/**
* @brief Get field rx_receive_antenna from radio_link_stats message
*
* @return 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx receive diversity, use rx_rssi1, rx_snr1.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_rx_receive_antenna(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 6);
}
/**
* @brief Get field rx_transmit_antenna from radio_link_stats message
*
* @return 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Rx transmit diversity.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_rx_transmit_antenna(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 7);
}
/**
* @brief Get field tx_LQ from radio_link_stats message
*
* @return [c%] Values: 0..100. UINT8_MAX: invalid/unknown.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_tx_LQ(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 8);
}
/**
* @brief Get field tx_rssi1 from radio_link_stats message
*
* @return Rssi of antenna1. UINT8_MAX: invalid/unknown.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_tx_rssi1(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 9);
}
/**
* @brief Get field tx_snr1 from radio_link_stats message
*
* @return Noise on antenna1. Radio dependent. INT8_MAX: invalid/unknown.
*/
static inline int8_t mavlink_msg_radio_link_stats_get_tx_snr1(const mavlink_message_t* msg)
{
return _MAV_RETURN_int8_t(msg, 10);
}
/**
* @brief Get field tx_rssi2 from radio_link_stats message
*
* @return Rssi of antenna2. UINT8_MAX: ignore/unknown, use tx_rssi1.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_tx_rssi2(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 11);
}
/**
* @brief Get field tx_snr2 from radio_link_stats message
*
* @return Noise on antenna2. Radio dependent. INT8_MAX: ignore/unknown, use tx_snr1.
*/
static inline int8_t mavlink_msg_radio_link_stats_get_tx_snr2(const mavlink_message_t* msg)
{
return _MAV_RETURN_int8_t(msg, 12);
}
/**
* @brief Get field tx_receive_antenna from radio_link_stats message
*
* @return 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx receive diversity, use tx_rssi1, tx_snr1.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_tx_receive_antenna(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 13);
}
/**
* @brief Get field tx_transmit_antenna from radio_link_stats message
*
* @return 0: antenna1, 1: antenna2, UINT8_MAX: ignore, no Tx transmit diversity.
*/
static inline uint8_t mavlink_msg_radio_link_stats_get_tx_transmit_antenna(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 14);
}
/**
* @brief Decode a radio_link_stats message into a struct
*
* @param msg The message to decode
* @param radio_link_stats C-struct to decode the message contents into
*/
static inline void mavlink_msg_radio_link_stats_decode(const mavlink_message_t* msg, mavlink_radio_link_stats_t* radio_link_stats)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
radio_link_stats->flags = mavlink_msg_radio_link_stats_get_flags(msg);
radio_link_stats->rx_LQ = mavlink_msg_radio_link_stats_get_rx_LQ(msg);
radio_link_stats->rx_rssi1 = mavlink_msg_radio_link_stats_get_rx_rssi1(msg);
radio_link_stats->rx_snr1 = mavlink_msg_radio_link_stats_get_rx_snr1(msg);
radio_link_stats->rx_rssi2 = mavlink_msg_radio_link_stats_get_rx_rssi2(msg);
radio_link_stats->rx_snr2 = mavlink_msg_radio_link_stats_get_rx_snr2(msg);
radio_link_stats->rx_receive_antenna = mavlink_msg_radio_link_stats_get_rx_receive_antenna(msg);
radio_link_stats->rx_transmit_antenna = mavlink_msg_radio_link_stats_get_rx_transmit_antenna(msg);
radio_link_stats->tx_LQ = mavlink_msg_radio_link_stats_get_tx_LQ(msg);
radio_link_stats->tx_rssi1 = mavlink_msg_radio_link_stats_get_tx_rssi1(msg);
radio_link_stats->tx_snr1 = mavlink_msg_radio_link_stats_get_tx_snr1(msg);
radio_link_stats->tx_rssi2 = mavlink_msg_radio_link_stats_get_tx_rssi2(msg);
radio_link_stats->tx_snr2 = mavlink_msg_radio_link_stats_get_tx_snr2(msg);
radio_link_stats->tx_receive_antenna = mavlink_msg_radio_link_stats_get_tx_receive_antenna(msg);
radio_link_stats->tx_transmit_antenna = mavlink_msg_radio_link_stats_get_tx_transmit_antenna(msg);
#else
uint8_t len = msg->len < MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN? msg->len : MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN;
memset(radio_link_stats, 0, MAVLINK_MSG_ID_RADIO_LINK_STATS_LEN);
memcpy(radio_link_stats, _MAV_PAYLOAD(msg), len);
#endif
}
-306
View File
@@ -1,306 +0,0 @@
#pragma once
// MESSAGE RADIO_RC_CHANNELS PACKING
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS 60045
typedef struct __mavlink_radio_rc_channels_t {
uint8_t count; /*< Total number of RC channels being received. This can be larger than 24, indicating that more channels are available but not given in this message.*/
uint8_t flags; /*< Radio channels status flags.*/
int16_t channels[24]; /*< RC channels. Channels above count should be set to 0, to benefit from MAVLink's zero padding.*/
} mavlink_radio_rc_channels_t;
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN 50
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN 2
#define MAVLINK_MSG_ID_60045_LEN 50
#define MAVLINK_MSG_ID_60045_MIN_LEN 2
#define MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC 89
#define MAVLINK_MSG_ID_60045_CRC 89
#define MAVLINK_MSG_RADIO_RC_CHANNELS_FIELD_CHANNELS_LEN 24
#if MAVLINK_COMMAND_24BIT
#define MAVLINK_MESSAGE_INFO_RADIO_RC_CHANNELS { \
60045, \
"RADIO_RC_CHANNELS", \
3, \
{ { "count", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_radio_rc_channels_t, count) }, \
{ "flags", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_radio_rc_channels_t, flags) }, \
{ "channels", NULL, MAVLINK_TYPE_INT16_T, 24, 2, offsetof(mavlink_radio_rc_channels_t, channels) }, \
} \
}
#else
#define MAVLINK_MESSAGE_INFO_RADIO_RC_CHANNELS { \
"RADIO_RC_CHANNELS", \
3, \
{ { "count", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_radio_rc_channels_t, count) }, \
{ "flags", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_radio_rc_channels_t, flags) }, \
{ "channels", NULL, MAVLINK_TYPE_INT16_T, 24, 2, offsetof(mavlink_radio_rc_channels_t, channels) }, \
} \
}
#endif
/**
* @brief Pack a radio_rc_channels 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 count Total number of RC channels being received. This can be larger than 24, indicating that more channels are available but not given in this message.
* @param flags Radio channels status flags.
* @param channels RC channels. Channels above count should be set to 0, to benefit from MAVLink's zero padding.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_rc_channels_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
uint8_t count, uint8_t flags, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint8_t(buf, 0, count);
_mav_put_uint8_t(buf, 1, flags);
_mav_put_int16_t_array(buf, 2, channels, 24);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#else
mavlink_radio_rc_channels_t packet;
packet.count = count;
packet.flags = flags;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*24);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_RC_CHANNELS;
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
}
/**
* @brief Pack a radio_rc_channels message
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param status MAVLink status structure
* @param msg The MAVLink message to compress the data into
*
* @param count Total number of RC channels being received. This can be larger than 24, indicating that more channels are available but not given in this message.
* @param flags Radio channels status flags.
* @param channels RC channels. Channels above count should be set to 0, to benefit from MAVLink's zero padding.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_rc_channels_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
uint8_t count, uint8_t flags, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint8_t(buf, 0, count);
_mav_put_uint8_t(buf, 1, flags);
_mav_put_int16_t_array(buf, 2, channels, 24);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#else
mavlink_radio_rc_channels_t packet;
packet.count = count;
packet.flags = flags;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*24);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_RC_CHANNELS;
#if MAVLINK_CRC_EXTRA
return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#else
return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
}
/**
* @brief Pack a radio_rc_channels 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 count Total number of RC channels being received. This can be larger than 24, indicating that more channels are available but not given in this message.
* @param flags Radio channels status flags.
* @param channels RC channels. Channels above count should be set to 0, to benefit from MAVLink's zero padding.
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_radio_rc_channels_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
mavlink_message_t* msg,
uint8_t count,uint8_t flags,const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint8_t(buf, 0, count);
_mav_put_uint8_t(buf, 1, flags);
_mav_put_int16_t_array(buf, 2, channels, 24);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#else
mavlink_radio_rc_channels_t packet;
packet.count = count;
packet.flags = flags;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*24);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_RADIO_RC_CHANNELS;
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
}
/**
* @brief Encode a radio_rc_channels 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 radio_rc_channels C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_rc_channels_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
return mavlink_msg_radio_rc_channels_pack(system_id, component_id, msg, radio_rc_channels->count, radio_rc_channels->flags, radio_rc_channels->channels);
}
/**
* @brief Encode a radio_rc_channels 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 radio_rc_channels C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_rc_channels_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
return mavlink_msg_radio_rc_channels_pack_chan(system_id, component_id, chan, msg, radio_rc_channels->count, radio_rc_channels->flags, radio_rc_channels->channels);
}
/**
* @brief Encode a radio_rc_channels struct with provided status structure
*
* @param system_id ID of this system
* @param component_id ID of this component (e.g. 200 for IMU)
* @param status MAVLink status structure
* @param msg The MAVLink message to compress the data into
* @param radio_rc_channels C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_radio_rc_channels_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
return mavlink_msg_radio_rc_channels_pack_status(system_id, component_id, _status, msg, radio_rc_channels->count, radio_rc_channels->flags, radio_rc_channels->channels);
}
/**
* @brief Send a radio_rc_channels message
* @param chan MAVLink channel to send the message
*
* @param count Total number of RC channels being received. This can be larger than 24, indicating that more channels are available but not given in this message.
* @param flags Radio channels status flags.
* @param channels RC channels. Channels above count should be set to 0, to benefit from MAVLink's zero padding.
*/
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
static inline void mavlink_msg_radio_rc_channels_send(mavlink_channel_t chan, uint8_t count, uint8_t flags, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN];
_mav_put_uint8_t(buf, 0, count);
_mav_put_uint8_t(buf, 1, flags);
_mav_put_int16_t_array(buf, 2, channels, 24);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#else
mavlink_radio_rc_channels_t packet;
packet.count = count;
packet.flags = flags;
mav_array_memcpy(packet.channels, channels, sizeof(int16_t)*24);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, (const char *)&packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#endif
}
/**
* @brief Send a radio_rc_channels message
* @param chan MAVLink channel to send the message
* @param struct The MAVLink struct to serialize
*/
static inline void mavlink_msg_radio_rc_channels_send_struct(mavlink_channel_t chan, const mavlink_radio_rc_channels_t* radio_rc_channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
mavlink_msg_radio_rc_channels_send(chan, radio_rc_channels->count, radio_rc_channels->flags, radio_rc_channels->channels);
#else
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, (const char *)radio_rc_channels, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#endif
}
#if MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
/*
This variant 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_radio_rc_channels_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t count, uint8_t flags, const int16_t *channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char *buf = (char *)msgbuf;
_mav_put_uint8_t(buf, 0, count);
_mav_put_uint8_t(buf, 1, flags);
_mav_put_int16_t_array(buf, 2, channels, 24);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, buf, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#else
mavlink_radio_rc_channels_t *packet = (mavlink_radio_rc_channels_t *)msgbuf;
packet->count = count;
packet->flags = flags;
mav_array_memcpy(packet->channels, channels, sizeof(int16_t)*24);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_RADIO_RC_CHANNELS, (const char *)packet, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_CRC);
#endif
}
#endif
#endif
// MESSAGE RADIO_RC_CHANNELS UNPACKING
/**
* @brief Get field count from radio_rc_channels message
*
* @return Total number of RC channels being received. This can be larger than 24, indicating that more channels are available but not given in this message.
*/
static inline uint8_t mavlink_msg_radio_rc_channels_get_count(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 0);
}
/**
* @brief Get field flags from radio_rc_channels message
*
* @return Radio channels status flags.
*/
static inline uint8_t mavlink_msg_radio_rc_channels_get_flags(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 1);
}
/**
* @brief Get field channels from radio_rc_channels message
*
* @return RC channels. Channels above count should be set to 0, to benefit from MAVLink's zero padding.
*/
static inline uint16_t mavlink_msg_radio_rc_channels_get_channels(const mavlink_message_t* msg, int16_t *channels)
{
return _MAV_RETURN_int16_t_array(msg, channels, 24, 2);
}
/**
* @brief Decode a radio_rc_channels message into a struct
*
* @param msg The message to decode
* @param radio_rc_channels C-struct to decode the message contents into
*/
static inline void mavlink_msg_radio_rc_channels_decode(const mavlink_message_t* msg, mavlink_radio_rc_channels_t* radio_rc_channels)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
radio_rc_channels->count = mavlink_msg_radio_rc_channels_get_count(msg);
radio_rc_channels->flags = mavlink_msg_radio_rc_channels_get_flags(msg);
mavlink_msg_radio_rc_channels_get_channels(msg, radio_rc_channels->channels);
#else
uint8_t len = msg->len < MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN? msg->len : MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN;
memset(radio_rc_channels, 0, MAVLINK_MSG_ID_RADIO_RC_CHANNELS_LEN);
memcpy(radio_rc_channels, _MAV_PAYLOAD(msg), len);
#endif
}
+4 -27
View File
File diff suppressed because one or more lines are too long
-136
View File
@@ -414,140 +414,6 @@ static void mavlink_test_qshot_status(uint8_t system_id, uint8_t component_id, m
#endif
}
static void mavlink_test_radio_rc_channels(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
{
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_RADIO_RC_CHANNELS >= 256) {
return;
}
#endif
mavlink_message_t msg;
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
uint16_t i;
mavlink_radio_rc_channels_t packet_in = {
5,72,{ 17339, 17340, 17341, 17342, 17343, 17344, 17345, 17346, 17347, 17348, 17349, 17350, 17351, 17352, 17353, 17354, 17355, 17356, 17357, 17358, 17359, 17360, 17361, 17362 }
};
mavlink_radio_rc_channels_t packet1, packet2;
memset(&packet1, 0, sizeof(packet1));
packet1.count = packet_in.count;
packet1.flags = packet_in.flags;
mav_array_memcpy(packet1.channels, packet_in.channels, sizeof(int16_t)*24);
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
// cope with extensions
memset(MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_RADIO_RC_CHANNELS_MIN_LEN);
}
#endif
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_encode(system_id, component_id, &msg, &packet1);
mavlink_msg_radio_rc_channels_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_pack(system_id, component_id, &msg , packet1.count , packet1.flags , packet1.channels );
mavlink_msg_radio_rc_channels_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.count , packet1.flags , packet1.channels );
mavlink_msg_radio_rc_channels_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_radio_rc_channels_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_rc_channels_send(MAVLINK_COMM_1 , packet1.count , packet1.flags , packet1.channels );
mavlink_msg_radio_rc_channels_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
MAVLINK_ASSERT(mavlink_get_message_info_by_name("RADIO_RC_CHANNELS") != NULL);
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_RADIO_RC_CHANNELS) != NULL);
#endif
}
static void mavlink_test_radio_link_stats(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
{
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_RADIO_LINK_STATS >= 256) {
return;
}
#endif
mavlink_message_t msg;
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
uint16_t i;
mavlink_radio_link_stats_t packet_in = {
5,72,139,206,17,84,151,218,29,96,163,230,41,108,175
};
mavlink_radio_link_stats_t packet1, packet2;
memset(&packet1, 0, sizeof(packet1));
packet1.flags = packet_in.flags;
packet1.rx_LQ = packet_in.rx_LQ;
packet1.rx_rssi1 = packet_in.rx_rssi1;
packet1.rx_snr1 = packet_in.rx_snr1;
packet1.rx_rssi2 = packet_in.rx_rssi2;
packet1.rx_snr2 = packet_in.rx_snr2;
packet1.rx_receive_antenna = packet_in.rx_receive_antenna;
packet1.rx_transmit_antenna = packet_in.rx_transmit_antenna;
packet1.tx_LQ = packet_in.tx_LQ;
packet1.tx_rssi1 = packet_in.tx_rssi1;
packet1.tx_snr1 = packet_in.tx_snr1;
packet1.tx_rssi2 = packet_in.tx_rssi2;
packet1.tx_snr2 = packet_in.tx_snr2;
packet1.tx_receive_antenna = packet_in.tx_receive_antenna;
packet1.tx_transmit_antenna = packet_in.tx_transmit_antenna;
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
// cope with extensions
memset(MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_RADIO_LINK_STATS_MIN_LEN);
}
#endif
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_link_stats_encode(system_id, component_id, &msg, &packet1);
mavlink_msg_radio_link_stats_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_link_stats_pack(system_id, component_id, &msg , packet1.flags , packet1.rx_LQ , packet1.rx_rssi1 , packet1.rx_snr1 , packet1.rx_rssi2 , packet1.rx_snr2 , packet1.rx_receive_antenna , packet1.rx_transmit_antenna , packet1.tx_LQ , packet1.tx_rssi1 , packet1.tx_snr1 , packet1.tx_rssi2 , packet1.tx_snr2 , packet1.tx_receive_antenna , packet1.tx_transmit_antenna );
mavlink_msg_radio_link_stats_decode(&msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_link_stats_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.flags , packet1.rx_LQ , packet1.rx_rssi1 , packet1.rx_snr1 , packet1.rx_rssi2 , packet1.rx_snr2 , packet1.rx_receive_antenna , packet1.rx_transmit_antenna , packet1.tx_LQ , packet1.tx_rssi1 , packet1.tx_snr1 , packet1.tx_rssi2 , packet1.tx_snr2 , packet1.tx_receive_antenna , packet1.tx_transmit_antenna );
mavlink_msg_radio_link_stats_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_radio_link_stats_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
memset(&packet2, 0, sizeof(packet2));
mavlink_msg_radio_link_stats_send(MAVLINK_COMM_1 , packet1.flags , packet1.rx_LQ , packet1.rx_rssi1 , packet1.rx_snr1 , packet1.rx_rssi2 , packet1.rx_snr2 , packet1.rx_receive_antenna , packet1.rx_transmit_antenna , packet1.tx_LQ , packet1.tx_rssi1 , packet1.tx_snr1 , packet1.tx_rssi2 , packet1.tx_snr2 , packet1.tx_receive_antenna , packet1.tx_transmit_antenna );
mavlink_msg_radio_link_stats_decode(last_msg, &packet2);
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
#ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
MAVLINK_ASSERT(mavlink_get_message_info_by_name("RADIO_LINK_STATS") != NULL);
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_RADIO_LINK_STATS) != NULL);
#endif
}
static void mavlink_test_frsky_passthrough_array(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
{
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
@@ -680,8 +546,6 @@ static void mavlink_test_storm32(uint8_t system_id, uint8_t component_id, mavlin
mavlink_test_storm32_gimbal_manager_control_pitchyaw(system_id, component_id, last_msg);
mavlink_test_storm32_gimbal_manager_correct_roll(system_id, component_id, last_msg);
mavlink_test_qshot_status(system_id, component_id, last_msg);
mavlink_test_radio_rc_channels(system_id, component_id, last_msg);
mavlink_test_radio_link_stats(system_id, component_id, last_msg);
mavlink_test_frsky_passthrough_array(system_id, component_id, last_msg);
mavlink_test_param_value_array(system_id, component_id, last_msg);
}
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 6576064743699538705
#define MAVLINK_PRIMARY_XML_HASH 6143544914937674057
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_TEST.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_TEST_XML_HASH 6576064743699538705
#define MAVLINK_TEST_XML_HASH 6143544914937674057
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 8121906817707550663
#define MAVLINK_PRIMARY_XML_HASH -4008686386708180773
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_UAVIONIX.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_UAVIONIX_XML_HASH 8121906817707550663
#define MAVLINK_UAVIONIX_XML_HASH -4008686386708180773
#ifdef __cplusplus
extern "C" {
+1 -1
View File
@@ -6,7 +6,7 @@
#ifndef MAVLINK_H
#define MAVLINK_H
#define MAVLINK_PRIMARY_XML_HASH 3520189268131828276
#define MAVLINK_PRIMARY_XML_HASH -4746727588734959952
#ifndef MAVLINK_STX
#define MAVLINK_STX 253
+1 -1
View File
@@ -10,7 +10,7 @@
#error Wrong include order: MAVLINK_UALBERTA.H MUST NOT BE DIRECTLY USED. Include mavlink.h from the same directory instead or set ALL AND EVERY defines from MAVLINK.H manually accordingly, including the #define MAVLINK_H call.
#endif
#define MAVLINK_UALBERTA_XML_HASH 3520189268131828276
#define MAVLINK_UALBERTA_XML_HASH -4746727588734959952
#ifdef __cplusplus
extern "C" {