add command for ack
This commit is contained in:
@@ -24,7 +24,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef MAVLINK_MESSAGE_CRCS
|
||||
#define MAVLINK_MESSAGE_CRCS {{30001, 210, 23, 0, 0, 0}, {30002, 99, 21, 0, 0, 0}, {30003, 13, 25, 0, 0, 0}, {30004, 69, 13, 0, 0, 0}, {30005, 93, 15, 0, 0, 0}, {30006, 91, 11, 0, 0, 0}, {30007, 180, 9, 0, 0, 0}, {30010, 74, 2, 0, 0, 0}, {30011, 168, 1, 0, 0, 0}, {30012, 165, 22, 0, 0, 0}, {30013, 138, 5, 0, 0, 0}, {30021, 197, 16, 3, 8, 9}, {30033, 36, 25, 0, 0, 0}, {30034, 146, 3, 0, 0, 0}, {30051, 85, 4, 0, 0, 0}, {30052, 160, 7, 0, 0, 0}, {30054, 128, 44, 0, 0, 0}}
|
||||
#define MAVLINK_MESSAGE_CRCS {{30001, 210, 23, 0, 0, 0}, {30002, 99, 21, 0, 0, 0}, {30003, 13, 25, 0, 0, 0}, {30004, 69, 13, 0, 0, 0}, {30005, 93, 15, 0, 0, 0}, {30006, 91, 11, 0, 0, 0}, {30007, 180, 9, 0, 0, 0}, {30010, 74, 2, 0, 0, 0}, {30011, 8, 3, 0, 0, 0}, {30012, 165, 22, 0, 0, 0}, {30013, 138, 5, 0, 0, 0}, {30021, 197, 16, 3, 8, 9}, {30033, 36, 25, 0, 0, 0}, {30034, 146, 3, 0, 0, 0}, {30051, 85, 4, 0, 0, 0}, {30052, 160, 7, 0, 0, 0}, {30054, 128, 44, 0, 0, 0}}
|
||||
#endif
|
||||
|
||||
#include "../protocol.h"
|
||||
|
||||
@@ -5,16 +5,17 @@
|
||||
|
||||
MAVPACKED(
|
||||
typedef struct __mavlink_xyk_command_ack_t {
|
||||
uint16_t command; /*< Command ID (of command to send).*/
|
||||
uint8_t REQ_status; /*< status */
|
||||
}) mavlink_xyk_command_ack_t;
|
||||
|
||||
#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN 1
|
||||
#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN 1
|
||||
#define MAVLINK_MSG_ID_30011_LEN 1
|
||||
#define MAVLINK_MSG_ID_30011_MIN_LEN 1
|
||||
#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN 3
|
||||
#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN 3
|
||||
#define MAVLINK_MSG_ID_30011_LEN 3
|
||||
#define MAVLINK_MSG_ID_30011_MIN_LEN 3
|
||||
|
||||
#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC 168
|
||||
#define MAVLINK_MSG_ID_30011_CRC 168
|
||||
#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC 8
|
||||
#define MAVLINK_MSG_ID_30011_CRC 8
|
||||
|
||||
|
||||
|
||||
@@ -22,15 +23,17 @@ typedef struct __mavlink_xyk_command_ack_t {
|
||||
#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_ACK { \
|
||||
30011, \
|
||||
"XYK_COMMAND_ACK", \
|
||||
1, \
|
||||
{ { "REQ_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_command_ack_t, REQ_status) }, \
|
||||
2, \
|
||||
{ { "command", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_command_ack_t, command) }, \
|
||||
{ "REQ_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_command_ack_t, REQ_status) }, \
|
||||
} \
|
||||
}
|
||||
#else
|
||||
#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_ACK { \
|
||||
"XYK_COMMAND_ACK", \
|
||||
1, \
|
||||
{ { "REQ_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_command_ack_t, REQ_status) }, \
|
||||
2, \
|
||||
{ { "command", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_command_ack_t, command) }, \
|
||||
{ "REQ_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_command_ack_t, REQ_status) }, \
|
||||
} \
|
||||
}
|
||||
#endif
|
||||
@@ -41,19 +44,22 @@ typedef struct __mavlink_xyk_command_ack_t {
|
||||
* @param component_id ID of this component (e.g. 200 for IMU)
|
||||
* @param msg The MAVLink message to compress the data into
|
||||
*
|
||||
* @param command Command ID (of command to send).
|
||||
* @param REQ_status status
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_xyk_command_ack_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
|
||||
uint8_t REQ_status)
|
||||
uint16_t command, uint8_t REQ_status)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN];
|
||||
_mav_put_uint8_t(buf, 0, REQ_status);
|
||||
_mav_put_uint16_t(buf, 0, command);
|
||||
_mav_put_uint8_t(buf, 2, REQ_status);
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN);
|
||||
#else
|
||||
mavlink_xyk_command_ack_t packet;
|
||||
packet.command = command;
|
||||
packet.REQ_status = REQ_status;
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN);
|
||||
@@ -69,20 +75,23 @@ static inline uint16_t mavlink_msg_xyk_command_ack_pack(uint8_t system_id, uint8
|
||||
* @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 command Command ID (of command to send).
|
||||
* @param REQ_status status
|
||||
* @return length of the message in bytes (excluding serial stream start sign)
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_xyk_command_ack_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
|
||||
mavlink_message_t* msg,
|
||||
uint8_t REQ_status)
|
||||
uint16_t command,uint8_t REQ_status)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN];
|
||||
_mav_put_uint8_t(buf, 0, REQ_status);
|
||||
_mav_put_uint16_t(buf, 0, command);
|
||||
_mav_put_uint8_t(buf, 2, REQ_status);
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN);
|
||||
#else
|
||||
mavlink_xyk_command_ack_t packet;
|
||||
packet.command = command;
|
||||
packet.REQ_status = REQ_status;
|
||||
|
||||
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN);
|
||||
@@ -102,7 +111,7 @@ static inline uint16_t mavlink_msg_xyk_command_ack_pack_chan(uint8_t system_id,
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_xyk_command_ack_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_command_ack_t* xyk_command_ack)
|
||||
{
|
||||
return mavlink_msg_xyk_command_ack_pack(system_id, component_id, msg, xyk_command_ack->REQ_status);
|
||||
return mavlink_msg_xyk_command_ack_pack(system_id, component_id, msg, xyk_command_ack->command, xyk_command_ack->REQ_status);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,26 +125,29 @@ static inline uint16_t mavlink_msg_xyk_command_ack_encode(uint8_t system_id, uin
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_xyk_command_ack_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_command_ack_t* xyk_command_ack)
|
||||
{
|
||||
return mavlink_msg_xyk_command_ack_pack_chan(system_id, component_id, chan, msg, xyk_command_ack->REQ_status);
|
||||
return mavlink_msg_xyk_command_ack_pack_chan(system_id, component_id, chan, msg, xyk_command_ack->command, xyk_command_ack->REQ_status);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Send a xyk_command_ack message
|
||||
* @param chan MAVLink channel to send the message
|
||||
*
|
||||
* @param command Command ID (of command to send).
|
||||
* @param REQ_status status
|
||||
*/
|
||||
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
|
||||
|
||||
static inline void mavlink_msg_xyk_command_ack_send(mavlink_channel_t chan, uint8_t REQ_status)
|
||||
static inline void mavlink_msg_xyk_command_ack_send(mavlink_channel_t chan, uint16_t command, uint8_t REQ_status)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char buf[MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN];
|
||||
_mav_put_uint8_t(buf, 0, REQ_status);
|
||||
_mav_put_uint16_t(buf, 0, command);
|
||||
_mav_put_uint8_t(buf, 2, REQ_status);
|
||||
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_ACK, buf, MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC);
|
||||
#else
|
||||
mavlink_xyk_command_ack_t packet;
|
||||
packet.command = command;
|
||||
packet.REQ_status = REQ_status;
|
||||
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_ACK, (const char *)&packet, MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC);
|
||||
@@ -150,7 +162,7 @@ static inline void mavlink_msg_xyk_command_ack_send(mavlink_channel_t chan, uint
|
||||
static inline void mavlink_msg_xyk_command_ack_send_struct(mavlink_channel_t chan, const mavlink_xyk_command_ack_t* xyk_command_ack)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
mavlink_msg_xyk_command_ack_send(chan, xyk_command_ack->REQ_status);
|
||||
mavlink_msg_xyk_command_ack_send(chan, xyk_command_ack->command, xyk_command_ack->REQ_status);
|
||||
#else
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_ACK, (const char *)xyk_command_ack, MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC);
|
||||
#endif
|
||||
@@ -164,15 +176,17 @@ static inline void mavlink_msg_xyk_command_ack_send_struct(mavlink_channel_t cha
|
||||
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_xyk_command_ack_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t REQ_status)
|
||||
static inline void mavlink_msg_xyk_command_ack_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint16_t command, uint8_t REQ_status)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
char *buf = (char *)msgbuf;
|
||||
_mav_put_uint8_t(buf, 0, REQ_status);
|
||||
_mav_put_uint16_t(buf, 0, command);
|
||||
_mav_put_uint8_t(buf, 2, REQ_status);
|
||||
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_ACK, buf, MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC);
|
||||
#else
|
||||
mavlink_xyk_command_ack_t *packet = (mavlink_xyk_command_ack_t *)msgbuf;
|
||||
packet->command = command;
|
||||
packet->REQ_status = REQ_status;
|
||||
|
||||
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_ACK, (const char *)packet, MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC);
|
||||
@@ -185,6 +199,16 @@ static inline void mavlink_msg_xyk_command_ack_send_buf(mavlink_message_t *msgbu
|
||||
// MESSAGE XYK_COMMAND_ACK UNPACKING
|
||||
|
||||
|
||||
/**
|
||||
* @brief Get field command from xyk_command_ack message
|
||||
*
|
||||
* @return Command ID (of command to send).
|
||||
*/
|
||||
static inline uint16_t mavlink_msg_xyk_command_ack_get_command(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_uint16_t(msg, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get field REQ_status from xyk_command_ack message
|
||||
*
|
||||
@@ -192,7 +216,7 @@ static inline void mavlink_msg_xyk_command_ack_send_buf(mavlink_message_t *msgbu
|
||||
*/
|
||||
static inline uint8_t mavlink_msg_xyk_command_ack_get_REQ_status(const mavlink_message_t* msg)
|
||||
{
|
||||
return _MAV_RETURN_uint8_t(msg, 0);
|
||||
return _MAV_RETURN_uint8_t(msg, 2);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -204,6 +228,7 @@ static inline uint8_t mavlink_msg_xyk_command_ack_get_REQ_status(const mavlink_m
|
||||
static inline void mavlink_msg_xyk_command_ack_decode(const mavlink_message_t* msg, mavlink_xyk_command_ack_t* xyk_command_ack)
|
||||
{
|
||||
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
|
||||
xyk_command_ack->command = mavlink_msg_xyk_command_ack_get_command(msg);
|
||||
xyk_command_ack->REQ_status = mavlink_msg_xyk_command_ack_get_REQ_status(msg);
|
||||
#else
|
||||
uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN? msg->len : MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN;
|
||||
|
||||
+5
-4
@@ -615,10 +615,11 @@ static void mavlink_test_xyk_command_ack(uint8_t system_id, uint8_t component_id
|
||||
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||||
uint16_t i;
|
||||
mavlink_xyk_command_ack_t packet_in = {
|
||||
5
|
||||
17235,139
|
||||
};
|
||||
mavlink_xyk_command_ack_t packet1, packet2;
|
||||
memset(&packet1, 0, sizeof(packet1));
|
||||
packet1.command = packet_in.command;
|
||||
packet1.REQ_status = packet_in.REQ_status;
|
||||
|
||||
|
||||
@@ -634,12 +635,12 @@ static void mavlink_test_xyk_command_ack(uint8_t system_id, uint8_t component_id
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_xyk_command_ack_pack(system_id, component_id, &msg , packet1.REQ_status );
|
||||
mavlink_msg_xyk_command_ack_pack(system_id, component_id, &msg , packet1.command , packet1.REQ_status );
|
||||
mavlink_msg_xyk_command_ack_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_xyk_command_ack_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.REQ_status );
|
||||
mavlink_msg_xyk_command_ack_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.command , packet1.REQ_status );
|
||||
mavlink_msg_xyk_command_ack_decode(&msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
@@ -652,7 +653,7 @@ static void mavlink_test_xyk_command_ack(uint8_t system_id, uint8_t component_id
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
|
||||
memset(&packet2, 0, sizeof(packet2));
|
||||
mavlink_msg_xyk_command_ack_send(MAVLINK_COMM_1 , packet1.REQ_status );
|
||||
mavlink_msg_xyk_command_ack_send(MAVLINK_COMM_1 , packet1.command , packet1.REQ_status );
|
||||
mavlink_msg_xyk_command_ack_decode(last_msg, &packet2);
|
||||
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -591,6 +591,7 @@
|
||||
</message>
|
||||
<message name ="XYK_COMMAND_ACK" id="30011">
|
||||
<description>request for </description>
|
||||
<field type="uint16_t" name="command" enum="XYK_COMMAND_ID">Command ID (of command to send).</field>
|
||||
<field type="uint8_t" name="REQ_status">status </field>
|
||||
</message>
|
||||
<message name="XYK_COMMAND_LONG" id="30012">
|
||||
|
||||
Reference in New Issue
Block a user