Files
c_library_v2/XYK/mavlink_msg_xyk_airpoint_command.h
T

539 lines
26 KiB
C
Raw Normal View History

2019-03-09 06:12:13 +08:00
#pragma once
// MESSAGE XYK_AIRPOINT_COMMAND PACKING
#define MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND 30033
MAVPACKED(
typedef struct __mavlink_xyk_airpoint_command_t {
int32_t latitude; /*< latitude,0.0000001,[-180^,180^]*/
int32_t longitude; /*< longitude,0.0000001,[-180^,180^]*/
int32_t altitude; /*< altitude,0.01m,[-50000,100000]*/
2019-03-09 18:16:52 +08:00
uint16_t AIRPOINT_ID; /*< Sequence1-800,65535 for abnormal airpoint*/
uint16_t AIRLINE_LENGTH; /*< LENGTH,points contained in the aireline*/
2019-03-09 06:12:13 +08:00
uint8_t PLANE_ID; /*< System which should execute the command*/
uint8_t confirmation; /*< 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)*/
2019-03-09 18:16:52 +08:00
uint8_t AIRLINE_ID; /*< SEE XYK_AIRLINE_TYPE.*/
2019-03-09 06:12:13 +08:00
uint8_t current; /*< false:0, true:1.*/
uint8_t SWITCH_MOD; /*< defallt Autocontinue to next waypoint.*/
uint8_t LOITER_MOD; /*< defallt arrive at next waypoint with an auto climb rate .*/
uint8_t ACTION; /*< not in use for now */
uint8_t MISSION_GRAP; /*< not in use for now.*/
uint8_t POINT_SPEED; /*< SPEED IAS,m/s,[stall_speed,256]*/
}) mavlink_xyk_airpoint_command_t;
#define MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN 25
#define MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN 25
#define MAVLINK_MSG_ID_30033_LEN 25
#define MAVLINK_MSG_ID_30033_MIN_LEN 25
2019-03-09 18:16:52 +08:00
#define MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC 36
#define MAVLINK_MSG_ID_30033_CRC 36
2019-03-09 06:12:13 +08:00
#if MAVLINK_COMMAND_24BIT
#define MAVLINK_MESSAGE_INFO_XYK_AIRPOINT_COMMAND { \
30033, \
"XYK_AIRPOINT_COMMAND", \
14, \
{ { "PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 16, offsetof(mavlink_xyk_airpoint_command_t, PLANE_ID) }, \
{ "confirmation", NULL, MAVLINK_TYPE_UINT8_T, 0, 17, offsetof(mavlink_xyk_airpoint_command_t, confirmation) }, \
2019-03-09 18:16:52 +08:00
{ "AIRLINE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_airpoint_command_t, AIRLINE_ID) }, \
2019-03-09 06:12:13 +08:00
{ "AIRPOINT_ID", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_xyk_airpoint_command_t, AIRPOINT_ID) }, \
2019-03-09 18:16:52 +08:00
{ "AIRLINE_LENGTH", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_xyk_airpoint_command_t, AIRLINE_LENGTH) }, \
2019-03-09 06:12:13 +08:00
{ "current", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_xyk_airpoint_command_t, current) }, \
{ "SWITCH_MOD", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_airpoint_command_t, SWITCH_MOD) }, \
{ "LOITER_MOD", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_xyk_airpoint_command_t, LOITER_MOD) }, \
{ "ACTION", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_xyk_airpoint_command_t, ACTION) }, \
{ "MISSION_GRAP", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_xyk_airpoint_command_t, MISSION_GRAP) }, \
{ "POINT_SPEED", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_xyk_airpoint_command_t, POINT_SPEED) }, \
{ "latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_airpoint_command_t, latitude) }, \
{ "longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_xyk_airpoint_command_t, longitude) }, \
{ "altitude", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_xyk_airpoint_command_t, altitude) }, \
} \
}
#else
#define MAVLINK_MESSAGE_INFO_XYK_AIRPOINT_COMMAND { \
"XYK_AIRPOINT_COMMAND", \
14, \
{ { "PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 16, offsetof(mavlink_xyk_airpoint_command_t, PLANE_ID) }, \
{ "confirmation", NULL, MAVLINK_TYPE_UINT8_T, 0, 17, offsetof(mavlink_xyk_airpoint_command_t, confirmation) }, \
2019-03-09 18:16:52 +08:00
{ "AIRLINE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_airpoint_command_t, AIRLINE_ID) }, \
2019-03-09 06:12:13 +08:00
{ "AIRPOINT_ID", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_xyk_airpoint_command_t, AIRPOINT_ID) }, \
2019-03-09 18:16:52 +08:00
{ "AIRLINE_LENGTH", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_xyk_airpoint_command_t, AIRLINE_LENGTH) }, \
2019-03-09 06:12:13 +08:00
{ "current", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_xyk_airpoint_command_t, current) }, \
{ "SWITCH_MOD", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_airpoint_command_t, SWITCH_MOD) }, \
{ "LOITER_MOD", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_xyk_airpoint_command_t, LOITER_MOD) }, \
{ "ACTION", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_xyk_airpoint_command_t, ACTION) }, \
{ "MISSION_GRAP", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_xyk_airpoint_command_t, MISSION_GRAP) }, \
{ "POINT_SPEED", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_xyk_airpoint_command_t, POINT_SPEED) }, \
{ "latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_airpoint_command_t, latitude) }, \
{ "longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_xyk_airpoint_command_t, longitude) }, \
{ "altitude", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_xyk_airpoint_command_t, altitude) }, \
} \
}
#endif
/**
* @brief Pack a xyk_airpoint_command 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 PLANE_ID System which should execute the command
* @param confirmation 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)
2019-03-09 18:16:52 +08:00
* @param AIRLINE_ID SEE XYK_AIRLINE_TYPE.
* @param AIRPOINT_ID Sequence1-800,65535 for abnormal airpoint
* @param AIRLINE_LENGTH LENGTH,points contained in the aireline
2019-03-09 06:12:13 +08:00
* @param current false:0, true:1.
* @param SWITCH_MOD defallt Autocontinue to next waypoint.
* @param LOITER_MOD defallt arrive at next waypoint with an auto climb rate .
* @param ACTION not in use for now
* @param MISSION_GRAP not in use for now.
* @param POINT_SPEED SPEED IAS,m/s,[stall_speed,256]
* @param latitude latitude,0.0000001,[-180^,180^]
* @param longitude longitude,0.0000001,[-180^,180^]
* @param altitude altitude,0.01m,[-50000,100000]
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_xyk_airpoint_command_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
2019-03-09 18:16:52 +08:00
uint8_t PLANE_ID, uint8_t confirmation, uint8_t AIRLINE_ID, uint16_t AIRPOINT_ID, uint16_t AIRLINE_LENGTH, uint8_t current, uint8_t SWITCH_MOD, uint8_t LOITER_MOD, uint8_t ACTION, uint8_t MISSION_GRAP, uint8_t POINT_SPEED, int32_t latitude, int32_t longitude, int32_t altitude)
2019-03-09 06:12:13 +08:00
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN];
_mav_put_int32_t(buf, 0, latitude);
_mav_put_int32_t(buf, 4, longitude);
_mav_put_int32_t(buf, 8, altitude);
_mav_put_uint16_t(buf, 12, AIRPOINT_ID);
2019-03-09 18:16:52 +08:00
_mav_put_uint16_t(buf, 14, AIRLINE_LENGTH);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 16, PLANE_ID);
_mav_put_uint8_t(buf, 17, confirmation);
2019-03-09 18:16:52 +08:00
_mav_put_uint8_t(buf, 18, AIRLINE_ID);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 19, current);
_mav_put_uint8_t(buf, 20, SWITCH_MOD);
_mav_put_uint8_t(buf, 21, LOITER_MOD);
_mav_put_uint8_t(buf, 22, ACTION);
_mav_put_uint8_t(buf, 23, MISSION_GRAP);
_mav_put_uint8_t(buf, 24, POINT_SPEED);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN);
#else
mavlink_xyk_airpoint_command_t packet;
packet.latitude = latitude;
packet.longitude = longitude;
packet.altitude = altitude;
packet.AIRPOINT_ID = AIRPOINT_ID;
2019-03-09 18:16:52 +08:00
packet.AIRLINE_LENGTH = AIRLINE_LENGTH;
2019-03-09 06:12:13 +08:00
packet.PLANE_ID = PLANE_ID;
packet.confirmation = confirmation;
2019-03-09 18:16:52 +08:00
packet.AIRLINE_ID = AIRLINE_ID;
2019-03-09 06:12:13 +08:00
packet.current = current;
packet.SWITCH_MOD = SWITCH_MOD;
packet.LOITER_MOD = LOITER_MOD;
packet.ACTION = ACTION;
packet.MISSION_GRAP = MISSION_GRAP;
packet.POINT_SPEED = POINT_SPEED;
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND;
return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC);
}
/**
* @brief Pack a xyk_airpoint_command 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 PLANE_ID System which should execute the command
* @param confirmation 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)
2019-03-09 18:16:52 +08:00
* @param AIRLINE_ID SEE XYK_AIRLINE_TYPE.
* @param AIRPOINT_ID Sequence1-800,65535 for abnormal airpoint
* @param AIRLINE_LENGTH LENGTH,points contained in the aireline
2019-03-09 06:12:13 +08:00
* @param current false:0, true:1.
* @param SWITCH_MOD defallt Autocontinue to next waypoint.
* @param LOITER_MOD defallt arrive at next waypoint with an auto climb rate .
* @param ACTION not in use for now
* @param MISSION_GRAP not in use for now.
* @param POINT_SPEED SPEED IAS,m/s,[stall_speed,256]
* @param latitude latitude,0.0000001,[-180^,180^]
* @param longitude longitude,0.0000001,[-180^,180^]
* @param altitude altitude,0.01m,[-50000,100000]
* @return length of the message in bytes (excluding serial stream start sign)
*/
static inline uint16_t mavlink_msg_xyk_airpoint_command_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
mavlink_message_t* msg,
2019-03-09 18:16:52 +08:00
uint8_t PLANE_ID,uint8_t confirmation,uint8_t AIRLINE_ID,uint16_t AIRPOINT_ID,uint16_t AIRLINE_LENGTH,uint8_t current,uint8_t SWITCH_MOD,uint8_t LOITER_MOD,uint8_t ACTION,uint8_t MISSION_GRAP,uint8_t POINT_SPEED,int32_t latitude,int32_t longitude,int32_t altitude)
2019-03-09 06:12:13 +08:00
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN];
_mav_put_int32_t(buf, 0, latitude);
_mav_put_int32_t(buf, 4, longitude);
_mav_put_int32_t(buf, 8, altitude);
_mav_put_uint16_t(buf, 12, AIRPOINT_ID);
2019-03-09 18:16:52 +08:00
_mav_put_uint16_t(buf, 14, AIRLINE_LENGTH);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 16, PLANE_ID);
_mav_put_uint8_t(buf, 17, confirmation);
2019-03-09 18:16:52 +08:00
_mav_put_uint8_t(buf, 18, AIRLINE_ID);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 19, current);
_mav_put_uint8_t(buf, 20, SWITCH_MOD);
_mav_put_uint8_t(buf, 21, LOITER_MOD);
_mav_put_uint8_t(buf, 22, ACTION);
_mav_put_uint8_t(buf, 23, MISSION_GRAP);
_mav_put_uint8_t(buf, 24, POINT_SPEED);
memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN);
#else
mavlink_xyk_airpoint_command_t packet;
packet.latitude = latitude;
packet.longitude = longitude;
packet.altitude = altitude;
packet.AIRPOINT_ID = AIRPOINT_ID;
2019-03-09 18:16:52 +08:00
packet.AIRLINE_LENGTH = AIRLINE_LENGTH;
2019-03-09 06:12:13 +08:00
packet.PLANE_ID = PLANE_ID;
packet.confirmation = confirmation;
2019-03-09 18:16:52 +08:00
packet.AIRLINE_ID = AIRLINE_ID;
2019-03-09 06:12:13 +08:00
packet.current = current;
packet.SWITCH_MOD = SWITCH_MOD;
packet.LOITER_MOD = LOITER_MOD;
packet.ACTION = ACTION;
packet.MISSION_GRAP = MISSION_GRAP;
packet.POINT_SPEED = POINT_SPEED;
memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN);
#endif
msg->msgid = MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND;
return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC);
}
/**
* @brief Encode a xyk_airpoint_command 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 xyk_airpoint_command C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_xyk_airpoint_command_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_airpoint_command_t* xyk_airpoint_command)
{
2019-03-09 18:16:52 +08:00
return mavlink_msg_xyk_airpoint_command_pack(system_id, component_id, msg, xyk_airpoint_command->PLANE_ID, xyk_airpoint_command->confirmation, xyk_airpoint_command->AIRLINE_ID, xyk_airpoint_command->AIRPOINT_ID, xyk_airpoint_command->AIRLINE_LENGTH, xyk_airpoint_command->current, xyk_airpoint_command->SWITCH_MOD, xyk_airpoint_command->LOITER_MOD, xyk_airpoint_command->ACTION, xyk_airpoint_command->MISSION_GRAP, xyk_airpoint_command->POINT_SPEED, xyk_airpoint_command->latitude, xyk_airpoint_command->longitude, xyk_airpoint_command->altitude);
2019-03-09 06:12:13 +08:00
}
/**
* @brief Encode a xyk_airpoint_command 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 xyk_airpoint_command C-struct to read the message contents from
*/
static inline uint16_t mavlink_msg_xyk_airpoint_command_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_airpoint_command_t* xyk_airpoint_command)
{
2019-03-09 18:16:52 +08:00
return mavlink_msg_xyk_airpoint_command_pack_chan(system_id, component_id, chan, msg, xyk_airpoint_command->PLANE_ID, xyk_airpoint_command->confirmation, xyk_airpoint_command->AIRLINE_ID, xyk_airpoint_command->AIRPOINT_ID, xyk_airpoint_command->AIRLINE_LENGTH, xyk_airpoint_command->current, xyk_airpoint_command->SWITCH_MOD, xyk_airpoint_command->LOITER_MOD, xyk_airpoint_command->ACTION, xyk_airpoint_command->MISSION_GRAP, xyk_airpoint_command->POINT_SPEED, xyk_airpoint_command->latitude, xyk_airpoint_command->longitude, xyk_airpoint_command->altitude);
2019-03-09 06:12:13 +08:00
}
/**
* @brief Send a xyk_airpoint_command message
* @param chan MAVLink channel to send the message
*
* @param PLANE_ID System which should execute the command
* @param confirmation 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)
2019-03-09 18:16:52 +08:00
* @param AIRLINE_ID SEE XYK_AIRLINE_TYPE.
* @param AIRPOINT_ID Sequence1-800,65535 for abnormal airpoint
* @param AIRLINE_LENGTH LENGTH,points contained in the aireline
2019-03-09 06:12:13 +08:00
* @param current false:0, true:1.
* @param SWITCH_MOD defallt Autocontinue to next waypoint.
* @param LOITER_MOD defallt arrive at next waypoint with an auto climb rate .
* @param ACTION not in use for now
* @param MISSION_GRAP not in use for now.
* @param POINT_SPEED SPEED IAS,m/s,[stall_speed,256]
* @param latitude latitude,0.0000001,[-180^,180^]
* @param longitude longitude,0.0000001,[-180^,180^]
* @param altitude altitude,0.01m,[-50000,100000]
*/
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
2019-03-09 18:16:52 +08:00
static inline void mavlink_msg_xyk_airpoint_command_send(mavlink_channel_t chan, uint8_t PLANE_ID, uint8_t confirmation, uint8_t AIRLINE_ID, uint16_t AIRPOINT_ID, uint16_t AIRLINE_LENGTH, uint8_t current, uint8_t SWITCH_MOD, uint8_t LOITER_MOD, uint8_t ACTION, uint8_t MISSION_GRAP, uint8_t POINT_SPEED, int32_t latitude, int32_t longitude, int32_t altitude)
2019-03-09 06:12:13 +08:00
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char buf[MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN];
_mav_put_int32_t(buf, 0, latitude);
_mav_put_int32_t(buf, 4, longitude);
_mav_put_int32_t(buf, 8, altitude);
_mav_put_uint16_t(buf, 12, AIRPOINT_ID);
2019-03-09 18:16:52 +08:00
_mav_put_uint16_t(buf, 14, AIRLINE_LENGTH);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 16, PLANE_ID);
_mav_put_uint8_t(buf, 17, confirmation);
2019-03-09 18:16:52 +08:00
_mav_put_uint8_t(buf, 18, AIRLINE_ID);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 19, current);
_mav_put_uint8_t(buf, 20, SWITCH_MOD);
_mav_put_uint8_t(buf, 21, LOITER_MOD);
_mav_put_uint8_t(buf, 22, ACTION);
_mav_put_uint8_t(buf, 23, MISSION_GRAP);
_mav_put_uint8_t(buf, 24, POINT_SPEED);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND, buf, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC);
#else
mavlink_xyk_airpoint_command_t packet;
packet.latitude = latitude;
packet.longitude = longitude;
packet.altitude = altitude;
packet.AIRPOINT_ID = AIRPOINT_ID;
2019-03-09 18:16:52 +08:00
packet.AIRLINE_LENGTH = AIRLINE_LENGTH;
2019-03-09 06:12:13 +08:00
packet.PLANE_ID = PLANE_ID;
packet.confirmation = confirmation;
2019-03-09 18:16:52 +08:00
packet.AIRLINE_ID = AIRLINE_ID;
2019-03-09 06:12:13 +08:00
packet.current = current;
packet.SWITCH_MOD = SWITCH_MOD;
packet.LOITER_MOD = LOITER_MOD;
packet.ACTION = ACTION;
packet.MISSION_GRAP = MISSION_GRAP;
packet.POINT_SPEED = POINT_SPEED;
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND, (const char *)&packet, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC);
#endif
}
/**
* @brief Send a xyk_airpoint_command message
* @param chan MAVLink channel to send the message
* @param struct The MAVLink struct to serialize
*/
static inline void mavlink_msg_xyk_airpoint_command_send_struct(mavlink_channel_t chan, const mavlink_xyk_airpoint_command_t* xyk_airpoint_command)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
2019-03-09 18:16:52 +08:00
mavlink_msg_xyk_airpoint_command_send(chan, xyk_airpoint_command->PLANE_ID, xyk_airpoint_command->confirmation, xyk_airpoint_command->AIRLINE_ID, xyk_airpoint_command->AIRPOINT_ID, xyk_airpoint_command->AIRLINE_LENGTH, xyk_airpoint_command->current, xyk_airpoint_command->SWITCH_MOD, xyk_airpoint_command->LOITER_MOD, xyk_airpoint_command->ACTION, xyk_airpoint_command->MISSION_GRAP, xyk_airpoint_command->POINT_SPEED, xyk_airpoint_command->latitude, xyk_airpoint_command->longitude, xyk_airpoint_command->altitude);
2019-03-09 06:12:13 +08:00
#else
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND, (const char *)xyk_airpoint_command, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC);
#endif
}
#if MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_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.
*/
2019-03-09 18:16:52 +08:00
static inline void mavlink_msg_xyk_airpoint_command_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t PLANE_ID, uint8_t confirmation, uint8_t AIRLINE_ID, uint16_t AIRPOINT_ID, uint16_t AIRLINE_LENGTH, uint8_t current, uint8_t SWITCH_MOD, uint8_t LOITER_MOD, uint8_t ACTION, uint8_t MISSION_GRAP, uint8_t POINT_SPEED, int32_t latitude, int32_t longitude, int32_t altitude)
2019-03-09 06:12:13 +08:00
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
char *buf = (char *)msgbuf;
_mav_put_int32_t(buf, 0, latitude);
_mav_put_int32_t(buf, 4, longitude);
_mav_put_int32_t(buf, 8, altitude);
_mav_put_uint16_t(buf, 12, AIRPOINT_ID);
2019-03-09 18:16:52 +08:00
_mav_put_uint16_t(buf, 14, AIRLINE_LENGTH);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 16, PLANE_ID);
_mav_put_uint8_t(buf, 17, confirmation);
2019-03-09 18:16:52 +08:00
_mav_put_uint8_t(buf, 18, AIRLINE_ID);
2019-03-09 06:12:13 +08:00
_mav_put_uint8_t(buf, 19, current);
_mav_put_uint8_t(buf, 20, SWITCH_MOD);
_mav_put_uint8_t(buf, 21, LOITER_MOD);
_mav_put_uint8_t(buf, 22, ACTION);
_mav_put_uint8_t(buf, 23, MISSION_GRAP);
_mav_put_uint8_t(buf, 24, POINT_SPEED);
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND, buf, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC);
#else
mavlink_xyk_airpoint_command_t *packet = (mavlink_xyk_airpoint_command_t *)msgbuf;
packet->latitude = latitude;
packet->longitude = longitude;
packet->altitude = altitude;
packet->AIRPOINT_ID = AIRPOINT_ID;
2019-03-09 18:16:52 +08:00
packet->AIRLINE_LENGTH = AIRLINE_LENGTH;
2019-03-09 06:12:13 +08:00
packet->PLANE_ID = PLANE_ID;
packet->confirmation = confirmation;
2019-03-09 18:16:52 +08:00
packet->AIRLINE_ID = AIRLINE_ID;
2019-03-09 06:12:13 +08:00
packet->current = current;
packet->SWITCH_MOD = SWITCH_MOD;
packet->LOITER_MOD = LOITER_MOD;
packet->ACTION = ACTION;
packet->MISSION_GRAP = MISSION_GRAP;
packet->POINT_SPEED = POINT_SPEED;
_mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND, (const char *)packet, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC);
#endif
}
#endif
#endif
// MESSAGE XYK_AIRPOINT_COMMAND UNPACKING
/**
* @brief Get field PLANE_ID from xyk_airpoint_command message
*
* @return System which should execute the command
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_PLANE_ID(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 16);
}
/**
* @brief Get field confirmation from xyk_airpoint_command message
*
* @return 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_confirmation(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 17);
}
/**
2019-03-09 18:16:52 +08:00
* @brief Get field AIRLINE_ID from xyk_airpoint_command message
2019-03-09 06:12:13 +08:00
*
* @return SEE XYK_AIRLINE_TYPE.
*/
2019-03-09 18:16:52 +08:00
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_AIRLINE_ID(const mavlink_message_t* msg)
2019-03-09 06:12:13 +08:00
{
return _MAV_RETURN_uint8_t(msg, 18);
}
/**
* @brief Get field AIRPOINT_ID from xyk_airpoint_command message
*
2019-03-09 18:16:52 +08:00
* @return Sequence1-800,65535 for abnormal airpoint
2019-03-09 06:12:13 +08:00
*/
static inline uint16_t mavlink_msg_xyk_airpoint_command_get_AIRPOINT_ID(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint16_t(msg, 12);
}
/**
2019-03-09 18:16:52 +08:00
* @brief Get field AIRLINE_LENGTH from xyk_airpoint_command message
2019-03-09 06:12:13 +08:00
*
* @return LENGTH,points contained in the aireline
*/
2019-03-09 18:16:52 +08:00
static inline uint16_t mavlink_msg_xyk_airpoint_command_get_AIRLINE_LENGTH(const mavlink_message_t* msg)
2019-03-09 06:12:13 +08:00
{
return _MAV_RETURN_uint16_t(msg, 14);
}
/**
* @brief Get field current from xyk_airpoint_command message
*
* @return false:0, true:1.
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_current(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 19);
}
/**
* @brief Get field SWITCH_MOD from xyk_airpoint_command message
*
* @return defallt Autocontinue to next waypoint.
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_SWITCH_MOD(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 20);
}
/**
* @brief Get field LOITER_MOD from xyk_airpoint_command message
*
* @return defallt arrive at next waypoint with an auto climb rate .
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_LOITER_MOD(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 21);
}
/**
* @brief Get field ACTION from xyk_airpoint_command message
*
* @return not in use for now
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_ACTION(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 22);
}
/**
* @brief Get field MISSION_GRAP from xyk_airpoint_command message
*
* @return not in use for now.
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_MISSION_GRAP(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 23);
}
/**
* @brief Get field POINT_SPEED from xyk_airpoint_command message
*
* @return SPEED IAS,m/s,[stall_speed,256]
*/
static inline uint8_t mavlink_msg_xyk_airpoint_command_get_POINT_SPEED(const mavlink_message_t* msg)
{
return _MAV_RETURN_uint8_t(msg, 24);
}
/**
* @brief Get field latitude from xyk_airpoint_command message
*
* @return latitude,0.0000001,[-180^,180^]
*/
static inline int32_t mavlink_msg_xyk_airpoint_command_get_latitude(const mavlink_message_t* msg)
{
return _MAV_RETURN_int32_t(msg, 0);
}
/**
* @brief Get field longitude from xyk_airpoint_command message
*
* @return longitude,0.0000001,[-180^,180^]
*/
static inline int32_t mavlink_msg_xyk_airpoint_command_get_longitude(const mavlink_message_t* msg)
{
return _MAV_RETURN_int32_t(msg, 4);
}
/**
* @brief Get field altitude from xyk_airpoint_command message
*
* @return altitude,0.01m,[-50000,100000]
*/
static inline int32_t mavlink_msg_xyk_airpoint_command_get_altitude(const mavlink_message_t* msg)
{
return _MAV_RETURN_int32_t(msg, 8);
}
/**
* @brief Decode a xyk_airpoint_command message into a struct
*
* @param msg The message to decode
* @param xyk_airpoint_command C-struct to decode the message contents into
*/
static inline void mavlink_msg_xyk_airpoint_command_decode(const mavlink_message_t* msg, mavlink_xyk_airpoint_command_t* xyk_airpoint_command)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
xyk_airpoint_command->latitude = mavlink_msg_xyk_airpoint_command_get_latitude(msg);
xyk_airpoint_command->longitude = mavlink_msg_xyk_airpoint_command_get_longitude(msg);
xyk_airpoint_command->altitude = mavlink_msg_xyk_airpoint_command_get_altitude(msg);
xyk_airpoint_command->AIRPOINT_ID = mavlink_msg_xyk_airpoint_command_get_AIRPOINT_ID(msg);
2019-03-09 18:16:52 +08:00
xyk_airpoint_command->AIRLINE_LENGTH = mavlink_msg_xyk_airpoint_command_get_AIRLINE_LENGTH(msg);
2019-03-09 06:12:13 +08:00
xyk_airpoint_command->PLANE_ID = mavlink_msg_xyk_airpoint_command_get_PLANE_ID(msg);
xyk_airpoint_command->confirmation = mavlink_msg_xyk_airpoint_command_get_confirmation(msg);
2019-03-09 18:16:52 +08:00
xyk_airpoint_command->AIRLINE_ID = mavlink_msg_xyk_airpoint_command_get_AIRLINE_ID(msg);
2019-03-09 06:12:13 +08:00
xyk_airpoint_command->current = mavlink_msg_xyk_airpoint_command_get_current(msg);
xyk_airpoint_command->SWITCH_MOD = mavlink_msg_xyk_airpoint_command_get_SWITCH_MOD(msg);
xyk_airpoint_command->LOITER_MOD = mavlink_msg_xyk_airpoint_command_get_LOITER_MOD(msg);
xyk_airpoint_command->ACTION = mavlink_msg_xyk_airpoint_command_get_ACTION(msg);
xyk_airpoint_command->MISSION_GRAP = mavlink_msg_xyk_airpoint_command_get_MISSION_GRAP(msg);
xyk_airpoint_command->POINT_SPEED = mavlink_msg_xyk_airpoint_command_get_POINT_SPEED(msg);
#else
uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN? msg->len : MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN;
memset(xyk_airpoint_command, 0, MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_LEN);
memcpy(xyk_airpoint_command, _MAV_PAYLOAD(msg), len);
#endif
}