add gps_rnx_data
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -0,0 +1,230 @@
|
||||
#pragma once
|
||||
// MESSAGE GPS_RNX_DATA PACKING
|
||||
|
||||
#define MAVLINK_MSG_ID_GPS_RNX_DATA 20008
|
||||
|
||||
MAVPACKED(
|
||||
typedef struct __mavlink_gps_rnx_data_t {
|
||||
uint8_t len; /*< data length*/
|
||||
uint8_t data[256]; /*< RNX message*/
|
||||
}) mavlink_gps_rnx_data_t;
|
||||
|
||||
#define MAVLINK_MSG_ID_GPS_RNX_DATA_LEN 257
|
||||
#define MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN 257
|
||||
#define MAVLINK_MSG_ID_20008_LEN 257
|
||||
#define MAVLINK_MSG_ID_20008_MIN_LEN 257
|
||||
|
||||
#define MAVLINK_MSG_ID_GPS_RNX_DATA_CRC 255
|
||||
#define MAVLINK_MSG_ID_20008_CRC 255
|
||||
|
||||
#define MAVLINK_MSG_GPS_RNX_DATA_FIELD_DATA_LEN 256
|
||||
|
||||
#if MAVLINK_COMMAND_24BIT
|
||||
#define MAVLINK_MESSAGE_INFO_GPS_RNX_DATA { \
|
||||
20008, \
|
||||
"GPS_RNX_DATA", \
|
||||
2, \
|
||||
{ { "len", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_gps_rnx_data_t, len) }, \
|
||||
{ "data", NULL, MAVLINK_TYPE_UINT8_T, 256, 1, offsetof(mavlink_gps_rnx_data_t, data) }, \
|
||||
} \
|
||||
}
|
||||
#else
|
||||
#define MAVLINK_MESSAGE_INFO_GPS_RNX_DATA { \
|
||||
"GPS_RNX_DATA", \
|
||||
2, \
|
||||
{ { "len", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_gps_rnx_data_t, len) }, \
|
||||
{ "data", NULL, MAVLINK_TYPE_UINT8_T, 256, 1, offsetof(mavlink_gps_rnx_data_t, data) }, \
|
||||
} \
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Pack a gps_rnx_data 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 len data length
|
||||
* @param data RNX message
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_gps_rnx_data_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
|
||||
uint8_t len, const uint8_t *data)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_GPS_RNX_DATA_LEN];
|
||||
_mav_put_uint8_t(buf, 0, len);
|
||||
_mav_put_uint8_t_array(buf, 1, data, 256);
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN);
|
||||
#else
|
||||
mavlink_gps_rnx_data_t packet;
|
||||
packet.len = len;
|
||||
mav_array_memcpy(packet.data, data, sizeof(uint8_t)*256);
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN);
|
||||
#endif
|
||||
|
||||
msg->msgid = MAVLINK_MSG_ID_GPS_RNX_DATA;
|
||||
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_CRC);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Pack a gps_rnx_data 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 len data length
|
||||
* @param data RNX message
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_gps_rnx_data_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
|
||||
mavlink_message_t* msg,
|
||||
uint8_t len,const uint8_t *data)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_GPS_RNX_DATA_LEN];
|
||||
_mav_put_uint8_t(buf, 0, len);
|
||||
_mav_put_uint8_t_array(buf, 1, data, 256);
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN);
|
||||
#else
|
||||
mavlink_gps_rnx_data_t packet;
|
||||
packet.len = len;
|
||||
mav_array_memcpy(packet.data, data, sizeof(uint8_t)*256);
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN);
|
||||
#endif
|
||||
|
||||
msg->msgid = MAVLINK_MSG_ID_GPS_RNX_DATA;
|
||||
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_CRC);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Encode a gps_rnx_data 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 gps_rnx_data C-struct to read the message contents from
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_gps_rnx_data_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_gps_rnx_data_t* gps_rnx_data)
|
||||
{
|
||||
return mavlink_msg_gps_rnx_data_pack(system_id, component_id, msg, gps_rnx_data->len, gps_rnx_data->data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Encode a gps_rnx_data 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 gps_rnx_data C-struct to read the message contents from
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_gps_rnx_data_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_gps_rnx_data_t* gps_rnx_data)
|
||||
{
|
||||
return mavlink_msg_gps_rnx_data_pack_chan(system_id, component_id, chan, msg, gps_rnx_data->len, gps_rnx_data->data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Send a gps_rnx_data message
|
||||
* @param chan MAVLink channel to send the message
|
||||
*
|
||||
* @param len data length
|
||||
* @param data RNX message
|
||||
*/
|
||||
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
|
||||
|
||||
static inline void mavlink_msg_gps_rnx_data_send(mavlink_channel_t chan, uint8_t len, const uint8_t *data)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_GPS_RNX_DATA_LEN];
|
||||
_mav_put_uint8_t(buf, 0, len);
|
||||
_mav_put_uint8_t_array(buf, 1, data, 256);
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GPS_RNX_DATA, buf, MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_CRC);
|
||||
#else
|
||||
mavlink_gps_rnx_data_t packet;
|
||||
packet.len = len;
|
||||
mav_array_memcpy(packet.data, data, sizeof(uint8_t)*256);
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GPS_RNX_DATA, (const char *)&packet, MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_CRC);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Send a gps_rnx_data message
|
||||
* @param chan MAVLink channel to send the message
|
||||
* @param struct The MAVLink struct to serialize
|
||||
*/
|
||||
static inline void mavlink_msg_gps_rnx_data_send_struct(mavlink_channel_t chan, const mavlink_gps_rnx_data_t* gps_rnx_data)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
mavlink_msg_gps_rnx_data_send(chan, gps_rnx_data->len, gps_rnx_data->data);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GPS_RNX_DATA, (const char *)gps_rnx_data, MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_CRC);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if MAVLINK_MSG_ID_GPS_RNX_DATA_LEN <= MAVLINK_MAX_PAYLOAD_LEN
|
||||
/*
|
||||
This varient of _send() can be used to save stack space by re-using
|
||||
memory from the receive buffer. The caller provides a
|
||||
mavlink_message_t which is the size of a full mavlink message. This
|
||||
is usually the receive buffer for the channel, and allows a reply to an
|
||||
incoming message with minimum stack space usage.
|
||||
*/
|
||||
static inline void mavlink_msg_gps_rnx_data_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t len, const uint8_t *data)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char *buf = (char *)msgbuf;
|
||||
_mav_put_uint8_t(buf, 0, len);
|
||||
_mav_put_uint8_t_array(buf, 1, data, 256);
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GPS_RNX_DATA, buf, MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_CRC);
|
||||
#else
|
||||
mavlink_gps_rnx_data_t *packet = (mavlink_gps_rnx_data_t *)msgbuf;
|
||||
packet->len = len;
|
||||
mav_array_memcpy(packet->data, data, sizeof(uint8_t)*256);
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_GPS_RNX_DATA, (const char *)packet, MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN, MAVLINK_MSG_ID_GPS_RNX_DATA_CRC);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// MESSAGE GPS_RNX_DATA UNPACKING
|
||||
|
||||
|
||||
/**
|
||||
* @brief Get field len from gps_rnx_data message
|
||||
*
|
||||
* @return data length
|
||||
*/
|
||||
static inline uint8_t mavlink_msg_gps_rnx_data_get_len(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_uint8_t(msg, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field data from gps_rnx_data message
|
||||
*
|
||||
* @return RNX message
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_gps_rnx_data_get_data(const mavlink_message_t* msg, uint8_t *data)
|
||||
{
|
||||
return _MAV_RETURN_uint8_t_array(msg, data, 256, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Decode a gps_rnx_data message into a struct
|
||||
*
|
||||
* @param msg The message to decode
|
||||
* @param gps_rnx_data C-struct to decode the message contents into
|
||||
*/
|
||||
static inline void mavlink_msg_gps_rnx_data_decode(const mavlink_message_t* msg, mavlink_gps_rnx_data_t* gps_rnx_data)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
gps_rnx_data->len = mavlink_msg_gps_rnx_data_get_len(msg);
|
||||
mavlink_msg_gps_rnx_data_get_data(msg, gps_rnx_data->data);
|
||||
#else
|
||||
uint8_t len = msg->len < MAVLINK_MSG_ID_GPS_RNX_DATA_LEN? msg->len : MAVLINK_MSG_ID_GPS_RNX_DATA_LEN;
|
||||
memset(gps_rnx_data, 0, MAVLINK_MSG_ID_GPS_RNX_DATA_LEN);
|
||||
memcpy(gps_rnx_data, _MAV_PAYLOAD(msg), len);
|
||||
#endif
|
||||
}
|
||||
@@ -3399,6 +3399,61 @@ static void mavlink_test_wow_sensor(uint8_t system_id, uint8_t component_id, mav
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
}
|
||||
|
||||
static void mavlink_test_gps_rnx_data(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_GPS_RNX_DATA >= 256) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
mavlink_message_t msg;
|
||||
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||||
uint16_t i;
|
||||
mavlink_gps_rnx_data_t packet_in = {
|
||||
5,{ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71 }
|
||||
};
|
||||
mavlink_gps_rnx_data_t packet1, packet2;
|
||||
memset(&packet1, 0, sizeof(packet1));
|
||||
packet1.len = packet_in.len;
|
||||
|
||||
mav_array_memcpy(packet1.data, packet_in.data, sizeof(uint8_t)*256);
|
||||
|
||||
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
|
||||
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
|
||||
// cope with extensions
|
||||
memset(MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_GPS_RNX_DATA_MIN_LEN);
|
||||
}
|
||||
#endif
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_gps_rnx_data_encode(system_id, component_id, &msg, &packet1);
|
||||
mavlink_msg_gps_rnx_data_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_gps_rnx_data_pack(system_id, component_id, &msg , packet1.len , packet1.data );
|
||||
mavlink_msg_gps_rnx_data_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_gps_rnx_data_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.len , packet1.data );
|
||||
mavlink_msg_gps_rnx_data_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_gps_rnx_data_decode(last_msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_gps_rnx_data_send(MAVLINK_COMM_1 , packet1.len , packet1.data );
|
||||
mavlink_msg_gps_rnx_data_decode(last_msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
}
|
||||
|
||||
static void mavlink_test_ardupilotmega(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
|
||||
{
|
||||
mavlink_test_sensor_offsets(system_id, component_id, last_msg);
|
||||
@@ -3458,6 +3513,7 @@ static void mavlink_test_ardupilotmega(uint8_t system_id, uint8_t component_id,
|
||||
mavlink_test_vision_position_delta(system_id, component_id, last_msg);
|
||||
mavlink_test_atmo_comp_ext(system_id, component_id, last_msg);
|
||||
mavlink_test_wow_sensor(system_id, component_id, last_msg);
|
||||
mavlink_test_gps_rnx_data(system_id, component_id, last_msg);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Sep 11 2017"
|
||||
#define MAVLINK_BUILD_DATE "Tue Sep 12 2017"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 257
|
||||
|
||||
#endif // MAVLINK_VERSION_H
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Sep 11 2017"
|
||||
#define MAVLINK_BUILD_DATE "Tue Sep 12 2017"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 257
|
||||
|
||||
#endif // MAVLINK_VERSION_H
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@
|
||||
#ifndef MAVLINK_VERSION_H
|
||||
#define MAVLINK_VERSION_H
|
||||
|
||||
#define MAVLINK_BUILD_DATE "Mon Sep 11 2017"
|
||||
#define MAVLINK_BUILD_DATE "Tue Sep 12 2017"
|
||||
#define MAVLINK_WIRE_PROTOCOL_VERSION "2.0"
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255
|
||||
#define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 257
|
||||
|
||||
#endif // MAVLINK_VERSION_H
|
||||
|
||||
Reference in New Issue
Block a user