diff --git a/XYK/XYK.h b/XYK/XYK.h new file mode 100644 index 0000000..56f4fcc --- /dev/null +++ b/XYK/XYK.h @@ -0,0 +1,350 @@ +/** @file + * @brief MAVLink comm protocol generated from XYK.xml + * @see http://mavlink.org + */ +#pragma once +#ifndef MAVLINK_XYK_H +#define MAVLINK_XYK_H + +#ifndef MAVLINK_H + #error Wrong include order: MAVLINK_XYK.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 + +#undef MAVLINK_THIS_XML_IDX +#define MAVLINK_THIS_XML_IDX 4 + +#ifdef __cplusplus +extern "C" { +#endif + +// MESSAGE LENGTHS AND CRCS + +#ifndef MAVLINK_MESSAGE_LENGTHS +#define MAVLINK_MESSAGE_LENGTHS {} +#endif + +#ifndef MAVLINK_MESSAGE_CRCS +#define MAVLINK_MESSAGE_CRCS {{30001, 210, 23, 0, 0, 0}, {30002, 193, 21, 0, 0, 0}, {30003, 13, 25, 0, 0, 0}, {30004, 250, 12, 0, 0, 0}, {30005, 117, 12, 0, 0, 0}, {30006, 91, 11, 0, 0, 0}, {30007, 180, 9, 0, 0, 0}, {30010, 74, 2, 0, 0, 0}, {30011, 78, 2, 0, 0, 0}, {30012, 165, 22, 0, 0, 0}, {30013, 28, 4, 1, 0, 0}, {30021, 165, 16, 1, 8, 0}, {30033, 142, 25, 0, 0, 0}, {30034, 109, 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" + +#define MAVLINK_ENABLED_XYK + +// ENUM DEFINITIONS + + +/** @brief */ +#ifndef HAVE_ENUM_XYK_GOTOLINE +#define HAVE_ENUM_XYK_GOTOLINE +typedef enum XYK_GOTOLINE +{ + XYK_GOTOLINE_line_point1=0, /* line + line1(point 1),with the seted climbing rate | */ + XYK_GOTOLINE_loiter_point1=1, /* loiter + line1(point 1),with the seted climbing rate | */ + XYK_GOTOLINE_loiter=2, /* just loiter ,at the current height | */ + XYK_GOTOLINE_ENUM_END=3, /* | */ +} XYK_GOTOLINE; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AIRPNT_SWITCH_MOD +#define HAVE_ENUM_XYK_AIRPNT_SWITCH_MOD +typedef enum XYK_AIRPNT_SWITCH_MOD +{ + XYK_AIRPNT_SWITCH_MOD_DEFAULT=0, /* Normal mode,default | */ + XYK_AIRPNT_SWITCH_MOD_LOITER=1, /* LOITER | */ + XYK_AIRPNT_SWITCH_MOD_AUTOLAND=2, /* Automatic LANDING | */ + XYK_AIRPNT_SWITCH_MOD_HOVERING=3, /* HOVERING | */ + XYK_AIRPNT_SWITCH_MOD_DELIVER=4, /* DELIVER,NOT Used FOR NOW | */ + XYK_AIRPNT_SWITCH_MOD_GOHOME=5, /* gohome from this point | */ + XYK_AIRPNT_SWITCH_MOD_ENUM_END=6, /* | */ +} XYK_AIRPNT_SWITCH_MOD; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AIRPNT_VERTIC_MOD +#define HAVE_ENUM_XYK_AIRPNT_VERTIC_MOD +typedef enum XYK_AIRPNT_VERTIC_MOD +{ + XYK_AIRPNT_VERTIC_MOD_DEFAULT=0, /* Normal mode,default,climbing with a preset rate | */ + XYK_AIRPNT_PRE_LOITER=1, /* climbing with LOITER First,then go | */ + XYK_AIRPNT_AFTER_LOITER=2, /* go first then climbing with loiter | */ + XYK_AIRPNT_VERTIC_MOD_ENUM_END=3, /* | */ +} XYK_AIRPNT_VERTIC_MOD; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AIRPOINT_ACTION +#define HAVE_ENUM_XYK_AIRPOINT_ACTION +typedef enum XYK_AIRPOINT_ACTION +{ + XYK_AIRPOINT_ACTION_0=0, /* tobe defineded | */ + XYK_AIRPOINT_ACTION_1=1, /* tobe defineded | */ + XYK_AIRPOINT_ACTION_2=2, /* tobe defineded | */ + XYK_AIRPOINT_ACTION_3=3, /* tobe defineded | */ + XYK_AIRPOINT_ACTION_5=4, /* tobe defineded | */ + XYK_AIRPOINT_ACTION_4=5, /* tobe defineded | */ + XYK_AIRPOINT_ACTION_ENUM_END=6, /* | */ +} XYK_AIRPOINT_ACTION; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AIRPNT_MOD_LOITER +#define HAVE_ENUM_XYK_AIRPNT_MOD_LOITER +typedef enum XYK_AIRPNT_MOD_LOITER +{ + XYK_AIRPNT_MOD_LOITER_ALWAYS=0, /* LOITER ALWAYS default | */ + XYK_AIRPNT_MOD_LOITER_BYTIME=1, /* loiter by time | */ + XYK_AIRPNT_MOD_LOITER_BYTUNS=2, /* loiter by turns | */ + XYK_AIRPNT_MOD_LOITER_ENUM_END=3, /* | */ +} XYK_AIRPNT_MOD_LOITER; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AIRLINE_TYPE +#define HAVE_ENUM_XYK_AIRLINE_TYPE +typedef enum XYK_AIRLINE_TYPE +{ + XYK_AIRLINE_TYPE_ID0=0, /* | */ + XYK_AIRLINE_TYPE_ID1=1, /* | */ + XYK_AIRLINE_TYPE_ID2=2, /* | */ + XYK_AIRLINE_TYPE_ID3=3, /* | */ + XYK_AIRLINE_TYPE_ID4=4, /* | */ + XYK_AIRLINE_TYPE_ID5=5, /* | */ + XYK_AIRLINE_TYPE_ID6=6, /* | */ + XYK_AIRLINE_TYPE_ID7=7, /* | */ + XYK_AIRLINE_TYPE_ID8=8, /* | */ + XYK_AIRLINE_TYPE_ID9=9, /* | */ + XYK_AIRLINE_TYPE_ID10=10, /* | */ + XYK_AIRLINE_TYPE_ID11=11, /* | */ + XYK_AIRLINE_TYPE_ENUM_END=12, /* | */ +} XYK_AIRLINE_TYPE; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AIRPNT_MISSION_GRAP_MOD +#define HAVE_ENUM_XYK_AIRPNT_MISSION_GRAP_MOD +typedef enum XYK_AIRPNT_MISSION_GRAP_MOD +{ + XYK_AIRPNT_MISSION_GRAP_TIME=0, /* DELTA TIME | */ + XYK_AIRPNT_MISSION_GRAP_DIS=1, /* DELTA DISTANCE | */ + XYK_AIRPNT_MISSION_GRAP_MOD_ENUM_END=2, /* | */ +} XYK_AIRPNT_MISSION_GRAP_MOD; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_COMMAND_ID +#define HAVE_ENUM_XYK_COMMAND_ID +typedef enum XYK_COMMAND_ID +{ + XYK_CMD_CRUISE=0, /* Takeoff from ground ,auto / manual |Empty| Empty| Empty| Empty | Empty| Empty| Empty| */ + XYK_CMD_LANDING=1, /* Land using VTOL mode |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_SHUTDWON=2, /* Terminate flight immediately |state| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_HOMING=3, /* return home . |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_CIRCLE=4, /* circle at current location or specified location |rotation| style| TT| radius| Latitude| Longitude| Altitude| */ + XYK_CMD_HOVER=5, /* | */ + XYK_CMD_UPTO_30M=6, /* current altitude+30m.keeping until next piont |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_DWNTO_30M=7, /* current altitude-30m.keeping until next piont |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_SETSPD=8, /* Change speed and/or throttle set points. |Speed| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_SET_DELTH=9, /* Change altitude by adding delta h.keeping until next piont |delta_h in meters| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_SET_DTHPSTV=10, /* Change current throtle keeping until next piont ,no use for now |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_SET_DTHNGTV=11, /* Change current throtle keeping until next piont ,no use for now |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_GOTO_POINT=12, /* go to specified airpoint. |point_id| line_id| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_CHANGE_NAV=13, /* | */ + XYK_CMD_SENDAS_BACKPNT=14, /* Set the specified point as backing home point. |Empty| Empty| Empty| via_point| Latitude| Longitude| altitude| */ + XYK_CMD_SENDAS_LANDING=15, /* Set the specified point as landing point. |Empty| Empty| Empty| Empty| Latitude| Longitude| altitude| */ + XYK_CMD_EMGC_LANDING=16, /* | */ + XYK_CMD_FORCED_GYRO=17, /* change the mode as gyro mode,dangerous,tobe discussted |Empty| Empty| Empty| Empty| Empty| Empty| Empty| */ + XYK_CMD_FOLLOW=18, /* Vehicle following, i.e. this waypoint represents the position of a moving vehicle |Following logic to use (e.g. loitering or sinusoidal following) - depends on specific autopilot implementation| Ground speed of vehicle to be followed| Radius around waypoint, in meters. If positive loiter clockwise, else counter-clockwise| Desired yaw angle.| Latitude| Longitude| Altitude| */ + XYK_COMMAND_ID_ENUM_END=19, /* | */ +} XYK_COMMAND_ID; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_PARAM_GROUP_ID +#define HAVE_ENUM_XYK_PARAM_GROUP_ID +typedef enum XYK_PARAM_GROUP_ID +{ + XYK_PRESET_PARAM_ID1=1, /* G Matt:is this ok if I want the 1th enum element points to the struct XYK_PRESET_PARAM??? | */ + XYK_LIMIT_PARAM_ID2=2, /* grouping parameers of XYK_LIMIT_PARAM,called by _REQ | */ + XYK_PROTECTION_PARAM_ID3=3, /* grouping parameers of XYK_PROTECTION_PARAM,called by _REQ | */ + XYK_PARAM_GROUP_ID_ENUM_END=4, /* | */ +} XYK_PARAM_GROUP_ID; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_GRD_TEST +#define HAVE_ENUM_XYK_GRD_TEST +typedef enum XYK_GRD_TEST +{ + auto=0, /* | */ + manual=1, /* | */ + XYK_GRD_TEST_ENUM_END=2, /* | */ +} XYK_GRD_TEST; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_MOTOR_ID +#define HAVE_ENUM_XYK_MOTOR_ID +typedef enum XYK_MOTOR_ID +{ + XYK_MOTOR_FL=1, /* | */ + XYK_MOTOR_FR=2, /* | */ + XYK_MOTOR_BR=3, /* | */ + XYK_MOTOR_BL=4, /* | */ + XYK_MOTOR_ID_ENUM_END=5, /* | */ +} XYK_MOTOR_ID; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_SEVO_ID +#define HAVE_ENUM_XYK_SEVO_ID +typedef enum XYK_SEVO_ID +{ + XYK_CS_AIL=5, /* | */ + XYK_CS_ELE=6, /* | */ + XYK_CS_RUD=7, /* | */ + XYK_SEVO_ID_ENUM_END=8, /* | */ +} XYK_SEVO_ID; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_GRD_TEST_CMD_ID +#define HAVE_ENUM_XYK_GRD_TEST_CMD_ID +typedef enum XYK_GRD_TEST_CMD_ID +{ + XYK_GOIN_CS_CHECKIN=1, /* | */ + XYK_GOIN_MOTO_CHECKIN=2, /* | */ + XYK_COMMAND_GRD_CSCHECK=3, /* | */ + XYK_COMMAND_GRD_MOTORCHECK=4, /* | */ + XYK_GRD_TEST_CMD_ID_ENUM_END=5, /* | */ +} XYK_GRD_TEST_CMD_ID; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AP_EO_CMD_SWV +#define HAVE_ENUM_XYK_AP_EO_CMD_SWV +typedef enum XYK_AP_EO_CMD_SWV +{ + XYK_AP_EO_D1H=1, /* EO OK | */ + XYK_AP_EO_D2H=2, /* | */ + XYK_AP_EO_33H=3, /* | */ + XYK_AP_EO_31H=4, /* | */ + XYK_AP_EO_87H=5, /* + | */ + XYK_AP_EO_88H=6, /* | */ + XYK_AP_EO_4DH=7, /* | */ + XYK_AP_EO_4EH=8, /* | */ + XYK_AP_EO_4CH=9, /* | */ + XYK_AP_EO_73H=10, /* | */ + XYK_AP_EO_75H=11, /* | */ + XYK_AP_EO_77H=12, /* | */ + XYK_AP_EO_79H=13, /* | */ + XYK_AP_EO_7BH=14, /* | */ + XYK_AP_EO_7DH=15, /* | */ + XYK_AP_EO_18H=16, /* | */ + XYK_AP_EO_22H=17, /* | */ + XYK_AP_EO_B1H=18, /* | */ + XYK_AP_EO_C9H=19, /* | */ + XYK_AP_EO_55H=20, /* | */ + XYK_AP_EO_ABH=21, /* | */ + XYK_AP_EO_AAH=22, /* | */ + XYK_AP_EO_45H=23, /* | */ + XYK_AP_EO_25H=24, /* | */ + XYK_AP_EO_60H=25, /* | */ + XYK_AP_EO_72H=26, /* | */ + XYK_AP_EO_15H=27, /* | */ + XYK_AP_EO_19H=28, /* | */ + XYK_AP_EO_1DH=29, /* | */ + XYK_AP_EO_1FH=30, /* | */ + XYK_AP_EO_21H=31, /* | */ + XYK_AP_EO_23H=32, /* | */ + XYK_AP_EO_91H=33, /* | */ + XYK_AP_EO_93H=34, /* | */ + XYK_AP_EO_94H=35, /* | */ + XYK_AP_EO_98H=36, /* | */ + XYK_AP_EO_99H=37, /* | */ + XYK_AP_EO_27H=38, /* | */ + XYK_AP_EO_24H=39, /* | */ + XYK_AP_EO_81H=40, /* | */ + XYK_AP_EO_89H=41, /* | */ + XYK_AP_EO_DCH=42, /* | */ + XYK_AP_EO_8AH=43, /* | */ + XYK_AP_EO_8BH=44, /* | */ + XYK_AP_EO_CMD_SWV_ENUM_END=45, /* | */ +} XYK_AP_EO_CMD_SWV; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AP_EO_CMD_SQN +#define HAVE_ENUM_XYK_AP_EO_CMD_SQN +typedef enum XYK_AP_EO_CMD_SQN +{ + XYK_AP_EO_CMD_SQN_MANUAL=1, /* | */ + XYK_AP_EO_CMD_SQN_AUTO=2, /* | */ + XYK_AP_EO_CMD_SQN_FOCUS=3, /* | */ + XYK_AP_EO_CMD_SQN_DGUIDE=4, /* | */ + XYK_AP_EO_CMD_SQN_PHOTOGUIDE=5, /* | */ + XYK_AP_EO_CMD_SQN_SCAN=6, /* | */ + XYK_AP_EO_CMD_SQN_ENUM_END=7, /* | */ +} XYK_AP_EO_CMD_SQN; +#endif + +/** @brief */ +#ifndef HAVE_ENUM_XYK_AIRPOINT_MISSION_GRAP +#define HAVE_ENUM_XYK_AIRPOINT_MISSION_GRAP +typedef enum XYK_AIRPOINT_MISSION_GRAP +{ + XYK_AIRPOINT_MISSION_GRAP_TIME=1, /* | */ + XYK_AIRPOINT_MISSION_GRAP_DISTENCE=2, /* | */ + XYK_AIRPOINT_MISSION_GRAP_ENUM_END=3, /* | */ +} XYK_AIRPOINT_MISSION_GRAP; +#endif + +// MAVLINK VERSION + +#ifndef MAVLINK_VERSION +#define MAVLINK_VERSION 3 +#endif + +#if (MAVLINK_VERSION == 0) +#undef MAVLINK_VERSION +#define MAVLINK_VERSION 3 +#endif + +// MESSAGE DEFINITIONS +#include "./mavlink_msg_xyk_frame1_ap_to_gcs.h" +#include "./mavlink_msg_xyk_frame2_ap_to_gcs.h" +#include "./mavlink_msg_xyk_frame3_ap_to_gcs.h" +#include "./mavlink_msg_xyk_frame4_eo_ap_to_gcs.h" +#include "./mavlink_msg_xyk_preset_param.h" +#include "./mavlink_msg_xyk_limit_param.h" +#include "./mavlink_msg_xyk_protection_param.h" +#include "./mavlink_msg_xyk_surface_neutral_set.h" +#include "./mavlink_msg_xyk_param_group_req.h" +#include "./mavlink_msg_xyk_command_ack.h" +#include "./mavlink_msg_xyk_command_long.h" +#include "./mavlink_msg_xyk_command_grd_check.h" +#include "./mavlink_msg_xyk_cmd_rc_channels.h" +#include "./mavlink_msg_xyk_airpoint_command.h" +#include "./mavlink_msg_xyk_airline_req.h" +#include "./mavlink_msg_xyk_swv_cmd_ap_eo_transpond.h" +#include "./mavlink_msg_xyk_sqn_cmd_ap_eo_transpond.h" + +// base include + + +#undef MAVLINK_THIS_XML_IDX +#define MAVLINK_THIS_XML_IDX 4 + +#if MAVLINK_THIS_XML_IDX == MAVLINK_PRIMARY_XML_IDX +# define MAVLINK_MESSAGE_INFO {MAVLINK_MESSAGE_INFO_XYK_FRAME1_AP_TO_GCS, MAVLINK_MESSAGE_INFO_XYK_FRAME2_AP_TO_GCS, MAVLINK_MESSAGE_INFO_XYK_FRAME3_AP_TO_GCS, MAVLINK_MESSAGE_INFO_XYK_PRESET_PARAM, MAVLINK_MESSAGE_INFO_XYK_LIMIT_PARAM, MAVLINK_MESSAGE_INFO_XYK_PROTECTION_PARAM, MAVLINK_MESSAGE_INFO_XYK_SURFACE_NEUTRAL_SET, MAVLINK_MESSAGE_INFO_XYK_PARAM_GROUP_REQ, MAVLINK_MESSAGE_INFO_XYK_COMMAND_ACK, MAVLINK_MESSAGE_INFO_XYK_COMMAND_LONG, MAVLINK_MESSAGE_INFO_XYK_COMMAND_GRD_CHECK, MAVLINK_MESSAGE_INFO_XYK_CMD_RC_CHANNELS, MAVLINK_MESSAGE_INFO_XYK_AIRPOINT_COMMAND, MAVLINK_MESSAGE_INFO_XYK_AIRLINE_REQ, MAVLINK_MESSAGE_INFO_XYK_SWV_CMD_AP_EO_TRANSPOND, MAVLINK_MESSAGE_INFO_XYK_SQN_CMD_AP_EO_TRANSPOND, MAVLINK_MESSAGE_INFO_XYK_FRAME4_EO_AP_TO_GCS} +# define MAVLINK_MESSAGE_NAMES {{ "XYK_AIRLINE_REQ", 30034 }, { "XYK_AIRPOINT_COMMAND", 30033 }, { "XYK_CMD_RC_CHANNELS", 30021 }, { "XYK_COMMAND_ACK", 30011 }, { "XYK_COMMAND_GRD_CHECK", 30013 }, { "XYK_COMMAND_LONG", 30012 }, { "XYK_FRAME1_AP_TO_GCS", 30001 }, { "XYK_FRAME2_AP_TO_GCS", 30002 }, { "XYK_FRAME3_AP_TO_GCS", 30003 }, { "XYK_FRAME4_EO_AP_TO_GCS", 30054 }, { "XYK_LIMIT_PARAM", 30005 }, { "XYK_PARAM_GROUP_REQ", 30010 }, { "XYK_PRESET_PARAM", 30004 }, { "XYK_PROTECTION_PARAM", 30006 }, { "XYK_SQN_CMD_AP_EO_TRANSPOND", 30052 }, { "XYK_SURFACE_NEUTRAL_SET", 30007 }, { "XYK_SWV_CMD_AP_EO_TRANSPOND", 30051 }} +# if MAVLINK_COMMAND_24BIT +# include "../mavlink_get_info.h" +# endif +#endif + +#ifdef __cplusplus +} +#endif // __cplusplus +#endif // MAVLINK_XYK_H diff --git a/XYK/mavlink.h b/XYK/mavlink.h new file mode 100644 index 0000000..a611207 --- /dev/null +++ b/XYK/mavlink.h @@ -0,0 +1,34 @@ +/** @file + * @brief MAVLink comm protocol built from XYK.xml + * @see http://mavlink.org + */ +#pragma once +#ifndef MAVLINK_H +#define MAVLINK_H + +#define MAVLINK_PRIMARY_XML_IDX 4 + +#ifndef MAVLINK_STX +#define MAVLINK_STX 253 +#endif + +#ifndef MAVLINK_ENDIAN +#define MAVLINK_ENDIAN MAVLINK_LITTLE_ENDIAN +#endif + +#ifndef MAVLINK_ALIGNED_FIELDS +#define MAVLINK_ALIGNED_FIELDS 1 +#endif + +#ifndef MAVLINK_CRC_EXTRA +#define MAVLINK_CRC_EXTRA 1 +#endif + +#ifndef MAVLINK_COMMAND_24BIT +#define MAVLINK_COMMAND_24BIT 1 +#endif + +#include "version.h" +#include "XYK.h" + +#endif // MAVLINK_H diff --git a/XYK/mavlink_msg_xyk_airline_req.h b/XYK/mavlink_msg_xyk_airline_req.h new file mode 100644 index 0000000..46ec0ad --- /dev/null +++ b/XYK/mavlink_msg_xyk_airline_req.h @@ -0,0 +1,263 @@ +#pragma once +// MESSAGE XYK_AIRLINE_REQ PACKING + +#define MAVLINK_MSG_ID_XYK_AIRLINE_REQ 30034 + +MAVPACKED( +typedef struct __mavlink_xyk_airline_req_t { + uint8_t XYK_PLANE_ID; /*< PLANE ID .*/ + uint8_t AIRLINE_ID; /*< satus */ + uint8_t POINT_ID; /*< satus */ +}) mavlink_xyk_airline_req_t; + +#define MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN 3 +#define MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN 3 +#define MAVLINK_MSG_ID_30034_LEN 3 +#define MAVLINK_MSG_ID_30034_MIN_LEN 3 + +#define MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC 109 +#define MAVLINK_MSG_ID_30034_CRC 109 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_AIRLINE_REQ { \ + 30034, \ + "XYK_AIRLINE_REQ", \ + 3, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_airline_req_t, XYK_PLANE_ID) }, \ + { "AIRLINE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_airline_req_t, AIRLINE_ID) }, \ + { "POINT_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_airline_req_t, POINT_ID) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_AIRLINE_REQ { \ + "XYK_AIRLINE_REQ", \ + 3, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_airline_req_t, XYK_PLANE_ID) }, \ + { "AIRLINE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_airline_req_t, AIRLINE_ID) }, \ + { "POINT_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_airline_req_t, POINT_ID) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_airline_req 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 XYK_PLANE_ID PLANE ID . + * @param AIRLINE_ID satus + * @param POINT_ID satus + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_airline_req_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t XYK_PLANE_ID, uint8_t AIRLINE_ID, uint8_t POINT_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, AIRLINE_ID); + _mav_put_uint8_t(buf, 2, POINT_ID); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN); +#else + mavlink_xyk_airline_req_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.AIRLINE_ID = AIRLINE_ID; + packet.POINT_ID = POINT_ID; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_AIRLINE_REQ; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC); +} + +/** + * @brief Pack a xyk_airline_req 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 XYK_PLANE_ID PLANE ID . + * @param AIRLINE_ID satus + * @param POINT_ID satus + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_airline_req_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t XYK_PLANE_ID,uint8_t AIRLINE_ID,uint8_t POINT_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, AIRLINE_ID); + _mav_put_uint8_t(buf, 2, POINT_ID); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN); +#else + mavlink_xyk_airline_req_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.AIRLINE_ID = AIRLINE_ID; + packet.POINT_ID = POINT_ID; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_AIRLINE_REQ; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC); +} + +/** + * @brief Encode a xyk_airline_req 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_airline_req C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_airline_req_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_airline_req_t* xyk_airline_req) +{ + return mavlink_msg_xyk_airline_req_pack(system_id, component_id, msg, xyk_airline_req->XYK_PLANE_ID, xyk_airline_req->AIRLINE_ID, xyk_airline_req->POINT_ID); +} + +/** + * @brief Encode a xyk_airline_req 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_airline_req C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_airline_req_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_airline_req_t* xyk_airline_req) +{ + return mavlink_msg_xyk_airline_req_pack_chan(system_id, component_id, chan, msg, xyk_airline_req->XYK_PLANE_ID, xyk_airline_req->AIRLINE_ID, xyk_airline_req->POINT_ID); +} + +/** + * @brief Send a xyk_airline_req message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID PLANE ID . + * @param AIRLINE_ID satus + * @param POINT_ID satus + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_airline_req_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t AIRLINE_ID, uint8_t POINT_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, AIRLINE_ID); + _mav_put_uint8_t(buf, 2, POINT_ID); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRLINE_REQ, buf, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC); +#else + mavlink_xyk_airline_req_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.AIRLINE_ID = AIRLINE_ID; + packet.POINT_ID = POINT_ID; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRLINE_REQ, (const char *)&packet, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC); +#endif +} + +/** + * @brief Send a xyk_airline_req message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_airline_req_send_struct(mavlink_channel_t chan, const mavlink_xyk_airline_req_t* xyk_airline_req) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_airline_req_send(chan, xyk_airline_req->XYK_PLANE_ID, xyk_airline_req->AIRLINE_ID, xyk_airline_req->POINT_ID); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRLINE_REQ, (const char *)xyk_airline_req, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_AIRLINE_REQ_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_xyk_airline_req_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t AIRLINE_ID, uint8_t POINT_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, AIRLINE_ID); + _mav_put_uint8_t(buf, 2, POINT_ID); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRLINE_REQ, buf, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC); +#else + mavlink_xyk_airline_req_t *packet = (mavlink_xyk_airline_req_t *)msgbuf; + packet->XYK_PLANE_ID = XYK_PLANE_ID; + packet->AIRLINE_ID = AIRLINE_ID; + packet->POINT_ID = POINT_ID; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_AIRLINE_REQ, (const char *)packet, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_AIRLINE_REQ UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_airline_req message + * + * @return PLANE ID . + */ +static inline uint8_t mavlink_msg_xyk_airline_req_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 0); +} + +/** + * @brief Get field AIRLINE_ID from xyk_airline_req message + * + * @return satus + */ +static inline uint8_t mavlink_msg_xyk_airline_req_get_AIRLINE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 1); +} + +/** + * @brief Get field POINT_ID from xyk_airline_req message + * + * @return satus + */ +static inline uint8_t mavlink_msg_xyk_airline_req_get_POINT_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 2); +} + +/** + * @brief Decode a xyk_airline_req message into a struct + * + * @param msg The message to decode + * @param xyk_airline_req C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_airline_req_decode(const mavlink_message_t* msg, mavlink_xyk_airline_req_t* xyk_airline_req) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_airline_req->XYK_PLANE_ID = mavlink_msg_xyk_airline_req_get_XYK_PLANE_ID(msg); + xyk_airline_req->AIRLINE_ID = mavlink_msg_xyk_airline_req_get_AIRLINE_ID(msg); + xyk_airline_req->POINT_ID = mavlink_msg_xyk_airline_req_get_POINT_ID(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN? msg->len : MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN; + memset(xyk_airline_req, 0, MAVLINK_MSG_ID_XYK_AIRLINE_REQ_LEN); + memcpy(xyk_airline_req, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_airpoint_command.h b/XYK/mavlink_msg_xyk_airpoint_command.h new file mode 100644 index 0000000..2f596d8 --- /dev/null +++ b/XYK/mavlink_msg_xyk_airpoint_command.h @@ -0,0 +1,538 @@ +#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]*/ + uint16_t AIRPOINT_ID; /*< Sequence1-800*/ + uint16_t LINE_LENGTH; /*< LENGTH,points contained in the aireline*/ + 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)*/ + uint8_t LINE_ID; /*< SEE XYK_AIRLINE_TYPE.*/ + 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 + +#define MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_CRC 142 +#define MAVLINK_MSG_ID_30033_CRC 142 + + + +#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) }, \ + { "LINE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_airpoint_command_t, LINE_ID) }, \ + { "AIRPOINT_ID", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_xyk_airpoint_command_t, AIRPOINT_ID) }, \ + { "LINE_LENGTH", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_xyk_airpoint_command_t, LINE_LENGTH) }, \ + { "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) }, \ + { "LINE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_airpoint_command_t, LINE_ID) }, \ + { "AIRPOINT_ID", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_xyk_airpoint_command_t, AIRPOINT_ID) }, \ + { "LINE_LENGTH", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_xyk_airpoint_command_t, LINE_LENGTH) }, \ + { "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) + * @param LINE_ID SEE XYK_AIRLINE_TYPE. + * @param AIRPOINT_ID Sequence1-800 + * @param LINE_LENGTH LENGTH,points contained in the aireline + * @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, + uint8_t PLANE_ID, uint8_t confirmation, uint8_t LINE_ID, uint16_t AIRPOINT_ID, uint16_t LINE_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) +{ +#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); + _mav_put_uint16_t(buf, 14, LINE_LENGTH); + _mav_put_uint8_t(buf, 16, PLANE_ID); + _mav_put_uint8_t(buf, 17, confirmation); + _mav_put_uint8_t(buf, 18, LINE_ID); + _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; + packet.LINE_LENGTH = LINE_LENGTH; + packet.PLANE_ID = PLANE_ID; + packet.confirmation = confirmation; + packet.LINE_ID = LINE_ID; + 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) + * @param LINE_ID SEE XYK_AIRLINE_TYPE. + * @param AIRPOINT_ID Sequence1-800 + * @param LINE_LENGTH LENGTH,points contained in the aireline + * @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, + uint8_t PLANE_ID,uint8_t confirmation,uint8_t LINE_ID,uint16_t AIRPOINT_ID,uint16_t LINE_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) +{ +#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); + _mav_put_uint16_t(buf, 14, LINE_LENGTH); + _mav_put_uint8_t(buf, 16, PLANE_ID); + _mav_put_uint8_t(buf, 17, confirmation); + _mav_put_uint8_t(buf, 18, LINE_ID); + _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; + packet.LINE_LENGTH = LINE_LENGTH; + packet.PLANE_ID = PLANE_ID; + packet.confirmation = confirmation; + packet.LINE_ID = LINE_ID; + 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) +{ + return mavlink_msg_xyk_airpoint_command_pack(system_id, component_id, msg, xyk_airpoint_command->PLANE_ID, xyk_airpoint_command->confirmation, xyk_airpoint_command->LINE_ID, xyk_airpoint_command->AIRPOINT_ID, xyk_airpoint_command->LINE_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); +} + +/** + * @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) +{ + 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->LINE_ID, xyk_airpoint_command->AIRPOINT_ID, xyk_airpoint_command->LINE_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); +} + +/** + * @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) + * @param LINE_ID SEE XYK_AIRLINE_TYPE. + * @param AIRPOINT_ID Sequence1-800 + * @param LINE_LENGTH LENGTH,points contained in the aireline + * @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 + +static inline void mavlink_msg_xyk_airpoint_command_send(mavlink_channel_t chan, uint8_t PLANE_ID, uint8_t confirmation, uint8_t LINE_ID, uint16_t AIRPOINT_ID, uint16_t LINE_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) +{ +#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); + _mav_put_uint16_t(buf, 14, LINE_LENGTH); + _mav_put_uint8_t(buf, 16, PLANE_ID); + _mav_put_uint8_t(buf, 17, confirmation); + _mav_put_uint8_t(buf, 18, LINE_ID); + _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; + packet.LINE_LENGTH = LINE_LENGTH; + packet.PLANE_ID = PLANE_ID; + packet.confirmation = confirmation; + packet.LINE_ID = LINE_ID; + 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 + mavlink_msg_xyk_airpoint_command_send(chan, xyk_airpoint_command->PLANE_ID, xyk_airpoint_command->confirmation, xyk_airpoint_command->LINE_ID, xyk_airpoint_command->AIRPOINT_ID, xyk_airpoint_command->LINE_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); +#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. + */ +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 LINE_ID, uint16_t AIRPOINT_ID, uint16_t LINE_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) +{ +#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); + _mav_put_uint16_t(buf, 14, LINE_LENGTH); + _mav_put_uint8_t(buf, 16, PLANE_ID); + _mav_put_uint8_t(buf, 17, confirmation); + _mav_put_uint8_t(buf, 18, LINE_ID); + _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; + packet->LINE_LENGTH = LINE_LENGTH; + packet->PLANE_ID = PLANE_ID; + packet->confirmation = confirmation; + packet->LINE_ID = LINE_ID; + 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); +} + +/** + * @brief Get field LINE_ID from xyk_airpoint_command message + * + * @return SEE XYK_AIRLINE_TYPE. + */ +static inline uint8_t mavlink_msg_xyk_airpoint_command_get_LINE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 18); +} + +/** + * @brief Get field AIRPOINT_ID from xyk_airpoint_command message + * + * @return Sequence1-800 + */ +static inline uint16_t mavlink_msg_xyk_airpoint_command_get_AIRPOINT_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 12); +} + +/** + * @brief Get field LINE_LENGTH from xyk_airpoint_command message + * + * @return LENGTH,points contained in the aireline + */ +static inline uint16_t mavlink_msg_xyk_airpoint_command_get_LINE_LENGTH(const mavlink_message_t* msg) +{ + 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); + xyk_airpoint_command->LINE_LENGTH = mavlink_msg_xyk_airpoint_command_get_LINE_LENGTH(msg); + 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); + xyk_airpoint_command->LINE_ID = mavlink_msg_xyk_airpoint_command_get_LINE_ID(msg); + 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 +} diff --git a/XYK/mavlink_msg_xyk_cmd_rc_channels.h b/XYK/mavlink_msg_xyk_cmd_rc_channels.h new file mode 100644 index 0000000..bacc790 --- /dev/null +++ b/XYK/mavlink_msg_xyk_cmd_rc_channels.h @@ -0,0 +1,488 @@ +#pragma once +// MESSAGE XYK_CMD_RC_CHANNELS PACKING + +#define MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS 30021 + +MAVPACKED( +typedef struct __mavlink_xyk_cmd_rc_channels_t { + int16_t chan_elevtor; /*< RC chan_elevtor,0.1%,-1000~1000*/ + int16_t chan_rudder; /*< RC chan_rudder,0.1%,-1000~1000*/ + int16_t chan_ailron; /*< RC chan_ailron,0.1%,-1000~1000*/ + int16_t chan_throttle; /*< RC chan_throttle,0.1%,0~2000*/ + uint8_t target_system; /*< PLANE ID*/ + uint8_t taret_component; /*< Component ID*/ + uint8_t command_word; /*< command_word*/ + uint8_t chan_onoff; /*< RC control word of on-off state ,bit0~bit3 corresponding to switch4~switch1,*/ + uint8_t chan_keyword; /*< RC control word of keyword state ,bit0~bit3 corresponding to key4~key1*/ + uint8_t chan_reserved; /*< RC channel reserved*/ + uint8_t chan_reserved1; /*< RC channel reserved*/ + uint8_t chan_reserved2; /*< RC channel reserved*/ +}) mavlink_xyk_cmd_rc_channels_t; + +#define MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN 16 +#define MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN 16 +#define MAVLINK_MSG_ID_30021_LEN 16 +#define MAVLINK_MSG_ID_30021_MIN_LEN 16 + +#define MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC 165 +#define MAVLINK_MSG_ID_30021_CRC 165 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_CMD_RC_CHANNELS { \ + 30021, \ + "XYK_CMD_RC_CHANNELS", \ + 12, \ + { { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_cmd_rc_channels_t, target_system) }, \ + { "taret_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_cmd_rc_channels_t, taret_component) }, \ + { "command_word", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_cmd_rc_channels_t, command_word) }, \ + { "chan_elevtor", NULL, MAVLINK_TYPE_INT16_T, 0, 0, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_elevtor) }, \ + { "chan_rudder", NULL, MAVLINK_TYPE_INT16_T, 0, 2, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_rudder) }, \ + { "chan_ailron", NULL, MAVLINK_TYPE_INT16_T, 0, 4, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_ailron) }, \ + { "chan_throttle", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_throttle) }, \ + { "chan_onoff", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_onoff) }, \ + { "chan_keyword", NULL, MAVLINK_TYPE_UINT8_T, 0, 12, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_keyword) }, \ + { "chan_reserved", NULL, MAVLINK_TYPE_UINT8_T, 0, 13, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_reserved) }, \ + { "chan_reserved1", NULL, MAVLINK_TYPE_UINT8_T, 0, 14, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_reserved1) }, \ + { "chan_reserved2", NULL, MAVLINK_TYPE_UINT8_T, 0, 15, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_reserved2) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_CMD_RC_CHANNELS { \ + "XYK_CMD_RC_CHANNELS", \ + 12, \ + { { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_cmd_rc_channels_t, target_system) }, \ + { "taret_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_cmd_rc_channels_t, taret_component) }, \ + { "command_word", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_cmd_rc_channels_t, command_word) }, \ + { "chan_elevtor", NULL, MAVLINK_TYPE_INT16_T, 0, 0, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_elevtor) }, \ + { "chan_rudder", NULL, MAVLINK_TYPE_INT16_T, 0, 2, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_rudder) }, \ + { "chan_ailron", NULL, MAVLINK_TYPE_INT16_T, 0, 4, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_ailron) }, \ + { "chan_throttle", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_throttle) }, \ + { "chan_onoff", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_onoff) }, \ + { "chan_keyword", NULL, MAVLINK_TYPE_UINT8_T, 0, 12, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_keyword) }, \ + { "chan_reserved", NULL, MAVLINK_TYPE_UINT8_T, 0, 13, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_reserved) }, \ + { "chan_reserved1", NULL, MAVLINK_TYPE_UINT8_T, 0, 14, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_reserved1) }, \ + { "chan_reserved2", NULL, MAVLINK_TYPE_UINT8_T, 0, 15, offsetof(mavlink_xyk_cmd_rc_channels_t, chan_reserved2) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_cmd_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 PLANE ID + * @param taret_component Component ID + * @param command_word command_word + * @param chan_elevtor RC chan_elevtor,0.1%,-1000~1000 + * @param chan_rudder RC chan_rudder,0.1%,-1000~1000 + * @param chan_ailron RC chan_ailron,0.1%,-1000~1000 + * @param chan_throttle RC chan_throttle,0.1%,0~2000 + * @param chan_onoff RC control word of on-off state ,bit0~bit3 corresponding to switch4~switch1, + * @param chan_keyword RC control word of keyword state ,bit0~bit3 corresponding to key4~key1 + * @param chan_reserved RC channel reserved + * @param chan_reserved1 RC channel reserved + * @param chan_reserved2 RC channel reserved + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_cmd_rc_channels_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t target_system, uint8_t taret_component, uint8_t command_word, int16_t chan_elevtor, int16_t chan_rudder, int16_t chan_ailron, int16_t chan_throttle, uint8_t chan_onoff, uint8_t chan_keyword, uint8_t chan_reserved, uint8_t chan_reserved1, uint8_t chan_reserved2) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN]; + _mav_put_int16_t(buf, 0, chan_elevtor); + _mav_put_int16_t(buf, 2, chan_rudder); + _mav_put_int16_t(buf, 4, chan_ailron); + _mav_put_int16_t(buf, 6, chan_throttle); + _mav_put_uint8_t(buf, 8, target_system); + _mav_put_uint8_t(buf, 9, taret_component); + _mav_put_uint8_t(buf, 10, command_word); + _mav_put_uint8_t(buf, 11, chan_onoff); + _mav_put_uint8_t(buf, 12, chan_keyword); + _mav_put_uint8_t(buf, 13, chan_reserved); + _mav_put_uint8_t(buf, 14, chan_reserved1); + _mav_put_uint8_t(buf, 15, chan_reserved2); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN); +#else + mavlink_xyk_cmd_rc_channels_t packet; + packet.chan_elevtor = chan_elevtor; + packet.chan_rudder = chan_rudder; + packet.chan_ailron = chan_ailron; + packet.chan_throttle = chan_throttle; + packet.target_system = target_system; + packet.taret_component = taret_component; + packet.command_word = command_word; + packet.chan_onoff = chan_onoff; + packet.chan_keyword = chan_keyword; + packet.chan_reserved = chan_reserved; + packet.chan_reserved1 = chan_reserved1; + packet.chan_reserved2 = chan_reserved2; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC); +} + +/** + * @brief Pack a xyk_cmd_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 PLANE ID + * @param taret_component Component ID + * @param command_word command_word + * @param chan_elevtor RC chan_elevtor,0.1%,-1000~1000 + * @param chan_rudder RC chan_rudder,0.1%,-1000~1000 + * @param chan_ailron RC chan_ailron,0.1%,-1000~1000 + * @param chan_throttle RC chan_throttle,0.1%,0~2000 + * @param chan_onoff RC control word of on-off state ,bit0~bit3 corresponding to switch4~switch1, + * @param chan_keyword RC control word of keyword state ,bit0~bit3 corresponding to key4~key1 + * @param chan_reserved RC channel reserved + * @param chan_reserved1 RC channel reserved + * @param chan_reserved2 RC channel reserved + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_cmd_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 taret_component,uint8_t command_word,int16_t chan_elevtor,int16_t chan_rudder,int16_t chan_ailron,int16_t chan_throttle,uint8_t chan_onoff,uint8_t chan_keyword,uint8_t chan_reserved,uint8_t chan_reserved1,uint8_t chan_reserved2) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN]; + _mav_put_int16_t(buf, 0, chan_elevtor); + _mav_put_int16_t(buf, 2, chan_rudder); + _mav_put_int16_t(buf, 4, chan_ailron); + _mav_put_int16_t(buf, 6, chan_throttle); + _mav_put_uint8_t(buf, 8, target_system); + _mav_put_uint8_t(buf, 9, taret_component); + _mav_put_uint8_t(buf, 10, command_word); + _mav_put_uint8_t(buf, 11, chan_onoff); + _mav_put_uint8_t(buf, 12, chan_keyword); + _mav_put_uint8_t(buf, 13, chan_reserved); + _mav_put_uint8_t(buf, 14, chan_reserved1); + _mav_put_uint8_t(buf, 15, chan_reserved2); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN); +#else + mavlink_xyk_cmd_rc_channels_t packet; + packet.chan_elevtor = chan_elevtor; + packet.chan_rudder = chan_rudder; + packet.chan_ailron = chan_ailron; + packet.chan_throttle = chan_throttle; + packet.target_system = target_system; + packet.taret_component = taret_component; + packet.command_word = command_word; + packet.chan_onoff = chan_onoff; + packet.chan_keyword = chan_keyword; + packet.chan_reserved = chan_reserved; + packet.chan_reserved1 = chan_reserved1; + packet.chan_reserved2 = chan_reserved2; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC); +} + +/** + * @brief Encode a xyk_cmd_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 xyk_cmd_rc_channels C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_cmd_rc_channels_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_cmd_rc_channels_t* xyk_cmd_rc_channels) +{ + return mavlink_msg_xyk_cmd_rc_channels_pack(system_id, component_id, msg, xyk_cmd_rc_channels->target_system, xyk_cmd_rc_channels->taret_component, xyk_cmd_rc_channels->command_word, xyk_cmd_rc_channels->chan_elevtor, xyk_cmd_rc_channels->chan_rudder, xyk_cmd_rc_channels->chan_ailron, xyk_cmd_rc_channels->chan_throttle, xyk_cmd_rc_channels->chan_onoff, xyk_cmd_rc_channels->chan_keyword, xyk_cmd_rc_channels->chan_reserved, xyk_cmd_rc_channels->chan_reserved1, xyk_cmd_rc_channels->chan_reserved2); +} + +/** + * @brief Encode a xyk_cmd_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 xyk_cmd_rc_channels C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_cmd_rc_channels_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_cmd_rc_channels_t* xyk_cmd_rc_channels) +{ + return mavlink_msg_xyk_cmd_rc_channels_pack_chan(system_id, component_id, chan, msg, xyk_cmd_rc_channels->target_system, xyk_cmd_rc_channels->taret_component, xyk_cmd_rc_channels->command_word, xyk_cmd_rc_channels->chan_elevtor, xyk_cmd_rc_channels->chan_rudder, xyk_cmd_rc_channels->chan_ailron, xyk_cmd_rc_channels->chan_throttle, xyk_cmd_rc_channels->chan_onoff, xyk_cmd_rc_channels->chan_keyword, xyk_cmd_rc_channels->chan_reserved, xyk_cmd_rc_channels->chan_reserved1, xyk_cmd_rc_channels->chan_reserved2); +} + +/** + * @brief Send a xyk_cmd_rc_channels message + * @param chan MAVLink channel to send the message + * + * @param target_system PLANE ID + * @param taret_component Component ID + * @param command_word command_word + * @param chan_elevtor RC chan_elevtor,0.1%,-1000~1000 + * @param chan_rudder RC chan_rudder,0.1%,-1000~1000 + * @param chan_ailron RC chan_ailron,0.1%,-1000~1000 + * @param chan_throttle RC chan_throttle,0.1%,0~2000 + * @param chan_onoff RC control word of on-off state ,bit0~bit3 corresponding to switch4~switch1, + * @param chan_keyword RC control word of keyword state ,bit0~bit3 corresponding to key4~key1 + * @param chan_reserved RC channel reserved + * @param chan_reserved1 RC channel reserved + * @param chan_reserved2 RC channel reserved + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_cmd_rc_channels_send(mavlink_channel_t chan, uint8_t target_system, uint8_t taret_component, uint8_t command_word, int16_t chan_elevtor, int16_t chan_rudder, int16_t chan_ailron, int16_t chan_throttle, uint8_t chan_onoff, uint8_t chan_keyword, uint8_t chan_reserved, uint8_t chan_reserved1, uint8_t chan_reserved2) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN]; + _mav_put_int16_t(buf, 0, chan_elevtor); + _mav_put_int16_t(buf, 2, chan_rudder); + _mav_put_int16_t(buf, 4, chan_ailron); + _mav_put_int16_t(buf, 6, chan_throttle); + _mav_put_uint8_t(buf, 8, target_system); + _mav_put_uint8_t(buf, 9, taret_component); + _mav_put_uint8_t(buf, 10, command_word); + _mav_put_uint8_t(buf, 11, chan_onoff); + _mav_put_uint8_t(buf, 12, chan_keyword); + _mav_put_uint8_t(buf, 13, chan_reserved); + _mav_put_uint8_t(buf, 14, chan_reserved1); + _mav_put_uint8_t(buf, 15, chan_reserved2); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS, buf, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC); +#else + mavlink_xyk_cmd_rc_channels_t packet; + packet.chan_elevtor = chan_elevtor; + packet.chan_rudder = chan_rudder; + packet.chan_ailron = chan_ailron; + packet.chan_throttle = chan_throttle; + packet.target_system = target_system; + packet.taret_component = taret_component; + packet.command_word = command_word; + packet.chan_onoff = chan_onoff; + packet.chan_keyword = chan_keyword; + packet.chan_reserved = chan_reserved; + packet.chan_reserved1 = chan_reserved1; + packet.chan_reserved2 = chan_reserved2; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS, (const char *)&packet, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC); +#endif +} + +/** + * @brief Send a xyk_cmd_rc_channels message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_cmd_rc_channels_send_struct(mavlink_channel_t chan, const mavlink_xyk_cmd_rc_channels_t* xyk_cmd_rc_channels) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_cmd_rc_channels_send(chan, xyk_cmd_rc_channels->target_system, xyk_cmd_rc_channels->taret_component, xyk_cmd_rc_channels->command_word, xyk_cmd_rc_channels->chan_elevtor, xyk_cmd_rc_channels->chan_rudder, xyk_cmd_rc_channels->chan_ailron, xyk_cmd_rc_channels->chan_throttle, xyk_cmd_rc_channels->chan_onoff, xyk_cmd_rc_channels->chan_keyword, xyk_cmd_rc_channels->chan_reserved, xyk_cmd_rc_channels->chan_reserved1, xyk_cmd_rc_channels->chan_reserved2); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS, (const char *)xyk_cmd_rc_channels, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_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_xyk_cmd_rc_channels_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t target_system, uint8_t taret_component, uint8_t command_word, int16_t chan_elevtor, int16_t chan_rudder, int16_t chan_ailron, int16_t chan_throttle, uint8_t chan_onoff, uint8_t chan_keyword, uint8_t chan_reserved, uint8_t chan_reserved1, uint8_t chan_reserved2) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_int16_t(buf, 0, chan_elevtor); + _mav_put_int16_t(buf, 2, chan_rudder); + _mav_put_int16_t(buf, 4, chan_ailron); + _mav_put_int16_t(buf, 6, chan_throttle); + _mav_put_uint8_t(buf, 8, target_system); + _mav_put_uint8_t(buf, 9, taret_component); + _mav_put_uint8_t(buf, 10, command_word); + _mav_put_uint8_t(buf, 11, chan_onoff); + _mav_put_uint8_t(buf, 12, chan_keyword); + _mav_put_uint8_t(buf, 13, chan_reserved); + _mav_put_uint8_t(buf, 14, chan_reserved1); + _mav_put_uint8_t(buf, 15, chan_reserved2); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS, buf, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC); +#else + mavlink_xyk_cmd_rc_channels_t *packet = (mavlink_xyk_cmd_rc_channels_t *)msgbuf; + packet->chan_elevtor = chan_elevtor; + packet->chan_rudder = chan_rudder; + packet->chan_ailron = chan_ailron; + packet->chan_throttle = chan_throttle; + packet->target_system = target_system; + packet->taret_component = taret_component; + packet->command_word = command_word; + packet->chan_onoff = chan_onoff; + packet->chan_keyword = chan_keyword; + packet->chan_reserved = chan_reserved; + packet->chan_reserved1 = chan_reserved1; + packet->chan_reserved2 = chan_reserved2; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS, (const char *)packet, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_CMD_RC_CHANNELS UNPACKING + + +/** + * @brief Get field target_system from xyk_cmd_rc_channels message + * + * @return PLANE ID + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_target_system(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 8); +} + +/** + * @brief Get field taret_component from xyk_cmd_rc_channels message + * + * @return Component ID + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_taret_component(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 9); +} + +/** + * @brief Get field command_word from xyk_cmd_rc_channels message + * + * @return command_word + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_command_word(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 10); +} + +/** + * @brief Get field chan_elevtor from xyk_cmd_rc_channels message + * + * @return RC chan_elevtor,0.1%,-1000~1000 + */ +static inline int16_t mavlink_msg_xyk_cmd_rc_channels_get_chan_elevtor(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 0); +} + +/** + * @brief Get field chan_rudder from xyk_cmd_rc_channels message + * + * @return RC chan_rudder,0.1%,-1000~1000 + */ +static inline int16_t mavlink_msg_xyk_cmd_rc_channels_get_chan_rudder(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 2); +} + +/** + * @brief Get field chan_ailron from xyk_cmd_rc_channels message + * + * @return RC chan_ailron,0.1%,-1000~1000 + */ +static inline int16_t mavlink_msg_xyk_cmd_rc_channels_get_chan_ailron(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 4); +} + +/** + * @brief Get field chan_throttle from xyk_cmd_rc_channels message + * + * @return RC chan_throttle,0.1%,0~2000 + */ +static inline int16_t mavlink_msg_xyk_cmd_rc_channels_get_chan_throttle(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 6); +} + +/** + * @brief Get field chan_onoff from xyk_cmd_rc_channels message + * + * @return RC control word of on-off state ,bit0~bit3 corresponding to switch4~switch1, + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_chan_onoff(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 11); +} + +/** + * @brief Get field chan_keyword from xyk_cmd_rc_channels message + * + * @return RC control word of keyword state ,bit0~bit3 corresponding to key4~key1 + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_chan_keyword(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 12); +} + +/** + * @brief Get field chan_reserved from xyk_cmd_rc_channels message + * + * @return RC channel reserved + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_chan_reserved(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 13); +} + +/** + * @brief Get field chan_reserved1 from xyk_cmd_rc_channels message + * + * @return RC channel reserved + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_chan_reserved1(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 14); +} + +/** + * @brief Get field chan_reserved2 from xyk_cmd_rc_channels message + * + * @return RC channel reserved + */ +static inline uint8_t mavlink_msg_xyk_cmd_rc_channels_get_chan_reserved2(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 15); +} + +/** + * @brief Decode a xyk_cmd_rc_channels message into a struct + * + * @param msg The message to decode + * @param xyk_cmd_rc_channels C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_cmd_rc_channels_decode(const mavlink_message_t* msg, mavlink_xyk_cmd_rc_channels_t* xyk_cmd_rc_channels) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_cmd_rc_channels->chan_elevtor = mavlink_msg_xyk_cmd_rc_channels_get_chan_elevtor(msg); + xyk_cmd_rc_channels->chan_rudder = mavlink_msg_xyk_cmd_rc_channels_get_chan_rudder(msg); + xyk_cmd_rc_channels->chan_ailron = mavlink_msg_xyk_cmd_rc_channels_get_chan_ailron(msg); + xyk_cmd_rc_channels->chan_throttle = mavlink_msg_xyk_cmd_rc_channels_get_chan_throttle(msg); + xyk_cmd_rc_channels->target_system = mavlink_msg_xyk_cmd_rc_channels_get_target_system(msg); + xyk_cmd_rc_channels->taret_component = mavlink_msg_xyk_cmd_rc_channels_get_taret_component(msg); + xyk_cmd_rc_channels->command_word = mavlink_msg_xyk_cmd_rc_channels_get_command_word(msg); + xyk_cmd_rc_channels->chan_onoff = mavlink_msg_xyk_cmd_rc_channels_get_chan_onoff(msg); + xyk_cmd_rc_channels->chan_keyword = mavlink_msg_xyk_cmd_rc_channels_get_chan_keyword(msg); + xyk_cmd_rc_channels->chan_reserved = mavlink_msg_xyk_cmd_rc_channels_get_chan_reserved(msg); + xyk_cmd_rc_channels->chan_reserved1 = mavlink_msg_xyk_cmd_rc_channels_get_chan_reserved1(msg); + xyk_cmd_rc_channels->chan_reserved2 = mavlink_msg_xyk_cmd_rc_channels_get_chan_reserved2(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN? msg->len : MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN; + memset(xyk_cmd_rc_channels, 0, MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_LEN); + memcpy(xyk_cmd_rc_channels, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_command_ack.h b/XYK/mavlink_msg_xyk_command_ack.h new file mode 100644 index 0000000..7ac538d --- /dev/null +++ b/XYK/mavlink_msg_xyk_command_ack.h @@ -0,0 +1,238 @@ +#pragma once +// MESSAGE XYK_COMMAND_ACK PACKING + +#define MAVLINK_MSG_ID_XYK_COMMAND_ACK 30011 + +MAVPACKED( +typedef struct __mavlink_xyk_command_ack_t { + uint8_t XYK_PLANE_ID; /*< PLANE ID .*/ + uint8_t REQ_satus; /*< satus */ +}) mavlink_xyk_command_ack_t; + +#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN 2 +#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN 2 +#define MAVLINK_MSG_ID_30011_LEN 2 +#define MAVLINK_MSG_ID_30011_MIN_LEN 2 + +#define MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC 78 +#define MAVLINK_MSG_ID_30011_CRC 78 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_ACK { \ + 30011, \ + "XYK_COMMAND_ACK", \ + 2, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_command_ack_t, XYK_PLANE_ID) }, \ + { "REQ_satus", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_command_ack_t, REQ_satus) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_ACK { \ + "XYK_COMMAND_ACK", \ + 2, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_command_ack_t, XYK_PLANE_ID) }, \ + { "REQ_satus", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_command_ack_t, REQ_satus) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_command_ack 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 XYK_PLANE_ID PLANE ID . + * @param REQ_satus satus + * @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 XYK_PLANE_ID, uint8_t REQ_satus) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, REQ_satus); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN); +#else + mavlink_xyk_command_ack_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.REQ_satus = REQ_satus; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_COMMAND_ACK; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC); +} + +/** + * @brief Pack a xyk_command_ack 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 XYK_PLANE_ID PLANE ID . + * @param REQ_satus satus + * @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 XYK_PLANE_ID,uint8_t REQ_satus) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, REQ_satus); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN); +#else + mavlink_xyk_command_ack_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.REQ_satus = REQ_satus; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_COMMAND_ACK; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_ACK_CRC); +} + +/** + * @brief Encode a xyk_command_ack 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_command_ack C-struct to read the message contents from + */ +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->XYK_PLANE_ID, xyk_command_ack->REQ_satus); +} + +/** + * @brief Encode a xyk_command_ack 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_command_ack C-struct to read the message contents from + */ +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->XYK_PLANE_ID, xyk_command_ack->REQ_satus); +} + +/** + * @brief Send a xyk_command_ack message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID PLANE ID . + * @param REQ_satus satus + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_command_ack_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t REQ_satus) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, REQ_satus); + + _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.XYK_PLANE_ID = XYK_PLANE_ID; + packet.REQ_satus = REQ_satus; + + _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); +#endif +} + +/** + * @brief Send a xyk_command_ack message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +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->XYK_PLANE_ID, xyk_command_ack->REQ_satus); +#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 +} + +#if MAVLINK_MSG_ID_XYK_COMMAND_ACK_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_xyk_command_ack_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t REQ_satus) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, REQ_satus); + + _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->XYK_PLANE_ID = XYK_PLANE_ID; + packet->REQ_satus = REQ_satus; + + _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); +#endif +} +#endif + +#endif + +// MESSAGE XYK_COMMAND_ACK UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_command_ack message + * + * @return PLANE ID . + */ +static inline uint8_t mavlink_msg_xyk_command_ack_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 0); +} + +/** + * @brief Get field REQ_satus from xyk_command_ack message + * + * @return satus + */ +static inline uint8_t mavlink_msg_xyk_command_ack_get_REQ_satus(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 1); +} + +/** + * @brief Decode a xyk_command_ack message into a struct + * + * @param msg The message to decode + * @param xyk_command_ack C-struct to decode the message contents into + */ +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->XYK_PLANE_ID = mavlink_msg_xyk_command_ack_get_XYK_PLANE_ID(msg); + xyk_command_ack->REQ_satus = mavlink_msg_xyk_command_ack_get_REQ_satus(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN? msg->len : MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN; + memset(xyk_command_ack, 0, MAVLINK_MSG_ID_XYK_COMMAND_ACK_LEN); + memcpy(xyk_command_ack, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_command_grd_check.h b/XYK/mavlink_msg_xyk_command_grd_check.h new file mode 100644 index 0000000..c791893 --- /dev/null +++ b/XYK/mavlink_msg_xyk_command_grd_check.h @@ -0,0 +1,288 @@ +#pragma once +// MESSAGE XYK_COMMAND_GRD_CHECK PACKING + +#define MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK 30013 + +MAVPACKED( +typedef struct __mavlink_xyk_command_grd_check_t { + uint8_t target_system; /*< System which should execute the command*/ + uint8_t command; /*< Command ID (of command to send).*/ + uint8_t sevo_id; /*< percentage of out put (of ap)*/ + uint8_t cmd_value; /*< percentage of out put (of ap)*/ +}) mavlink_xyk_command_grd_check_t; + +#define MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN 4 +#define MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN 4 +#define MAVLINK_MSG_ID_30013_LEN 4 +#define MAVLINK_MSG_ID_30013_MIN_LEN 4 + +#define MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC 28 +#define MAVLINK_MSG_ID_30013_CRC 28 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_GRD_CHECK { \ + 30013, \ + "XYK_COMMAND_GRD_CHECK", \ + 4, \ + { { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_command_grd_check_t, target_system) }, \ + { "command", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_command_grd_check_t, command) }, \ + { "sevo_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_command_grd_check_t, sevo_id) }, \ + { "cmd_value", NULL, MAVLINK_TYPE_UINT8_T, 0, 3, offsetof(mavlink_xyk_command_grd_check_t, cmd_value) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_GRD_CHECK { \ + "XYK_COMMAND_GRD_CHECK", \ + 4, \ + { { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_command_grd_check_t, target_system) }, \ + { "command", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_command_grd_check_t, command) }, \ + { "sevo_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_command_grd_check_t, sevo_id) }, \ + { "cmd_value", NULL, MAVLINK_TYPE_UINT8_T, 0, 3, offsetof(mavlink_xyk_command_grd_check_t, cmd_value) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_command_grd_check 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 which should execute the command + * @param command Command ID (of command to send). + * @param sevo_id percentage of out put (of ap) + * @param cmd_value percentage of out put (of ap) + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_command_grd_check_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t target_system, uint8_t command, uint8_t sevo_id, uint8_t cmd_value) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN]; + _mav_put_uint8_t(buf, 0, target_system); + _mav_put_uint8_t(buf, 1, command); + _mav_put_uint8_t(buf, 2, sevo_id); + _mav_put_uint8_t(buf, 3, cmd_value); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN); +#else + mavlink_xyk_command_grd_check_t packet; + packet.target_system = target_system; + packet.command = command; + packet.sevo_id = sevo_id; + packet.cmd_value = cmd_value; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC); +} + +/** + * @brief Pack a xyk_command_grd_check 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 which should execute the command + * @param command Command ID (of command to send). + * @param sevo_id percentage of out put (of ap) + * @param cmd_value percentage of out put (of ap) + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_command_grd_check_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t target_system,uint8_t command,uint8_t sevo_id,uint8_t cmd_value) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN]; + _mav_put_uint8_t(buf, 0, target_system); + _mav_put_uint8_t(buf, 1, command); + _mav_put_uint8_t(buf, 2, sevo_id); + _mav_put_uint8_t(buf, 3, cmd_value); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN); +#else + mavlink_xyk_command_grd_check_t packet; + packet.target_system = target_system; + packet.command = command; + packet.sevo_id = sevo_id; + packet.cmd_value = cmd_value; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC); +} + +/** + * @brief Encode a xyk_command_grd_check 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_command_grd_check C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_command_grd_check_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_command_grd_check_t* xyk_command_grd_check) +{ + return mavlink_msg_xyk_command_grd_check_pack(system_id, component_id, msg, xyk_command_grd_check->target_system, xyk_command_grd_check->command, xyk_command_grd_check->sevo_id, xyk_command_grd_check->cmd_value); +} + +/** + * @brief Encode a xyk_command_grd_check 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_command_grd_check C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_command_grd_check_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_command_grd_check_t* xyk_command_grd_check) +{ + return mavlink_msg_xyk_command_grd_check_pack_chan(system_id, component_id, chan, msg, xyk_command_grd_check->target_system, xyk_command_grd_check->command, xyk_command_grd_check->sevo_id, xyk_command_grd_check->cmd_value); +} + +/** + * @brief Send a xyk_command_grd_check message + * @param chan MAVLink channel to send the message + * + * @param target_system System which should execute the command + * @param command Command ID (of command to send). + * @param sevo_id percentage of out put (of ap) + * @param cmd_value percentage of out put (of ap) + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_command_grd_check_send(mavlink_channel_t chan, uint8_t target_system, uint8_t command, uint8_t sevo_id, uint8_t cmd_value) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN]; + _mav_put_uint8_t(buf, 0, target_system); + _mav_put_uint8_t(buf, 1, command); + _mav_put_uint8_t(buf, 2, sevo_id); + _mav_put_uint8_t(buf, 3, cmd_value); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK, buf, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC); +#else + mavlink_xyk_command_grd_check_t packet; + packet.target_system = target_system; + packet.command = command; + packet.sevo_id = sevo_id; + packet.cmd_value = cmd_value; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK, (const char *)&packet, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC); +#endif +} + +/** + * @brief Send a xyk_command_grd_check message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_command_grd_check_send_struct(mavlink_channel_t chan, const mavlink_xyk_command_grd_check_t* xyk_command_grd_check) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_command_grd_check_send(chan, xyk_command_grd_check->target_system, xyk_command_grd_check->command, xyk_command_grd_check->sevo_id, xyk_command_grd_check->cmd_value); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK, (const char *)xyk_command_grd_check, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_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_xyk_command_grd_check_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t target_system, uint8_t command, uint8_t sevo_id, uint8_t cmd_value) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint8_t(buf, 0, target_system); + _mav_put_uint8_t(buf, 1, command); + _mav_put_uint8_t(buf, 2, sevo_id); + _mav_put_uint8_t(buf, 3, cmd_value); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK, buf, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC); +#else + mavlink_xyk_command_grd_check_t *packet = (mavlink_xyk_command_grd_check_t *)msgbuf; + packet->target_system = target_system; + packet->command = command; + packet->sevo_id = sevo_id; + packet->cmd_value = cmd_value; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK, (const char *)packet, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_COMMAND_GRD_CHECK UNPACKING + + +/** + * @brief Get field target_system from xyk_command_grd_check message + * + * @return System which should execute the command + */ +static inline uint8_t mavlink_msg_xyk_command_grd_check_get_target_system(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 0); +} + +/** + * @brief Get field command from xyk_command_grd_check message + * + * @return Command ID (of command to send). + */ +static inline uint8_t mavlink_msg_xyk_command_grd_check_get_command(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 1); +} + +/** + * @brief Get field sevo_id from xyk_command_grd_check message + * + * @return percentage of out put (of ap) + */ +static inline uint8_t mavlink_msg_xyk_command_grd_check_get_sevo_id(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 2); +} + +/** + * @brief Get field cmd_value from xyk_command_grd_check message + * + * @return percentage of out put (of ap) + */ +static inline uint8_t mavlink_msg_xyk_command_grd_check_get_cmd_value(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 3); +} + +/** + * @brief Decode a xyk_command_grd_check message into a struct + * + * @param msg The message to decode + * @param xyk_command_grd_check C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_command_grd_check_decode(const mavlink_message_t* msg, mavlink_xyk_command_grd_check_t* xyk_command_grd_check) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_command_grd_check->target_system = mavlink_msg_xyk_command_grd_check_get_target_system(msg); + xyk_command_grd_check->command = mavlink_msg_xyk_command_grd_check_get_command(msg); + xyk_command_grd_check->sevo_id = mavlink_msg_xyk_command_grd_check_get_sevo_id(msg); + xyk_command_grd_check->cmd_value = mavlink_msg_xyk_command_grd_check_get_cmd_value(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN? msg->len : MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN; + memset(xyk_command_grd_check, 0, MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_LEN); + memcpy(xyk_command_grd_check, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_command_long.h b/XYK/mavlink_msg_xyk_command_long.h new file mode 100644 index 0000000..ae63175 --- /dev/null +++ b/XYK/mavlink_msg_xyk_command_long.h @@ -0,0 +1,438 @@ +#pragma once +// MESSAGE XYK_COMMAND_LONG PACKING + +#define MAVLINK_MSG_ID_XYK_COMMAND_LONG 30012 + +MAVPACKED( +typedef struct __mavlink_xyk_command_long_t { + int32_t param5; /*< Parameter 5 (for the specific command).*/ + int32_t param6; /*< Parameter 6 (for the specific command).*/ + uint16_t command; /*< Command ID (of command to send).*/ + int16_t param1; /*< Parameter 1 (for the specific command).*/ + int16_t param2; /*< Parameter 2 (for the specific command).*/ + int16_t param3; /*< Parameter 3 (for the specific command).*/ + int16_t param4; /*< Parameter 4 (for the specific command).*/ + int16_t param7; /*< Parameter 7 (for the specific command).*/ + uint8_t plane_id; /*< plane/fcs which should execute the command*/ + uint8_t confirmation; /*< 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)*/ +}) mavlink_xyk_command_long_t; + +#define MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN 22 +#define MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN 22 +#define MAVLINK_MSG_ID_30012_LEN 22 +#define MAVLINK_MSG_ID_30012_MIN_LEN 22 + +#define MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC 165 +#define MAVLINK_MSG_ID_30012_CRC 165 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_LONG { \ + 30012, \ + "XYK_COMMAND_LONG", \ + 10, \ + { { "plane_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_command_long_t, plane_id) }, \ + { "command", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_xyk_command_long_t, command) }, \ + { "confirmation", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_xyk_command_long_t, confirmation) }, \ + { "param1", NULL, MAVLINK_TYPE_INT16_T, 0, 10, offsetof(mavlink_xyk_command_long_t, param1) }, \ + { "param2", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_command_long_t, param2) }, \ + { "param3", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_xyk_command_long_t, param3) }, \ + { "param4", NULL, MAVLINK_TYPE_INT16_T, 0, 16, offsetof(mavlink_xyk_command_long_t, param4) }, \ + { "param5", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_command_long_t, param5) }, \ + { "param6", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_xyk_command_long_t, param6) }, \ + { "param7", NULL, MAVLINK_TYPE_INT16_T, 0, 18, offsetof(mavlink_xyk_command_long_t, param7) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_COMMAND_LONG { \ + "XYK_COMMAND_LONG", \ + 10, \ + { { "plane_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_command_long_t, plane_id) }, \ + { "command", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_xyk_command_long_t, command) }, \ + { "confirmation", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_xyk_command_long_t, confirmation) }, \ + { "param1", NULL, MAVLINK_TYPE_INT16_T, 0, 10, offsetof(mavlink_xyk_command_long_t, param1) }, \ + { "param2", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_command_long_t, param2) }, \ + { "param3", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_xyk_command_long_t, param3) }, \ + { "param4", NULL, MAVLINK_TYPE_INT16_T, 0, 16, offsetof(mavlink_xyk_command_long_t, param4) }, \ + { "param5", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_command_long_t, param5) }, \ + { "param6", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_xyk_command_long_t, param6) }, \ + { "param7", NULL, MAVLINK_TYPE_INT16_T, 0, 18, offsetof(mavlink_xyk_command_long_t, param7) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_command_long 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 plane/fcs which should execute the command + * @param command Command ID (of command to send). + * @param confirmation 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) + * @param param1 Parameter 1 (for the specific command). + * @param param2 Parameter 2 (for the specific command). + * @param param3 Parameter 3 (for the specific command). + * @param param4 Parameter 4 (for the specific command). + * @param param5 Parameter 5 (for the specific command). + * @param param6 Parameter 6 (for the specific command). + * @param param7 Parameter 7 (for the specific command). + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_command_long_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t plane_id, uint16_t command, uint8_t confirmation, int16_t param1, int16_t param2, int16_t param3, int16_t param4, int32_t param5, int32_t param6, int16_t param7) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN]; + _mav_put_int32_t(buf, 0, param5); + _mav_put_int32_t(buf, 4, param6); + _mav_put_uint16_t(buf, 8, command); + _mav_put_int16_t(buf, 10, param1); + _mav_put_int16_t(buf, 12, param2); + _mav_put_int16_t(buf, 14, param3); + _mav_put_int16_t(buf, 16, param4); + _mav_put_int16_t(buf, 18, param7); + _mav_put_uint8_t(buf, 20, plane_id); + _mav_put_uint8_t(buf, 21, confirmation); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN); +#else + mavlink_xyk_command_long_t packet; + packet.param5 = param5; + packet.param6 = param6; + packet.command = command; + packet.param1 = param1; + packet.param2 = param2; + packet.param3 = param3; + packet.param4 = param4; + packet.param7 = param7; + packet.plane_id = plane_id; + packet.confirmation = confirmation; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_COMMAND_LONG; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC); +} + +/** + * @brief Pack a xyk_command_long 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 plane/fcs which should execute the command + * @param command Command ID (of command to send). + * @param confirmation 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) + * @param param1 Parameter 1 (for the specific command). + * @param param2 Parameter 2 (for the specific command). + * @param param3 Parameter 3 (for the specific command). + * @param param4 Parameter 4 (for the specific command). + * @param param5 Parameter 5 (for the specific command). + * @param param6 Parameter 6 (for the specific command). + * @param param7 Parameter 7 (for the specific command). + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_command_long_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t plane_id,uint16_t command,uint8_t confirmation,int16_t param1,int16_t param2,int16_t param3,int16_t param4,int32_t param5,int32_t param6,int16_t param7) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN]; + _mav_put_int32_t(buf, 0, param5); + _mav_put_int32_t(buf, 4, param6); + _mav_put_uint16_t(buf, 8, command); + _mav_put_int16_t(buf, 10, param1); + _mav_put_int16_t(buf, 12, param2); + _mav_put_int16_t(buf, 14, param3); + _mav_put_int16_t(buf, 16, param4); + _mav_put_int16_t(buf, 18, param7); + _mav_put_uint8_t(buf, 20, plane_id); + _mav_put_uint8_t(buf, 21, confirmation); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN); +#else + mavlink_xyk_command_long_t packet; + packet.param5 = param5; + packet.param6 = param6; + packet.command = command; + packet.param1 = param1; + packet.param2 = param2; + packet.param3 = param3; + packet.param4 = param4; + packet.param7 = param7; + packet.plane_id = plane_id; + packet.confirmation = confirmation; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_COMMAND_LONG; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC); +} + +/** + * @brief Encode a xyk_command_long 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_command_long C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_command_long_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_command_long_t* xyk_command_long) +{ + return mavlink_msg_xyk_command_long_pack(system_id, component_id, msg, xyk_command_long->plane_id, xyk_command_long->command, xyk_command_long->confirmation, xyk_command_long->param1, xyk_command_long->param2, xyk_command_long->param3, xyk_command_long->param4, xyk_command_long->param5, xyk_command_long->param6, xyk_command_long->param7); +} + +/** + * @brief Encode a xyk_command_long 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_command_long C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_command_long_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_command_long_t* xyk_command_long) +{ + return mavlink_msg_xyk_command_long_pack_chan(system_id, component_id, chan, msg, xyk_command_long->plane_id, xyk_command_long->command, xyk_command_long->confirmation, xyk_command_long->param1, xyk_command_long->param2, xyk_command_long->param3, xyk_command_long->param4, xyk_command_long->param5, xyk_command_long->param6, xyk_command_long->param7); +} + +/** + * @brief Send a xyk_command_long message + * @param chan MAVLink channel to send the message + * + * @param plane_id plane/fcs which should execute the command + * @param command Command ID (of command to send). + * @param confirmation 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) + * @param param1 Parameter 1 (for the specific command). + * @param param2 Parameter 2 (for the specific command). + * @param param3 Parameter 3 (for the specific command). + * @param param4 Parameter 4 (for the specific command). + * @param param5 Parameter 5 (for the specific command). + * @param param6 Parameter 6 (for the specific command). + * @param param7 Parameter 7 (for the specific command). + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_command_long_send(mavlink_channel_t chan, uint8_t plane_id, uint16_t command, uint8_t confirmation, int16_t param1, int16_t param2, int16_t param3, int16_t param4, int32_t param5, int32_t param6, int16_t param7) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN]; + _mav_put_int32_t(buf, 0, param5); + _mav_put_int32_t(buf, 4, param6); + _mav_put_uint16_t(buf, 8, command); + _mav_put_int16_t(buf, 10, param1); + _mav_put_int16_t(buf, 12, param2); + _mav_put_int16_t(buf, 14, param3); + _mav_put_int16_t(buf, 16, param4); + _mav_put_int16_t(buf, 18, param7); + _mav_put_uint8_t(buf, 20, plane_id); + _mav_put_uint8_t(buf, 21, confirmation); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_LONG, buf, MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC); +#else + mavlink_xyk_command_long_t packet; + packet.param5 = param5; + packet.param6 = param6; + packet.command = command; + packet.param1 = param1; + packet.param2 = param2; + packet.param3 = param3; + packet.param4 = param4; + packet.param7 = param7; + packet.plane_id = plane_id; + packet.confirmation = confirmation; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_LONG, (const char *)&packet, MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC); +#endif +} + +/** + * @brief Send a xyk_command_long message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_command_long_send_struct(mavlink_channel_t chan, const mavlink_xyk_command_long_t* xyk_command_long) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_command_long_send(chan, xyk_command_long->plane_id, xyk_command_long->command, xyk_command_long->confirmation, xyk_command_long->param1, xyk_command_long->param2, xyk_command_long->param3, xyk_command_long->param4, xyk_command_long->param5, xyk_command_long->param6, xyk_command_long->param7); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_LONG, (const char *)xyk_command_long, MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_COMMAND_LONG_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_xyk_command_long_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t plane_id, uint16_t command, uint8_t confirmation, int16_t param1, int16_t param2, int16_t param3, int16_t param4, int32_t param5, int32_t param6, int16_t param7) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_int32_t(buf, 0, param5); + _mav_put_int32_t(buf, 4, param6); + _mav_put_uint16_t(buf, 8, command); + _mav_put_int16_t(buf, 10, param1); + _mav_put_int16_t(buf, 12, param2); + _mav_put_int16_t(buf, 14, param3); + _mav_put_int16_t(buf, 16, param4); + _mav_put_int16_t(buf, 18, param7); + _mav_put_uint8_t(buf, 20, plane_id); + _mav_put_uint8_t(buf, 21, confirmation); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_LONG, buf, MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC); +#else + mavlink_xyk_command_long_t *packet = (mavlink_xyk_command_long_t *)msgbuf; + packet->param5 = param5; + packet->param6 = param6; + packet->command = command; + packet->param1 = param1; + packet->param2 = param2; + packet->param3 = param3; + packet->param4 = param4; + packet->param7 = param7; + packet->plane_id = plane_id; + packet->confirmation = confirmation; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_COMMAND_LONG, (const char *)packet, MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN, MAVLINK_MSG_ID_XYK_COMMAND_LONG_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_COMMAND_LONG UNPACKING + + +/** + * @brief Get field plane_id from xyk_command_long message + * + * @return plane/fcs which should execute the command + */ +static inline uint8_t mavlink_msg_xyk_command_long_get_plane_id(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 20); +} + +/** + * @brief Get field command from xyk_command_long message + * + * @return Command ID (of command to send). + */ +static inline uint16_t mavlink_msg_xyk_command_long_get_command(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 8); +} + +/** + * @brief Get field confirmation from xyk_command_long message + * + * @return 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) + */ +static inline uint8_t mavlink_msg_xyk_command_long_get_confirmation(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 21); +} + +/** + * @brief Get field param1 from xyk_command_long message + * + * @return Parameter 1 (for the specific command). + */ +static inline int16_t mavlink_msg_xyk_command_long_get_param1(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 10); +} + +/** + * @brief Get field param2 from xyk_command_long message + * + * @return Parameter 2 (for the specific command). + */ +static inline int16_t mavlink_msg_xyk_command_long_get_param2(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 12); +} + +/** + * @brief Get field param3 from xyk_command_long message + * + * @return Parameter 3 (for the specific command). + */ +static inline int16_t mavlink_msg_xyk_command_long_get_param3(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 14); +} + +/** + * @brief Get field param4 from xyk_command_long message + * + * @return Parameter 4 (for the specific command). + */ +static inline int16_t mavlink_msg_xyk_command_long_get_param4(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 16); +} + +/** + * @brief Get field param5 from xyk_command_long message + * + * @return Parameter 5 (for the specific command). + */ +static inline int32_t mavlink_msg_xyk_command_long_get_param5(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int32_t(msg, 0); +} + +/** + * @brief Get field param6 from xyk_command_long message + * + * @return Parameter 6 (for the specific command). + */ +static inline int32_t mavlink_msg_xyk_command_long_get_param6(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int32_t(msg, 4); +} + +/** + * @brief Get field param7 from xyk_command_long message + * + * @return Parameter 7 (for the specific command). + */ +static inline int16_t mavlink_msg_xyk_command_long_get_param7(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 18); +} + +/** + * @brief Decode a xyk_command_long message into a struct + * + * @param msg The message to decode + * @param xyk_command_long C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_command_long_decode(const mavlink_message_t* msg, mavlink_xyk_command_long_t* xyk_command_long) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_command_long->param5 = mavlink_msg_xyk_command_long_get_param5(msg); + xyk_command_long->param6 = mavlink_msg_xyk_command_long_get_param6(msg); + xyk_command_long->command = mavlink_msg_xyk_command_long_get_command(msg); + xyk_command_long->param1 = mavlink_msg_xyk_command_long_get_param1(msg); + xyk_command_long->param2 = mavlink_msg_xyk_command_long_get_param2(msg); + xyk_command_long->param3 = mavlink_msg_xyk_command_long_get_param3(msg); + xyk_command_long->param4 = mavlink_msg_xyk_command_long_get_param4(msg); + xyk_command_long->param7 = mavlink_msg_xyk_command_long_get_param7(msg); + xyk_command_long->plane_id = mavlink_msg_xyk_command_long_get_plane_id(msg); + xyk_command_long->confirmation = mavlink_msg_xyk_command_long_get_confirmation(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN? msg->len : MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN; + memset(xyk_command_long, 0, MAVLINK_MSG_ID_XYK_COMMAND_LONG_LEN); + memcpy(xyk_command_long, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_frame1_ap_to_gcs.h b/XYK/mavlink_msg_xyk_frame1_ap_to_gcs.h new file mode 100644 index 0000000..22bda76 --- /dev/null +++ b/XYK/mavlink_msg_xyk_frame1_ap_to_gcs.h @@ -0,0 +1,513 @@ +#pragma once +// MESSAGE XYK_FRAME1_AP_TO_GCS PACKING + +#define MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS 30001 + +MAVPACKED( +typedef struct __mavlink_xyk_frame1_ap_to_gcs_t { + int32_t XYK_DSR_ASL; /*< desire ASL. 0.01m [-50000,1000000]*/ + int16_t XYK_DSR_PITCH; /*< desire pitch angel. 0.1deg [-900,900]*/ + int16_t XYK_DSR_ROLL; /*< desire roll angel. 0.1deg [-900,900]*/ + int16_t XYK_DSR_YAW; /*< desire yaw angel.0.1deg [-1800,1800]*/ + int16_t XYK_CUR_PITCH; /*< crrent pitch. 0.1deg [-900,900]*/ + int16_t XYK_CUR_ROLL; /*< current roll. 0.1deg [-900,900]*/ + int16_t XYK_CUR_YAW; /*< current heading.[-1800,1800]*/ + uint16_t XYK_CUR_AGL; /*< Above ground lever.1m [0,10000] */ + uint8_t XYK_CUR_IAS; /*< identfied air speed. 1kph [0,256]*/ + uint8_t XYK_CUR_GS; /*< current ground speed. 1kph [0,256]*/ + uint8_t XYK_CUR_AS; /*< current air speed. 1kph [0,256]*/ + int8_t XYK_CUR_VS; /*< current vertical speed. 0.1m/s[-100,100] */ + int8_t XYK_DSR_VS; /*< DESIR VS 0.1m/s [-100,100]*/ +}) mavlink_xyk_frame1_ap_to_gcs_t; + +#define MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN 23 +#define MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN 23 +#define MAVLINK_MSG_ID_30001_LEN 23 +#define MAVLINK_MSG_ID_30001_MIN_LEN 23 + +#define MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC 210 +#define MAVLINK_MSG_ID_30001_CRC 210 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_FRAME1_AP_TO_GCS { \ + 30001, \ + "XYK_FRAME1_AP_TO_GCS", \ + 13, \ + { { "XYK_DSR_PITCH", NULL, MAVLINK_TYPE_INT16_T, 0, 4, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_PITCH) }, \ + { "XYK_DSR_ROLL", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_ROLL) }, \ + { "XYK_DSR_YAW", NULL, MAVLINK_TYPE_INT16_T, 0, 8, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_YAW) }, \ + { "XYK_DSR_ASL", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_ASL) }, \ + { "XYK_CUR_PITCH", NULL, MAVLINK_TYPE_INT16_T, 0, 10, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_PITCH) }, \ + { "XYK_CUR_ROLL", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_ROLL) }, \ + { "XYK_CUR_YAW", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_YAW) }, \ + { "XYK_CUR_AGL", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_AGL) }, \ + { "XYK_CUR_IAS", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_IAS) }, \ + { "XYK_CUR_GS", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_GS) }, \ + { "XYK_CUR_AS", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_AS) }, \ + { "XYK_CUR_VS", NULL, MAVLINK_TYPE_INT8_T, 0, 21, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_VS) }, \ + { "XYK_DSR_VS", NULL, MAVLINK_TYPE_INT8_T, 0, 22, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_VS) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_FRAME1_AP_TO_GCS { \ + "XYK_FRAME1_AP_TO_GCS", \ + 13, \ + { { "XYK_DSR_PITCH", NULL, MAVLINK_TYPE_INT16_T, 0, 4, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_PITCH) }, \ + { "XYK_DSR_ROLL", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_ROLL) }, \ + { "XYK_DSR_YAW", NULL, MAVLINK_TYPE_INT16_T, 0, 8, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_YAW) }, \ + { "XYK_DSR_ASL", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_ASL) }, \ + { "XYK_CUR_PITCH", NULL, MAVLINK_TYPE_INT16_T, 0, 10, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_PITCH) }, \ + { "XYK_CUR_ROLL", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_ROLL) }, \ + { "XYK_CUR_YAW", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_YAW) }, \ + { "XYK_CUR_AGL", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_AGL) }, \ + { "XYK_CUR_IAS", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_IAS) }, \ + { "XYK_CUR_GS", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_GS) }, \ + { "XYK_CUR_AS", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_AS) }, \ + { "XYK_CUR_VS", NULL, MAVLINK_TYPE_INT8_T, 0, 21, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_CUR_VS) }, \ + { "XYK_DSR_VS", NULL, MAVLINK_TYPE_INT8_T, 0, 22, offsetof(mavlink_xyk_frame1_ap_to_gcs_t, XYK_DSR_VS) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_frame1_ap_to_gcs 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 XYK_DSR_PITCH desire pitch angel. 0.1deg [-900,900] + * @param XYK_DSR_ROLL desire roll angel. 0.1deg [-900,900] + * @param XYK_DSR_YAW desire yaw angel.0.1deg [-1800,1800] + * @param XYK_DSR_ASL desire ASL. 0.01m [-50000,1000000] + * @param XYK_CUR_PITCH crrent pitch. 0.1deg [-900,900] + * @param XYK_CUR_ROLL current roll. 0.1deg [-900,900] + * @param XYK_CUR_YAW current heading.[-1800,1800] + * @param XYK_CUR_AGL Above ground lever.1m [0,10000] + * @param XYK_CUR_IAS identfied air speed. 1kph [0,256] + * @param XYK_CUR_GS current ground speed. 1kph [0,256] + * @param XYK_CUR_AS current air speed. 1kph [0,256] + * @param XYK_CUR_VS current vertical speed. 0.1m/s[-100,100] + * @param XYK_DSR_VS DESIR VS 0.1m/s [-100,100] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame1_ap_to_gcs_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + int16_t XYK_DSR_PITCH, int16_t XYK_DSR_ROLL, int16_t XYK_DSR_YAW, int32_t XYK_DSR_ASL, int16_t XYK_CUR_PITCH, int16_t XYK_CUR_ROLL, int16_t XYK_CUR_YAW, uint16_t XYK_CUR_AGL, uint8_t XYK_CUR_IAS, uint8_t XYK_CUR_GS, uint8_t XYK_CUR_AS, int8_t XYK_CUR_VS, int8_t XYK_DSR_VS) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN]; + _mav_put_int32_t(buf, 0, XYK_DSR_ASL); + _mav_put_int16_t(buf, 4, XYK_DSR_PITCH); + _mav_put_int16_t(buf, 6, XYK_DSR_ROLL); + _mav_put_int16_t(buf, 8, XYK_DSR_YAW); + _mav_put_int16_t(buf, 10, XYK_CUR_PITCH); + _mav_put_int16_t(buf, 12, XYK_CUR_ROLL); + _mav_put_int16_t(buf, 14, XYK_CUR_YAW); + _mav_put_uint16_t(buf, 16, XYK_CUR_AGL); + _mav_put_uint8_t(buf, 18, XYK_CUR_IAS); + _mav_put_uint8_t(buf, 19, XYK_CUR_GS); + _mav_put_uint8_t(buf, 20, XYK_CUR_AS); + _mav_put_int8_t(buf, 21, XYK_CUR_VS); + _mav_put_int8_t(buf, 22, XYK_DSR_VS); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame1_ap_to_gcs_t packet; + packet.XYK_DSR_ASL = XYK_DSR_ASL; + packet.XYK_DSR_PITCH = XYK_DSR_PITCH; + packet.XYK_DSR_ROLL = XYK_DSR_ROLL; + packet.XYK_DSR_YAW = XYK_DSR_YAW; + packet.XYK_CUR_PITCH = XYK_CUR_PITCH; + packet.XYK_CUR_ROLL = XYK_CUR_ROLL; + packet.XYK_CUR_YAW = XYK_CUR_YAW; + packet.XYK_CUR_AGL = XYK_CUR_AGL; + packet.XYK_CUR_IAS = XYK_CUR_IAS; + packet.XYK_CUR_GS = XYK_CUR_GS; + packet.XYK_CUR_AS = XYK_CUR_AS; + packet.XYK_CUR_VS = XYK_CUR_VS; + packet.XYK_DSR_VS = XYK_DSR_VS; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC); +} + +/** + * @brief Pack a xyk_frame1_ap_to_gcs 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 XYK_DSR_PITCH desire pitch angel. 0.1deg [-900,900] + * @param XYK_DSR_ROLL desire roll angel. 0.1deg [-900,900] + * @param XYK_DSR_YAW desire yaw angel.0.1deg [-1800,1800] + * @param XYK_DSR_ASL desire ASL. 0.01m [-50000,1000000] + * @param XYK_CUR_PITCH crrent pitch. 0.1deg [-900,900] + * @param XYK_CUR_ROLL current roll. 0.1deg [-900,900] + * @param XYK_CUR_YAW current heading.[-1800,1800] + * @param XYK_CUR_AGL Above ground lever.1m [0,10000] + * @param XYK_CUR_IAS identfied air speed. 1kph [0,256] + * @param XYK_CUR_GS current ground speed. 1kph [0,256] + * @param XYK_CUR_AS current air speed. 1kph [0,256] + * @param XYK_CUR_VS current vertical speed. 0.1m/s[-100,100] + * @param XYK_DSR_VS DESIR VS 0.1m/s [-100,100] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame1_ap_to_gcs_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + int16_t XYK_DSR_PITCH,int16_t XYK_DSR_ROLL,int16_t XYK_DSR_YAW,int32_t XYK_DSR_ASL,int16_t XYK_CUR_PITCH,int16_t XYK_CUR_ROLL,int16_t XYK_CUR_YAW,uint16_t XYK_CUR_AGL,uint8_t XYK_CUR_IAS,uint8_t XYK_CUR_GS,uint8_t XYK_CUR_AS,int8_t XYK_CUR_VS,int8_t XYK_DSR_VS) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN]; + _mav_put_int32_t(buf, 0, XYK_DSR_ASL); + _mav_put_int16_t(buf, 4, XYK_DSR_PITCH); + _mav_put_int16_t(buf, 6, XYK_DSR_ROLL); + _mav_put_int16_t(buf, 8, XYK_DSR_YAW); + _mav_put_int16_t(buf, 10, XYK_CUR_PITCH); + _mav_put_int16_t(buf, 12, XYK_CUR_ROLL); + _mav_put_int16_t(buf, 14, XYK_CUR_YAW); + _mav_put_uint16_t(buf, 16, XYK_CUR_AGL); + _mav_put_uint8_t(buf, 18, XYK_CUR_IAS); + _mav_put_uint8_t(buf, 19, XYK_CUR_GS); + _mav_put_uint8_t(buf, 20, XYK_CUR_AS); + _mav_put_int8_t(buf, 21, XYK_CUR_VS); + _mav_put_int8_t(buf, 22, XYK_DSR_VS); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame1_ap_to_gcs_t packet; + packet.XYK_DSR_ASL = XYK_DSR_ASL; + packet.XYK_DSR_PITCH = XYK_DSR_PITCH; + packet.XYK_DSR_ROLL = XYK_DSR_ROLL; + packet.XYK_DSR_YAW = XYK_DSR_YAW; + packet.XYK_CUR_PITCH = XYK_CUR_PITCH; + packet.XYK_CUR_ROLL = XYK_CUR_ROLL; + packet.XYK_CUR_YAW = XYK_CUR_YAW; + packet.XYK_CUR_AGL = XYK_CUR_AGL; + packet.XYK_CUR_IAS = XYK_CUR_IAS; + packet.XYK_CUR_GS = XYK_CUR_GS; + packet.XYK_CUR_AS = XYK_CUR_AS; + packet.XYK_CUR_VS = XYK_CUR_VS; + packet.XYK_DSR_VS = XYK_DSR_VS; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC); +} + +/** + * @brief Encode a xyk_frame1_ap_to_gcs 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_frame1_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame1_ap_to_gcs_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_frame1_ap_to_gcs_t* xyk_frame1_ap_to_gcs) +{ + return mavlink_msg_xyk_frame1_ap_to_gcs_pack(system_id, component_id, msg, xyk_frame1_ap_to_gcs->XYK_DSR_PITCH, xyk_frame1_ap_to_gcs->XYK_DSR_ROLL, xyk_frame1_ap_to_gcs->XYK_DSR_YAW, xyk_frame1_ap_to_gcs->XYK_DSR_ASL, xyk_frame1_ap_to_gcs->XYK_CUR_PITCH, xyk_frame1_ap_to_gcs->XYK_CUR_ROLL, xyk_frame1_ap_to_gcs->XYK_CUR_YAW, xyk_frame1_ap_to_gcs->XYK_CUR_AGL, xyk_frame1_ap_to_gcs->XYK_CUR_IAS, xyk_frame1_ap_to_gcs->XYK_CUR_GS, xyk_frame1_ap_to_gcs->XYK_CUR_AS, xyk_frame1_ap_to_gcs->XYK_CUR_VS, xyk_frame1_ap_to_gcs->XYK_DSR_VS); +} + +/** + * @brief Encode a xyk_frame1_ap_to_gcs 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_frame1_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame1_ap_to_gcs_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_frame1_ap_to_gcs_t* xyk_frame1_ap_to_gcs) +{ + return mavlink_msg_xyk_frame1_ap_to_gcs_pack_chan(system_id, component_id, chan, msg, xyk_frame1_ap_to_gcs->XYK_DSR_PITCH, xyk_frame1_ap_to_gcs->XYK_DSR_ROLL, xyk_frame1_ap_to_gcs->XYK_DSR_YAW, xyk_frame1_ap_to_gcs->XYK_DSR_ASL, xyk_frame1_ap_to_gcs->XYK_CUR_PITCH, xyk_frame1_ap_to_gcs->XYK_CUR_ROLL, xyk_frame1_ap_to_gcs->XYK_CUR_YAW, xyk_frame1_ap_to_gcs->XYK_CUR_AGL, xyk_frame1_ap_to_gcs->XYK_CUR_IAS, xyk_frame1_ap_to_gcs->XYK_CUR_GS, xyk_frame1_ap_to_gcs->XYK_CUR_AS, xyk_frame1_ap_to_gcs->XYK_CUR_VS, xyk_frame1_ap_to_gcs->XYK_DSR_VS); +} + +/** + * @brief Send a xyk_frame1_ap_to_gcs message + * @param chan MAVLink channel to send the message + * + * @param XYK_DSR_PITCH desire pitch angel. 0.1deg [-900,900] + * @param XYK_DSR_ROLL desire roll angel. 0.1deg [-900,900] + * @param XYK_DSR_YAW desire yaw angel.0.1deg [-1800,1800] + * @param XYK_DSR_ASL desire ASL. 0.01m [-50000,1000000] + * @param XYK_CUR_PITCH crrent pitch. 0.1deg [-900,900] + * @param XYK_CUR_ROLL current roll. 0.1deg [-900,900] + * @param XYK_CUR_YAW current heading.[-1800,1800] + * @param XYK_CUR_AGL Above ground lever.1m [0,10000] + * @param XYK_CUR_IAS identfied air speed. 1kph [0,256] + * @param XYK_CUR_GS current ground speed. 1kph [0,256] + * @param XYK_CUR_AS current air speed. 1kph [0,256] + * @param XYK_CUR_VS current vertical speed. 0.1m/s[-100,100] + * @param XYK_DSR_VS DESIR VS 0.1m/s [-100,100] + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_frame1_ap_to_gcs_send(mavlink_channel_t chan, int16_t XYK_DSR_PITCH, int16_t XYK_DSR_ROLL, int16_t XYK_DSR_YAW, int32_t XYK_DSR_ASL, int16_t XYK_CUR_PITCH, int16_t XYK_CUR_ROLL, int16_t XYK_CUR_YAW, uint16_t XYK_CUR_AGL, uint8_t XYK_CUR_IAS, uint8_t XYK_CUR_GS, uint8_t XYK_CUR_AS, int8_t XYK_CUR_VS, int8_t XYK_DSR_VS) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN]; + _mav_put_int32_t(buf, 0, XYK_DSR_ASL); + _mav_put_int16_t(buf, 4, XYK_DSR_PITCH); + _mav_put_int16_t(buf, 6, XYK_DSR_ROLL); + _mav_put_int16_t(buf, 8, XYK_DSR_YAW); + _mav_put_int16_t(buf, 10, XYK_CUR_PITCH); + _mav_put_int16_t(buf, 12, XYK_CUR_ROLL); + _mav_put_int16_t(buf, 14, XYK_CUR_YAW); + _mav_put_uint16_t(buf, 16, XYK_CUR_AGL); + _mav_put_uint8_t(buf, 18, XYK_CUR_IAS); + _mav_put_uint8_t(buf, 19, XYK_CUR_GS); + _mav_put_uint8_t(buf, 20, XYK_CUR_AS); + _mav_put_int8_t(buf, 21, XYK_CUR_VS); + _mav_put_int8_t(buf, 22, XYK_DSR_VS); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame1_ap_to_gcs_t packet; + packet.XYK_DSR_ASL = XYK_DSR_ASL; + packet.XYK_DSR_PITCH = XYK_DSR_PITCH; + packet.XYK_DSR_ROLL = XYK_DSR_ROLL; + packet.XYK_DSR_YAW = XYK_DSR_YAW; + packet.XYK_CUR_PITCH = XYK_CUR_PITCH; + packet.XYK_CUR_ROLL = XYK_CUR_ROLL; + packet.XYK_CUR_YAW = XYK_CUR_YAW; + packet.XYK_CUR_AGL = XYK_CUR_AGL; + packet.XYK_CUR_IAS = XYK_CUR_IAS; + packet.XYK_CUR_GS = XYK_CUR_GS; + packet.XYK_CUR_AS = XYK_CUR_AS; + packet.XYK_CUR_VS = XYK_CUR_VS; + packet.XYK_DSR_VS = XYK_DSR_VS; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS, (const char *)&packet, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC); +#endif +} + +/** + * @brief Send a xyk_frame1_ap_to_gcs message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_frame1_ap_to_gcs_send_struct(mavlink_channel_t chan, const mavlink_xyk_frame1_ap_to_gcs_t* xyk_frame1_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_frame1_ap_to_gcs_send(chan, xyk_frame1_ap_to_gcs->XYK_DSR_PITCH, xyk_frame1_ap_to_gcs->XYK_DSR_ROLL, xyk_frame1_ap_to_gcs->XYK_DSR_YAW, xyk_frame1_ap_to_gcs->XYK_DSR_ASL, xyk_frame1_ap_to_gcs->XYK_CUR_PITCH, xyk_frame1_ap_to_gcs->XYK_CUR_ROLL, xyk_frame1_ap_to_gcs->XYK_CUR_YAW, xyk_frame1_ap_to_gcs->XYK_CUR_AGL, xyk_frame1_ap_to_gcs->XYK_CUR_IAS, xyk_frame1_ap_to_gcs->XYK_CUR_GS, xyk_frame1_ap_to_gcs->XYK_CUR_AS, xyk_frame1_ap_to_gcs->XYK_CUR_VS, xyk_frame1_ap_to_gcs->XYK_DSR_VS); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS, (const char *)xyk_frame1_ap_to_gcs, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_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_xyk_frame1_ap_to_gcs_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, int16_t XYK_DSR_PITCH, int16_t XYK_DSR_ROLL, int16_t XYK_DSR_YAW, int32_t XYK_DSR_ASL, int16_t XYK_CUR_PITCH, int16_t XYK_CUR_ROLL, int16_t XYK_CUR_YAW, uint16_t XYK_CUR_AGL, uint8_t XYK_CUR_IAS, uint8_t XYK_CUR_GS, uint8_t XYK_CUR_AS, int8_t XYK_CUR_VS, int8_t XYK_DSR_VS) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_int32_t(buf, 0, XYK_DSR_ASL); + _mav_put_int16_t(buf, 4, XYK_DSR_PITCH); + _mav_put_int16_t(buf, 6, XYK_DSR_ROLL); + _mav_put_int16_t(buf, 8, XYK_DSR_YAW); + _mav_put_int16_t(buf, 10, XYK_CUR_PITCH); + _mav_put_int16_t(buf, 12, XYK_CUR_ROLL); + _mav_put_int16_t(buf, 14, XYK_CUR_YAW); + _mav_put_uint16_t(buf, 16, XYK_CUR_AGL); + _mav_put_uint8_t(buf, 18, XYK_CUR_IAS); + _mav_put_uint8_t(buf, 19, XYK_CUR_GS); + _mav_put_uint8_t(buf, 20, XYK_CUR_AS); + _mav_put_int8_t(buf, 21, XYK_CUR_VS); + _mav_put_int8_t(buf, 22, XYK_DSR_VS); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame1_ap_to_gcs_t *packet = (mavlink_xyk_frame1_ap_to_gcs_t *)msgbuf; + packet->XYK_DSR_ASL = XYK_DSR_ASL; + packet->XYK_DSR_PITCH = XYK_DSR_PITCH; + packet->XYK_DSR_ROLL = XYK_DSR_ROLL; + packet->XYK_DSR_YAW = XYK_DSR_YAW; + packet->XYK_CUR_PITCH = XYK_CUR_PITCH; + packet->XYK_CUR_ROLL = XYK_CUR_ROLL; + packet->XYK_CUR_YAW = XYK_CUR_YAW; + packet->XYK_CUR_AGL = XYK_CUR_AGL; + packet->XYK_CUR_IAS = XYK_CUR_IAS; + packet->XYK_CUR_GS = XYK_CUR_GS; + packet->XYK_CUR_AS = XYK_CUR_AS; + packet->XYK_CUR_VS = XYK_CUR_VS; + packet->XYK_DSR_VS = XYK_DSR_VS; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS, (const char *)packet, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_FRAME1_AP_TO_GCS UNPACKING + + +/** + * @brief Get field XYK_DSR_PITCH from xyk_frame1_ap_to_gcs message + * + * @return desire pitch angel. 0.1deg [-900,900] + */ +static inline int16_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_PITCH(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 4); +} + +/** + * @brief Get field XYK_DSR_ROLL from xyk_frame1_ap_to_gcs message + * + * @return desire roll angel. 0.1deg [-900,900] + */ +static inline int16_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_ROLL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 6); +} + +/** + * @brief Get field XYK_DSR_YAW from xyk_frame1_ap_to_gcs message + * + * @return desire yaw angel.0.1deg [-1800,1800] + */ +static inline int16_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_YAW(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 8); +} + +/** + * @brief Get field XYK_DSR_ASL from xyk_frame1_ap_to_gcs message + * + * @return desire ASL. 0.01m [-50000,1000000] + */ +static inline int32_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_ASL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int32_t(msg, 0); +} + +/** + * @brief Get field XYK_CUR_PITCH from xyk_frame1_ap_to_gcs message + * + * @return crrent pitch. 0.1deg [-900,900] + */ +static inline int16_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_PITCH(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 10); +} + +/** + * @brief Get field XYK_CUR_ROLL from xyk_frame1_ap_to_gcs message + * + * @return current roll. 0.1deg [-900,900] + */ +static inline int16_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_ROLL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 12); +} + +/** + * @brief Get field XYK_CUR_YAW from xyk_frame1_ap_to_gcs message + * + * @return current heading.[-1800,1800] + */ +static inline int16_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_YAW(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 14); +} + +/** + * @brief Get field XYK_CUR_AGL from xyk_frame1_ap_to_gcs message + * + * @return Above ground lever.1m [0,10000] + */ +static inline uint16_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_AGL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 16); +} + +/** + * @brief Get field XYK_CUR_IAS from xyk_frame1_ap_to_gcs message + * + * @return identfied air speed. 1kph [0,256] + */ +static inline uint8_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_IAS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 18); +} + +/** + * @brief Get field XYK_CUR_GS from xyk_frame1_ap_to_gcs message + * + * @return current ground speed. 1kph [0,256] + */ +static inline uint8_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_GS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 19); +} + +/** + * @brief Get field XYK_CUR_AS from xyk_frame1_ap_to_gcs message + * + * @return current air speed. 1kph [0,256] + */ +static inline uint8_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_AS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 20); +} + +/** + * @brief Get field XYK_CUR_VS from xyk_frame1_ap_to_gcs message + * + * @return current vertical speed. 0.1m/s[-100,100] + */ +static inline int8_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_VS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 21); +} + +/** + * @brief Get field XYK_DSR_VS from xyk_frame1_ap_to_gcs message + * + * @return DESIR VS 0.1m/s [-100,100] + */ +static inline int8_t mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_VS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 22); +} + +/** + * @brief Decode a xyk_frame1_ap_to_gcs message into a struct + * + * @param msg The message to decode + * @param xyk_frame1_ap_to_gcs C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_frame1_ap_to_gcs_decode(const mavlink_message_t* msg, mavlink_xyk_frame1_ap_to_gcs_t* xyk_frame1_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_frame1_ap_to_gcs->XYK_DSR_ASL = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_ASL(msg); + xyk_frame1_ap_to_gcs->XYK_DSR_PITCH = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_PITCH(msg); + xyk_frame1_ap_to_gcs->XYK_DSR_ROLL = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_ROLL(msg); + xyk_frame1_ap_to_gcs->XYK_DSR_YAW = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_YAW(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_PITCH = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_PITCH(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_ROLL = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_ROLL(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_YAW = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_YAW(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_AGL = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_AGL(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_IAS = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_IAS(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_GS = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_GS(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_AS = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_AS(msg); + xyk_frame1_ap_to_gcs->XYK_CUR_VS = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_CUR_VS(msg); + xyk_frame1_ap_to_gcs->XYK_DSR_VS = mavlink_msg_xyk_frame1_ap_to_gcs_get_XYK_DSR_VS(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN? msg->len : MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN; + memset(xyk_frame1_ap_to_gcs, 0, MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_LEN); + memcpy(xyk_frame1_ap_to_gcs, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_frame2_ap_to_gcs.h b/XYK/mavlink_msg_xyk_frame2_ap_to_gcs.h new file mode 100644 index 0000000..3eaf065 --- /dev/null +++ b/XYK/mavlink_msg_xyk_frame2_ap_to_gcs.h @@ -0,0 +1,613 @@ +#pragma once +// MESSAGE XYK_FRAME2_AP_TO_GCS PACKING + +#define MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS 30002 + +MAVPACKED( +typedef struct __mavlink_xyk_frame2_ap_to_gcs_t { + uint16_t XYK_DISP_VOLT; /*< voltage.0.1V [0,1000]*/ + uint16_t XYK_DISP_THROTLE; /*< fixed wing throtle 0.1% [0,1000].*/ + uint16_t XYK_DISP_THROTLE2; /*< gyro throtle.1% [0,1000]*/ + int16_t XYK_PHOT_NUM; /*< photo number.[0,65535]*/ + uint8_t XYK_DISP_CURRENT; /*< current,1A [0,100]*/ + uint8_t XYK_DISP_GPS_STATE; /*< GPS state.*/ + uint8_t XYK_DISP_DGPS_STATE; /*< DGPS state.*/ + int8_t XYK_DISP_INTER_TEMP; /*< temprature.*/ + uint8_t XYK_SYS_STATE; /*< system state and control mode.*/ + uint8_t XYK_ALARM_STATE; /*< alarm state2.*/ + uint8_t XYK_ALARM_STATE2; /*< alarm state2.*/ + int8_t XYK_ELVT_OFFSET; /*< elevator offset,0.5deg [-120,120]*/ + int8_t XYK_RUDE_OFFSET; /*< rudder offset,0.5deg [-120,120]*/ + int8_t XYK_AILE_OFFSET; /*< aileron offset,0.5deg [-120,120]*/ + uint8_t XYK_FLAG; /*< some state flag.*/ + uint8_t XYK_DSR_LOITER_NUM; /*< desire turns number.[0,255]*/ + int8_t XYK_CUR_LOITER_NUM; /*< current turns number. [0,255]*/ +}) mavlink_xyk_frame2_ap_to_gcs_t; + +#define MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN 21 +#define MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN 21 +#define MAVLINK_MSG_ID_30002_LEN 21 +#define MAVLINK_MSG_ID_30002_MIN_LEN 21 + +#define MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC 193 +#define MAVLINK_MSG_ID_30002_CRC 193 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_FRAME2_AP_TO_GCS { \ + 30002, \ + "XYK_FRAME2_AP_TO_GCS", \ + 17, \ + { { "XYK_DISP_VOLT", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_VOLT) }, \ + { "XYK_DISP_THROTLE", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_THROTLE) }, \ + { "XYK_DISP_THROTLE2", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_THROTLE2) }, \ + { "XYK_DISP_CURRENT", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_CURRENT) }, \ + { "XYK_DISP_GPS_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_GPS_STATE) }, \ + { "XYK_DISP_DGPS_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_DGPS_STATE) }, \ + { "XYK_DISP_INTER_TEMP", NULL, MAVLINK_TYPE_INT8_T, 0, 11, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_INTER_TEMP) }, \ + { "XYK_SYS_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 12, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_SYS_STATE) }, \ + { "XYK_ALARM_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 13, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_ALARM_STATE) }, \ + { "XYK_ALARM_STATE2", NULL, MAVLINK_TYPE_UINT8_T, 0, 14, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_ALARM_STATE2) }, \ + { "XYK_ELVT_OFFSET", NULL, MAVLINK_TYPE_INT8_T, 0, 15, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_ELVT_OFFSET) }, \ + { "XYK_RUDE_OFFSET", NULL, MAVLINK_TYPE_INT8_T, 0, 16, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_RUDE_OFFSET) }, \ + { "XYK_AILE_OFFSET", NULL, MAVLINK_TYPE_INT8_T, 0, 17, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_AILE_OFFSET) }, \ + { "XYK_FLAG", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_FLAG) }, \ + { "XYK_DSR_LOITER_NUM", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DSR_LOITER_NUM) }, \ + { "XYK_CUR_LOITER_NUM", NULL, MAVLINK_TYPE_INT8_T, 0, 20, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_CUR_LOITER_NUM) }, \ + { "XYK_PHOT_NUM", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_PHOT_NUM) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_FRAME2_AP_TO_GCS { \ + "XYK_FRAME2_AP_TO_GCS", \ + 17, \ + { { "XYK_DISP_VOLT", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_VOLT) }, \ + { "XYK_DISP_THROTLE", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_THROTLE) }, \ + { "XYK_DISP_THROTLE2", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_THROTLE2) }, \ + { "XYK_DISP_CURRENT", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_CURRENT) }, \ + { "XYK_DISP_GPS_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_GPS_STATE) }, \ + { "XYK_DISP_DGPS_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_DGPS_STATE) }, \ + { "XYK_DISP_INTER_TEMP", NULL, MAVLINK_TYPE_INT8_T, 0, 11, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DISP_INTER_TEMP) }, \ + { "XYK_SYS_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 12, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_SYS_STATE) }, \ + { "XYK_ALARM_STATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 13, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_ALARM_STATE) }, \ + { "XYK_ALARM_STATE2", NULL, MAVLINK_TYPE_UINT8_T, 0, 14, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_ALARM_STATE2) }, \ + { "XYK_ELVT_OFFSET", NULL, MAVLINK_TYPE_INT8_T, 0, 15, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_ELVT_OFFSET) }, \ + { "XYK_RUDE_OFFSET", NULL, MAVLINK_TYPE_INT8_T, 0, 16, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_RUDE_OFFSET) }, \ + { "XYK_AILE_OFFSET", NULL, MAVLINK_TYPE_INT8_T, 0, 17, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_AILE_OFFSET) }, \ + { "XYK_FLAG", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_FLAG) }, \ + { "XYK_DSR_LOITER_NUM", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_DSR_LOITER_NUM) }, \ + { "XYK_CUR_LOITER_NUM", NULL, MAVLINK_TYPE_INT8_T, 0, 20, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_CUR_LOITER_NUM) }, \ + { "XYK_PHOT_NUM", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_xyk_frame2_ap_to_gcs_t, XYK_PHOT_NUM) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_frame2_ap_to_gcs 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 XYK_DISP_VOLT voltage.0.1V [0,1000] + * @param XYK_DISP_THROTLE fixed wing throtle 0.1% [0,1000]. + * @param XYK_DISP_THROTLE2 gyro throtle.1% [0,1000] + * @param XYK_DISP_CURRENT current,1A [0,100] + * @param XYK_DISP_GPS_STATE GPS state. + * @param XYK_DISP_DGPS_STATE DGPS state. + * @param XYK_DISP_INTER_TEMP temprature. + * @param XYK_SYS_STATE system state and control mode. + * @param XYK_ALARM_STATE alarm state2. + * @param XYK_ALARM_STATE2 alarm state2. + * @param XYK_ELVT_OFFSET elevator offset,0.5deg [-120,120] + * @param XYK_RUDE_OFFSET rudder offset,0.5deg [-120,120] + * @param XYK_AILE_OFFSET aileron offset,0.5deg [-120,120] + * @param XYK_FLAG some state flag. + * @param XYK_DSR_LOITER_NUM desire turns number.[0,255] + * @param XYK_CUR_LOITER_NUM current turns number. [0,255] + * @param XYK_PHOT_NUM photo number.[0,65535] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame2_ap_to_gcs_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint16_t XYK_DISP_VOLT, uint16_t XYK_DISP_THROTLE, uint16_t XYK_DISP_THROTLE2, uint8_t XYK_DISP_CURRENT, uint8_t XYK_DISP_GPS_STATE, uint8_t XYK_DISP_DGPS_STATE, int8_t XYK_DISP_INTER_TEMP, uint8_t XYK_SYS_STATE, uint8_t XYK_ALARM_STATE, uint8_t XYK_ALARM_STATE2, int8_t XYK_ELVT_OFFSET, int8_t XYK_RUDE_OFFSET, int8_t XYK_AILE_OFFSET, uint8_t XYK_FLAG, uint8_t XYK_DSR_LOITER_NUM, int8_t XYK_CUR_LOITER_NUM, int16_t XYK_PHOT_NUM) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN]; + _mav_put_uint16_t(buf, 0, XYK_DISP_VOLT); + _mav_put_uint16_t(buf, 2, XYK_DISP_THROTLE); + _mav_put_uint16_t(buf, 4, XYK_DISP_THROTLE2); + _mav_put_int16_t(buf, 6, XYK_PHOT_NUM); + _mav_put_uint8_t(buf, 8, XYK_DISP_CURRENT); + _mav_put_uint8_t(buf, 9, XYK_DISP_GPS_STATE); + _mav_put_uint8_t(buf, 10, XYK_DISP_DGPS_STATE); + _mav_put_int8_t(buf, 11, XYK_DISP_INTER_TEMP); + _mav_put_uint8_t(buf, 12, XYK_SYS_STATE); + _mav_put_uint8_t(buf, 13, XYK_ALARM_STATE); + _mav_put_uint8_t(buf, 14, XYK_ALARM_STATE2); + _mav_put_int8_t(buf, 15, XYK_ELVT_OFFSET); + _mav_put_int8_t(buf, 16, XYK_RUDE_OFFSET); + _mav_put_int8_t(buf, 17, XYK_AILE_OFFSET); + _mav_put_uint8_t(buf, 18, XYK_FLAG); + _mav_put_uint8_t(buf, 19, XYK_DSR_LOITER_NUM); + _mav_put_int8_t(buf, 20, XYK_CUR_LOITER_NUM); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame2_ap_to_gcs_t packet; + packet.XYK_DISP_VOLT = XYK_DISP_VOLT; + packet.XYK_DISP_THROTLE = XYK_DISP_THROTLE; + packet.XYK_DISP_THROTLE2 = XYK_DISP_THROTLE2; + packet.XYK_PHOT_NUM = XYK_PHOT_NUM; + packet.XYK_DISP_CURRENT = XYK_DISP_CURRENT; + packet.XYK_DISP_GPS_STATE = XYK_DISP_GPS_STATE; + packet.XYK_DISP_DGPS_STATE = XYK_DISP_DGPS_STATE; + packet.XYK_DISP_INTER_TEMP = XYK_DISP_INTER_TEMP; + packet.XYK_SYS_STATE = XYK_SYS_STATE; + packet.XYK_ALARM_STATE = XYK_ALARM_STATE; + packet.XYK_ALARM_STATE2 = XYK_ALARM_STATE2; + packet.XYK_ELVT_OFFSET = XYK_ELVT_OFFSET; + packet.XYK_RUDE_OFFSET = XYK_RUDE_OFFSET; + packet.XYK_AILE_OFFSET = XYK_AILE_OFFSET; + packet.XYK_FLAG = XYK_FLAG; + packet.XYK_DSR_LOITER_NUM = XYK_DSR_LOITER_NUM; + packet.XYK_CUR_LOITER_NUM = XYK_CUR_LOITER_NUM; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC); +} + +/** + * @brief Pack a xyk_frame2_ap_to_gcs 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 XYK_DISP_VOLT voltage.0.1V [0,1000] + * @param XYK_DISP_THROTLE fixed wing throtle 0.1% [0,1000]. + * @param XYK_DISP_THROTLE2 gyro throtle.1% [0,1000] + * @param XYK_DISP_CURRENT current,1A [0,100] + * @param XYK_DISP_GPS_STATE GPS state. + * @param XYK_DISP_DGPS_STATE DGPS state. + * @param XYK_DISP_INTER_TEMP temprature. + * @param XYK_SYS_STATE system state and control mode. + * @param XYK_ALARM_STATE alarm state2. + * @param XYK_ALARM_STATE2 alarm state2. + * @param XYK_ELVT_OFFSET elevator offset,0.5deg [-120,120] + * @param XYK_RUDE_OFFSET rudder offset,0.5deg [-120,120] + * @param XYK_AILE_OFFSET aileron offset,0.5deg [-120,120] + * @param XYK_FLAG some state flag. + * @param XYK_DSR_LOITER_NUM desire turns number.[0,255] + * @param XYK_CUR_LOITER_NUM current turns number. [0,255] + * @param XYK_PHOT_NUM photo number.[0,65535] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame2_ap_to_gcs_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint16_t XYK_DISP_VOLT,uint16_t XYK_DISP_THROTLE,uint16_t XYK_DISP_THROTLE2,uint8_t XYK_DISP_CURRENT,uint8_t XYK_DISP_GPS_STATE,uint8_t XYK_DISP_DGPS_STATE,int8_t XYK_DISP_INTER_TEMP,uint8_t XYK_SYS_STATE,uint8_t XYK_ALARM_STATE,uint8_t XYK_ALARM_STATE2,int8_t XYK_ELVT_OFFSET,int8_t XYK_RUDE_OFFSET,int8_t XYK_AILE_OFFSET,uint8_t XYK_FLAG,uint8_t XYK_DSR_LOITER_NUM,int8_t XYK_CUR_LOITER_NUM,int16_t XYK_PHOT_NUM) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN]; + _mav_put_uint16_t(buf, 0, XYK_DISP_VOLT); + _mav_put_uint16_t(buf, 2, XYK_DISP_THROTLE); + _mav_put_uint16_t(buf, 4, XYK_DISP_THROTLE2); + _mav_put_int16_t(buf, 6, XYK_PHOT_NUM); + _mav_put_uint8_t(buf, 8, XYK_DISP_CURRENT); + _mav_put_uint8_t(buf, 9, XYK_DISP_GPS_STATE); + _mav_put_uint8_t(buf, 10, XYK_DISP_DGPS_STATE); + _mav_put_int8_t(buf, 11, XYK_DISP_INTER_TEMP); + _mav_put_uint8_t(buf, 12, XYK_SYS_STATE); + _mav_put_uint8_t(buf, 13, XYK_ALARM_STATE); + _mav_put_uint8_t(buf, 14, XYK_ALARM_STATE2); + _mav_put_int8_t(buf, 15, XYK_ELVT_OFFSET); + _mav_put_int8_t(buf, 16, XYK_RUDE_OFFSET); + _mav_put_int8_t(buf, 17, XYK_AILE_OFFSET); + _mav_put_uint8_t(buf, 18, XYK_FLAG); + _mav_put_uint8_t(buf, 19, XYK_DSR_LOITER_NUM); + _mav_put_int8_t(buf, 20, XYK_CUR_LOITER_NUM); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame2_ap_to_gcs_t packet; + packet.XYK_DISP_VOLT = XYK_DISP_VOLT; + packet.XYK_DISP_THROTLE = XYK_DISP_THROTLE; + packet.XYK_DISP_THROTLE2 = XYK_DISP_THROTLE2; + packet.XYK_PHOT_NUM = XYK_PHOT_NUM; + packet.XYK_DISP_CURRENT = XYK_DISP_CURRENT; + packet.XYK_DISP_GPS_STATE = XYK_DISP_GPS_STATE; + packet.XYK_DISP_DGPS_STATE = XYK_DISP_DGPS_STATE; + packet.XYK_DISP_INTER_TEMP = XYK_DISP_INTER_TEMP; + packet.XYK_SYS_STATE = XYK_SYS_STATE; + packet.XYK_ALARM_STATE = XYK_ALARM_STATE; + packet.XYK_ALARM_STATE2 = XYK_ALARM_STATE2; + packet.XYK_ELVT_OFFSET = XYK_ELVT_OFFSET; + packet.XYK_RUDE_OFFSET = XYK_RUDE_OFFSET; + packet.XYK_AILE_OFFSET = XYK_AILE_OFFSET; + packet.XYK_FLAG = XYK_FLAG; + packet.XYK_DSR_LOITER_NUM = XYK_DSR_LOITER_NUM; + packet.XYK_CUR_LOITER_NUM = XYK_CUR_LOITER_NUM; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC); +} + +/** + * @brief Encode a xyk_frame2_ap_to_gcs 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_frame2_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame2_ap_to_gcs_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_frame2_ap_to_gcs_t* xyk_frame2_ap_to_gcs) +{ + return mavlink_msg_xyk_frame2_ap_to_gcs_pack(system_id, component_id, msg, xyk_frame2_ap_to_gcs->XYK_DISP_VOLT, xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE, xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE2, xyk_frame2_ap_to_gcs->XYK_DISP_CURRENT, xyk_frame2_ap_to_gcs->XYK_DISP_GPS_STATE, xyk_frame2_ap_to_gcs->XYK_DISP_DGPS_STATE, xyk_frame2_ap_to_gcs->XYK_DISP_INTER_TEMP, xyk_frame2_ap_to_gcs->XYK_SYS_STATE, xyk_frame2_ap_to_gcs->XYK_ALARM_STATE, xyk_frame2_ap_to_gcs->XYK_ALARM_STATE2, xyk_frame2_ap_to_gcs->XYK_ELVT_OFFSET, xyk_frame2_ap_to_gcs->XYK_RUDE_OFFSET, xyk_frame2_ap_to_gcs->XYK_AILE_OFFSET, xyk_frame2_ap_to_gcs->XYK_FLAG, xyk_frame2_ap_to_gcs->XYK_DSR_LOITER_NUM, xyk_frame2_ap_to_gcs->XYK_CUR_LOITER_NUM, xyk_frame2_ap_to_gcs->XYK_PHOT_NUM); +} + +/** + * @brief Encode a xyk_frame2_ap_to_gcs 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_frame2_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame2_ap_to_gcs_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_frame2_ap_to_gcs_t* xyk_frame2_ap_to_gcs) +{ + return mavlink_msg_xyk_frame2_ap_to_gcs_pack_chan(system_id, component_id, chan, msg, xyk_frame2_ap_to_gcs->XYK_DISP_VOLT, xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE, xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE2, xyk_frame2_ap_to_gcs->XYK_DISP_CURRENT, xyk_frame2_ap_to_gcs->XYK_DISP_GPS_STATE, xyk_frame2_ap_to_gcs->XYK_DISP_DGPS_STATE, xyk_frame2_ap_to_gcs->XYK_DISP_INTER_TEMP, xyk_frame2_ap_to_gcs->XYK_SYS_STATE, xyk_frame2_ap_to_gcs->XYK_ALARM_STATE, xyk_frame2_ap_to_gcs->XYK_ALARM_STATE2, xyk_frame2_ap_to_gcs->XYK_ELVT_OFFSET, xyk_frame2_ap_to_gcs->XYK_RUDE_OFFSET, xyk_frame2_ap_to_gcs->XYK_AILE_OFFSET, xyk_frame2_ap_to_gcs->XYK_FLAG, xyk_frame2_ap_to_gcs->XYK_DSR_LOITER_NUM, xyk_frame2_ap_to_gcs->XYK_CUR_LOITER_NUM, xyk_frame2_ap_to_gcs->XYK_PHOT_NUM); +} + +/** + * @brief Send a xyk_frame2_ap_to_gcs message + * @param chan MAVLink channel to send the message + * + * @param XYK_DISP_VOLT voltage.0.1V [0,1000] + * @param XYK_DISP_THROTLE fixed wing throtle 0.1% [0,1000]. + * @param XYK_DISP_THROTLE2 gyro throtle.1% [0,1000] + * @param XYK_DISP_CURRENT current,1A [0,100] + * @param XYK_DISP_GPS_STATE GPS state. + * @param XYK_DISP_DGPS_STATE DGPS state. + * @param XYK_DISP_INTER_TEMP temprature. + * @param XYK_SYS_STATE system state and control mode. + * @param XYK_ALARM_STATE alarm state2. + * @param XYK_ALARM_STATE2 alarm state2. + * @param XYK_ELVT_OFFSET elevator offset,0.5deg [-120,120] + * @param XYK_RUDE_OFFSET rudder offset,0.5deg [-120,120] + * @param XYK_AILE_OFFSET aileron offset,0.5deg [-120,120] + * @param XYK_FLAG some state flag. + * @param XYK_DSR_LOITER_NUM desire turns number.[0,255] + * @param XYK_CUR_LOITER_NUM current turns number. [0,255] + * @param XYK_PHOT_NUM photo number.[0,65535] + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_frame2_ap_to_gcs_send(mavlink_channel_t chan, uint16_t XYK_DISP_VOLT, uint16_t XYK_DISP_THROTLE, uint16_t XYK_DISP_THROTLE2, uint8_t XYK_DISP_CURRENT, uint8_t XYK_DISP_GPS_STATE, uint8_t XYK_DISP_DGPS_STATE, int8_t XYK_DISP_INTER_TEMP, uint8_t XYK_SYS_STATE, uint8_t XYK_ALARM_STATE, uint8_t XYK_ALARM_STATE2, int8_t XYK_ELVT_OFFSET, int8_t XYK_RUDE_OFFSET, int8_t XYK_AILE_OFFSET, uint8_t XYK_FLAG, uint8_t XYK_DSR_LOITER_NUM, int8_t XYK_CUR_LOITER_NUM, int16_t XYK_PHOT_NUM) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN]; + _mav_put_uint16_t(buf, 0, XYK_DISP_VOLT); + _mav_put_uint16_t(buf, 2, XYK_DISP_THROTLE); + _mav_put_uint16_t(buf, 4, XYK_DISP_THROTLE2); + _mav_put_int16_t(buf, 6, XYK_PHOT_NUM); + _mav_put_uint8_t(buf, 8, XYK_DISP_CURRENT); + _mav_put_uint8_t(buf, 9, XYK_DISP_GPS_STATE); + _mav_put_uint8_t(buf, 10, XYK_DISP_DGPS_STATE); + _mav_put_int8_t(buf, 11, XYK_DISP_INTER_TEMP); + _mav_put_uint8_t(buf, 12, XYK_SYS_STATE); + _mav_put_uint8_t(buf, 13, XYK_ALARM_STATE); + _mav_put_uint8_t(buf, 14, XYK_ALARM_STATE2); + _mav_put_int8_t(buf, 15, XYK_ELVT_OFFSET); + _mav_put_int8_t(buf, 16, XYK_RUDE_OFFSET); + _mav_put_int8_t(buf, 17, XYK_AILE_OFFSET); + _mav_put_uint8_t(buf, 18, XYK_FLAG); + _mav_put_uint8_t(buf, 19, XYK_DSR_LOITER_NUM); + _mav_put_int8_t(buf, 20, XYK_CUR_LOITER_NUM); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame2_ap_to_gcs_t packet; + packet.XYK_DISP_VOLT = XYK_DISP_VOLT; + packet.XYK_DISP_THROTLE = XYK_DISP_THROTLE; + packet.XYK_DISP_THROTLE2 = XYK_DISP_THROTLE2; + packet.XYK_PHOT_NUM = XYK_PHOT_NUM; + packet.XYK_DISP_CURRENT = XYK_DISP_CURRENT; + packet.XYK_DISP_GPS_STATE = XYK_DISP_GPS_STATE; + packet.XYK_DISP_DGPS_STATE = XYK_DISP_DGPS_STATE; + packet.XYK_DISP_INTER_TEMP = XYK_DISP_INTER_TEMP; + packet.XYK_SYS_STATE = XYK_SYS_STATE; + packet.XYK_ALARM_STATE = XYK_ALARM_STATE; + packet.XYK_ALARM_STATE2 = XYK_ALARM_STATE2; + packet.XYK_ELVT_OFFSET = XYK_ELVT_OFFSET; + packet.XYK_RUDE_OFFSET = XYK_RUDE_OFFSET; + packet.XYK_AILE_OFFSET = XYK_AILE_OFFSET; + packet.XYK_FLAG = XYK_FLAG; + packet.XYK_DSR_LOITER_NUM = XYK_DSR_LOITER_NUM; + packet.XYK_CUR_LOITER_NUM = XYK_CUR_LOITER_NUM; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS, (const char *)&packet, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC); +#endif +} + +/** + * @brief Send a xyk_frame2_ap_to_gcs message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_frame2_ap_to_gcs_send_struct(mavlink_channel_t chan, const mavlink_xyk_frame2_ap_to_gcs_t* xyk_frame2_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_frame2_ap_to_gcs_send(chan, xyk_frame2_ap_to_gcs->XYK_DISP_VOLT, xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE, xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE2, xyk_frame2_ap_to_gcs->XYK_DISP_CURRENT, xyk_frame2_ap_to_gcs->XYK_DISP_GPS_STATE, xyk_frame2_ap_to_gcs->XYK_DISP_DGPS_STATE, xyk_frame2_ap_to_gcs->XYK_DISP_INTER_TEMP, xyk_frame2_ap_to_gcs->XYK_SYS_STATE, xyk_frame2_ap_to_gcs->XYK_ALARM_STATE, xyk_frame2_ap_to_gcs->XYK_ALARM_STATE2, xyk_frame2_ap_to_gcs->XYK_ELVT_OFFSET, xyk_frame2_ap_to_gcs->XYK_RUDE_OFFSET, xyk_frame2_ap_to_gcs->XYK_AILE_OFFSET, xyk_frame2_ap_to_gcs->XYK_FLAG, xyk_frame2_ap_to_gcs->XYK_DSR_LOITER_NUM, xyk_frame2_ap_to_gcs->XYK_CUR_LOITER_NUM, xyk_frame2_ap_to_gcs->XYK_PHOT_NUM); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS, (const char *)xyk_frame2_ap_to_gcs, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_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_xyk_frame2_ap_to_gcs_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint16_t XYK_DISP_VOLT, uint16_t XYK_DISP_THROTLE, uint16_t XYK_DISP_THROTLE2, uint8_t XYK_DISP_CURRENT, uint8_t XYK_DISP_GPS_STATE, uint8_t XYK_DISP_DGPS_STATE, int8_t XYK_DISP_INTER_TEMP, uint8_t XYK_SYS_STATE, uint8_t XYK_ALARM_STATE, uint8_t XYK_ALARM_STATE2, int8_t XYK_ELVT_OFFSET, int8_t XYK_RUDE_OFFSET, int8_t XYK_AILE_OFFSET, uint8_t XYK_FLAG, uint8_t XYK_DSR_LOITER_NUM, int8_t XYK_CUR_LOITER_NUM, int16_t XYK_PHOT_NUM) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint16_t(buf, 0, XYK_DISP_VOLT); + _mav_put_uint16_t(buf, 2, XYK_DISP_THROTLE); + _mav_put_uint16_t(buf, 4, XYK_DISP_THROTLE2); + _mav_put_int16_t(buf, 6, XYK_PHOT_NUM); + _mav_put_uint8_t(buf, 8, XYK_DISP_CURRENT); + _mav_put_uint8_t(buf, 9, XYK_DISP_GPS_STATE); + _mav_put_uint8_t(buf, 10, XYK_DISP_DGPS_STATE); + _mav_put_int8_t(buf, 11, XYK_DISP_INTER_TEMP); + _mav_put_uint8_t(buf, 12, XYK_SYS_STATE); + _mav_put_uint8_t(buf, 13, XYK_ALARM_STATE); + _mav_put_uint8_t(buf, 14, XYK_ALARM_STATE2); + _mav_put_int8_t(buf, 15, XYK_ELVT_OFFSET); + _mav_put_int8_t(buf, 16, XYK_RUDE_OFFSET); + _mav_put_int8_t(buf, 17, XYK_AILE_OFFSET); + _mav_put_uint8_t(buf, 18, XYK_FLAG); + _mav_put_uint8_t(buf, 19, XYK_DSR_LOITER_NUM); + _mav_put_int8_t(buf, 20, XYK_CUR_LOITER_NUM); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame2_ap_to_gcs_t *packet = (mavlink_xyk_frame2_ap_to_gcs_t *)msgbuf; + packet->XYK_DISP_VOLT = XYK_DISP_VOLT; + packet->XYK_DISP_THROTLE = XYK_DISP_THROTLE; + packet->XYK_DISP_THROTLE2 = XYK_DISP_THROTLE2; + packet->XYK_PHOT_NUM = XYK_PHOT_NUM; + packet->XYK_DISP_CURRENT = XYK_DISP_CURRENT; + packet->XYK_DISP_GPS_STATE = XYK_DISP_GPS_STATE; + packet->XYK_DISP_DGPS_STATE = XYK_DISP_DGPS_STATE; + packet->XYK_DISP_INTER_TEMP = XYK_DISP_INTER_TEMP; + packet->XYK_SYS_STATE = XYK_SYS_STATE; + packet->XYK_ALARM_STATE = XYK_ALARM_STATE; + packet->XYK_ALARM_STATE2 = XYK_ALARM_STATE2; + packet->XYK_ELVT_OFFSET = XYK_ELVT_OFFSET; + packet->XYK_RUDE_OFFSET = XYK_RUDE_OFFSET; + packet->XYK_AILE_OFFSET = XYK_AILE_OFFSET; + packet->XYK_FLAG = XYK_FLAG; + packet->XYK_DSR_LOITER_NUM = XYK_DSR_LOITER_NUM; + packet->XYK_CUR_LOITER_NUM = XYK_CUR_LOITER_NUM; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS, (const char *)packet, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_FRAME2_AP_TO_GCS UNPACKING + + +/** + * @brief Get field XYK_DISP_VOLT from xyk_frame2_ap_to_gcs message + * + * @return voltage.0.1V [0,1000] + */ +static inline uint16_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_VOLT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 0); +} + +/** + * @brief Get field XYK_DISP_THROTLE from xyk_frame2_ap_to_gcs message + * + * @return fixed wing throtle 0.1% [0,1000]. + */ +static inline uint16_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_THROTLE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 2); +} + +/** + * @brief Get field XYK_DISP_THROTLE2 from xyk_frame2_ap_to_gcs message + * + * @return gyro throtle.1% [0,1000] + */ +static inline uint16_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_THROTLE2(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 4); +} + +/** + * @brief Get field XYK_DISP_CURRENT from xyk_frame2_ap_to_gcs message + * + * @return current,1A [0,100] + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_CURRENT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 8); +} + +/** + * @brief Get field XYK_DISP_GPS_STATE from xyk_frame2_ap_to_gcs message + * + * @return GPS state. + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_GPS_STATE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 9); +} + +/** + * @brief Get field XYK_DISP_DGPS_STATE from xyk_frame2_ap_to_gcs message + * + * @return DGPS state. + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_DGPS_STATE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 10); +} + +/** + * @brief Get field XYK_DISP_INTER_TEMP from xyk_frame2_ap_to_gcs message + * + * @return temprature. + */ +static inline int8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_INTER_TEMP(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 11); +} + +/** + * @brief Get field XYK_SYS_STATE from xyk_frame2_ap_to_gcs message + * + * @return system state and control mode. + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_SYS_STATE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 12); +} + +/** + * @brief Get field XYK_ALARM_STATE from xyk_frame2_ap_to_gcs message + * + * @return alarm state2. + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_ALARM_STATE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 13); +} + +/** + * @brief Get field XYK_ALARM_STATE2 from xyk_frame2_ap_to_gcs message + * + * @return alarm state2. + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_ALARM_STATE2(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 14); +} + +/** + * @brief Get field XYK_ELVT_OFFSET from xyk_frame2_ap_to_gcs message + * + * @return elevator offset,0.5deg [-120,120] + */ +static inline int8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_ELVT_OFFSET(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 15); +} + +/** + * @brief Get field XYK_RUDE_OFFSET from xyk_frame2_ap_to_gcs message + * + * @return rudder offset,0.5deg [-120,120] + */ +static inline int8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_RUDE_OFFSET(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 16); +} + +/** + * @brief Get field XYK_AILE_OFFSET from xyk_frame2_ap_to_gcs message + * + * @return aileron offset,0.5deg [-120,120] + */ +static inline int8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_AILE_OFFSET(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 17); +} + +/** + * @brief Get field XYK_FLAG from xyk_frame2_ap_to_gcs message + * + * @return some state flag. + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_FLAG(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 18); +} + +/** + * @brief Get field XYK_DSR_LOITER_NUM from xyk_frame2_ap_to_gcs message + * + * @return desire turns number.[0,255] + */ +static inline uint8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DSR_LOITER_NUM(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 19); +} + +/** + * @brief Get field XYK_CUR_LOITER_NUM from xyk_frame2_ap_to_gcs message + * + * @return current turns number. [0,255] + */ +static inline int8_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_CUR_LOITER_NUM(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 20); +} + +/** + * @brief Get field XYK_PHOT_NUM from xyk_frame2_ap_to_gcs message + * + * @return photo number.[0,65535] + */ +static inline int16_t mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_PHOT_NUM(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 6); +} + +/** + * @brief Decode a xyk_frame2_ap_to_gcs message into a struct + * + * @param msg The message to decode + * @param xyk_frame2_ap_to_gcs C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_frame2_ap_to_gcs_decode(const mavlink_message_t* msg, mavlink_xyk_frame2_ap_to_gcs_t* xyk_frame2_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_frame2_ap_to_gcs->XYK_DISP_VOLT = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_VOLT(msg); + xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_THROTLE(msg); + xyk_frame2_ap_to_gcs->XYK_DISP_THROTLE2 = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_THROTLE2(msg); + xyk_frame2_ap_to_gcs->XYK_PHOT_NUM = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_PHOT_NUM(msg); + xyk_frame2_ap_to_gcs->XYK_DISP_CURRENT = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_CURRENT(msg); + xyk_frame2_ap_to_gcs->XYK_DISP_GPS_STATE = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_GPS_STATE(msg); + xyk_frame2_ap_to_gcs->XYK_DISP_DGPS_STATE = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_DGPS_STATE(msg); + xyk_frame2_ap_to_gcs->XYK_DISP_INTER_TEMP = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DISP_INTER_TEMP(msg); + xyk_frame2_ap_to_gcs->XYK_SYS_STATE = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_SYS_STATE(msg); + xyk_frame2_ap_to_gcs->XYK_ALARM_STATE = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_ALARM_STATE(msg); + xyk_frame2_ap_to_gcs->XYK_ALARM_STATE2 = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_ALARM_STATE2(msg); + xyk_frame2_ap_to_gcs->XYK_ELVT_OFFSET = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_ELVT_OFFSET(msg); + xyk_frame2_ap_to_gcs->XYK_RUDE_OFFSET = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_RUDE_OFFSET(msg); + xyk_frame2_ap_to_gcs->XYK_AILE_OFFSET = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_AILE_OFFSET(msg); + xyk_frame2_ap_to_gcs->XYK_FLAG = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_FLAG(msg); + xyk_frame2_ap_to_gcs->XYK_DSR_LOITER_NUM = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_DSR_LOITER_NUM(msg); + xyk_frame2_ap_to_gcs->XYK_CUR_LOITER_NUM = mavlink_msg_xyk_frame2_ap_to_gcs_get_XYK_CUR_LOITER_NUM(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN? msg->len : MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN; + memset(xyk_frame2_ap_to_gcs, 0, MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_LEN); + memcpy(xyk_frame2_ap_to_gcs, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_frame3_ap_to_gcs.h b/XYK/mavlink_msg_xyk_frame3_ap_to_gcs.h new file mode 100644 index 0000000..29246a4 --- /dev/null +++ b/XYK/mavlink_msg_xyk_frame3_ap_to_gcs.h @@ -0,0 +1,488 @@ +#pragma once +// MESSAGE XYK_FRAME3_AP_TO_GCS PACKING + +#define MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS 30003 + +MAVPACKED( +typedef struct __mavlink_xyk_frame3_ap_to_gcs_t { + int32_t XYK_CUR_NAV_LON; /*< current longitude,0.0000001,[-180^,180^]*/ + int32_t XYK_CUR_NAV_LAT; /*< current latgitude,0.0000001,[-180^,180^]*/ + int32_t XYK_CUR_NAV_AGL; /*< current H . 0.01m,[-50000,100000]*/ + int16_t XYK_CUR_LATOFFSET; /*< lat offset,1m,[-32767,32767]*/ + uint16_t XYK_CUR_LONOFFSET; /*< lon off or distence to go,1m,[0,65535]*/ + uint16_t XYK_CUR_DISOFORG; /*< distence to origin,1m,[0,65535]*/ + uint16_t XYK_DSR_WAYPOINT; /*< next waypoint id.[0,800]*/ + uint8_t XYK_CUR_AIRLINE; /*< current airline id,[0,11]*/ + uint8_t XYK_CUR_GPSTIM_H; /*< GPS TIME h,[0,23]*/ + uint8_t XYK_CUR_GPSTIM_MIN; /*< GPS TIME min,[0,59]*/ + uint8_t XYK_CUR_GPSTIM_SEC; /*< GPS TIME s,[0,59]*/ + int8_t XYK_DSR_NOUSED; /*< tobe extened.*/ +}) mavlink_xyk_frame3_ap_to_gcs_t; + +#define MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN 25 +#define MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN 25 +#define MAVLINK_MSG_ID_30003_LEN 25 +#define MAVLINK_MSG_ID_30003_MIN_LEN 25 + +#define MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC 13 +#define MAVLINK_MSG_ID_30003_CRC 13 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_FRAME3_AP_TO_GCS { \ + 30003, \ + "XYK_FRAME3_AP_TO_GCS", \ + 12, \ + { { "XYK_CUR_NAV_LON", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_NAV_LON) }, \ + { "XYK_CUR_NAV_LAT", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_NAV_LAT) }, \ + { "XYK_CUR_NAV_AGL", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_NAV_AGL) }, \ + { "XYK_CUR_LATOFFSET", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_LATOFFSET) }, \ + { "XYK_CUR_LONOFFSET", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_LONOFFSET) }, \ + { "XYK_CUR_DISOFORG", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_DISOFORG) }, \ + { "XYK_CUR_AIRLINE", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_AIRLINE) }, \ + { "XYK_DSR_WAYPOINT", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_DSR_WAYPOINT) }, \ + { "XYK_CUR_GPSTIM_H", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_GPSTIM_H) }, \ + { "XYK_CUR_GPSTIM_MIN", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_GPSTIM_MIN) }, \ + { "XYK_CUR_GPSTIM_SEC", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_GPSTIM_SEC) }, \ + { "XYK_DSR_NOUSED", NULL, MAVLINK_TYPE_INT8_T, 0, 24, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_DSR_NOUSED) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_FRAME3_AP_TO_GCS { \ + "XYK_FRAME3_AP_TO_GCS", \ + 12, \ + { { "XYK_CUR_NAV_LON", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_NAV_LON) }, \ + { "XYK_CUR_NAV_LAT", NULL, MAVLINK_TYPE_INT32_T, 0, 4, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_NAV_LAT) }, \ + { "XYK_CUR_NAV_AGL", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_NAV_AGL) }, \ + { "XYK_CUR_LATOFFSET", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_LATOFFSET) }, \ + { "XYK_CUR_LONOFFSET", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_LONOFFSET) }, \ + { "XYK_CUR_DISOFORG", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_DISOFORG) }, \ + { "XYK_CUR_AIRLINE", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_AIRLINE) }, \ + { "XYK_DSR_WAYPOINT", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_DSR_WAYPOINT) }, \ + { "XYK_CUR_GPSTIM_H", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_GPSTIM_H) }, \ + { "XYK_CUR_GPSTIM_MIN", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_GPSTIM_MIN) }, \ + { "XYK_CUR_GPSTIM_SEC", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_CUR_GPSTIM_SEC) }, \ + { "XYK_DSR_NOUSED", NULL, MAVLINK_TYPE_INT8_T, 0, 24, offsetof(mavlink_xyk_frame3_ap_to_gcs_t, XYK_DSR_NOUSED) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_frame3_ap_to_gcs 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 XYK_CUR_NAV_LON current longitude,0.0000001,[-180^,180^] + * @param XYK_CUR_NAV_LAT current latgitude,0.0000001,[-180^,180^] + * @param XYK_CUR_NAV_AGL current H . 0.01m,[-50000,100000] + * @param XYK_CUR_LATOFFSET lat offset,1m,[-32767,32767] + * @param XYK_CUR_LONOFFSET lon off or distence to go,1m,[0,65535] + * @param XYK_CUR_DISOFORG distence to origin,1m,[0,65535] + * @param XYK_CUR_AIRLINE current airline id,[0,11] + * @param XYK_DSR_WAYPOINT next waypoint id.[0,800] + * @param XYK_CUR_GPSTIM_H GPS TIME h,[0,23] + * @param XYK_CUR_GPSTIM_MIN GPS TIME min,[0,59] + * @param XYK_CUR_GPSTIM_SEC GPS TIME s,[0,59] + * @param XYK_DSR_NOUSED tobe extened. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame3_ap_to_gcs_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + int32_t XYK_CUR_NAV_LON, int32_t XYK_CUR_NAV_LAT, int32_t XYK_CUR_NAV_AGL, int16_t XYK_CUR_LATOFFSET, uint16_t XYK_CUR_LONOFFSET, uint16_t XYK_CUR_DISOFORG, uint8_t XYK_CUR_AIRLINE, uint16_t XYK_DSR_WAYPOINT, uint8_t XYK_CUR_GPSTIM_H, uint8_t XYK_CUR_GPSTIM_MIN, uint8_t XYK_CUR_GPSTIM_SEC, int8_t XYK_DSR_NOUSED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN]; + _mav_put_int32_t(buf, 0, XYK_CUR_NAV_LON); + _mav_put_int32_t(buf, 4, XYK_CUR_NAV_LAT); + _mav_put_int32_t(buf, 8, XYK_CUR_NAV_AGL); + _mav_put_int16_t(buf, 12, XYK_CUR_LATOFFSET); + _mav_put_uint16_t(buf, 14, XYK_CUR_LONOFFSET); + _mav_put_uint16_t(buf, 16, XYK_CUR_DISOFORG); + _mav_put_uint16_t(buf, 18, XYK_DSR_WAYPOINT); + _mav_put_uint8_t(buf, 20, XYK_CUR_AIRLINE); + _mav_put_uint8_t(buf, 21, XYK_CUR_GPSTIM_H); + _mav_put_uint8_t(buf, 22, XYK_CUR_GPSTIM_MIN); + _mav_put_uint8_t(buf, 23, XYK_CUR_GPSTIM_SEC); + _mav_put_int8_t(buf, 24, XYK_DSR_NOUSED); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame3_ap_to_gcs_t packet; + packet.XYK_CUR_NAV_LON = XYK_CUR_NAV_LON; + packet.XYK_CUR_NAV_LAT = XYK_CUR_NAV_LAT; + packet.XYK_CUR_NAV_AGL = XYK_CUR_NAV_AGL; + packet.XYK_CUR_LATOFFSET = XYK_CUR_LATOFFSET; + packet.XYK_CUR_LONOFFSET = XYK_CUR_LONOFFSET; + packet.XYK_CUR_DISOFORG = XYK_CUR_DISOFORG; + packet.XYK_DSR_WAYPOINT = XYK_DSR_WAYPOINT; + packet.XYK_CUR_AIRLINE = XYK_CUR_AIRLINE; + packet.XYK_CUR_GPSTIM_H = XYK_CUR_GPSTIM_H; + packet.XYK_CUR_GPSTIM_MIN = XYK_CUR_GPSTIM_MIN; + packet.XYK_CUR_GPSTIM_SEC = XYK_CUR_GPSTIM_SEC; + packet.XYK_DSR_NOUSED = XYK_DSR_NOUSED; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC); +} + +/** + * @brief Pack a xyk_frame3_ap_to_gcs 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 XYK_CUR_NAV_LON current longitude,0.0000001,[-180^,180^] + * @param XYK_CUR_NAV_LAT current latgitude,0.0000001,[-180^,180^] + * @param XYK_CUR_NAV_AGL current H . 0.01m,[-50000,100000] + * @param XYK_CUR_LATOFFSET lat offset,1m,[-32767,32767] + * @param XYK_CUR_LONOFFSET lon off or distence to go,1m,[0,65535] + * @param XYK_CUR_DISOFORG distence to origin,1m,[0,65535] + * @param XYK_CUR_AIRLINE current airline id,[0,11] + * @param XYK_DSR_WAYPOINT next waypoint id.[0,800] + * @param XYK_CUR_GPSTIM_H GPS TIME h,[0,23] + * @param XYK_CUR_GPSTIM_MIN GPS TIME min,[0,59] + * @param XYK_CUR_GPSTIM_SEC GPS TIME s,[0,59] + * @param XYK_DSR_NOUSED tobe extened. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame3_ap_to_gcs_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + int32_t XYK_CUR_NAV_LON,int32_t XYK_CUR_NAV_LAT,int32_t XYK_CUR_NAV_AGL,int16_t XYK_CUR_LATOFFSET,uint16_t XYK_CUR_LONOFFSET,uint16_t XYK_CUR_DISOFORG,uint8_t XYK_CUR_AIRLINE,uint16_t XYK_DSR_WAYPOINT,uint8_t XYK_CUR_GPSTIM_H,uint8_t XYK_CUR_GPSTIM_MIN,uint8_t XYK_CUR_GPSTIM_SEC,int8_t XYK_DSR_NOUSED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN]; + _mav_put_int32_t(buf, 0, XYK_CUR_NAV_LON); + _mav_put_int32_t(buf, 4, XYK_CUR_NAV_LAT); + _mav_put_int32_t(buf, 8, XYK_CUR_NAV_AGL); + _mav_put_int16_t(buf, 12, XYK_CUR_LATOFFSET); + _mav_put_uint16_t(buf, 14, XYK_CUR_LONOFFSET); + _mav_put_uint16_t(buf, 16, XYK_CUR_DISOFORG); + _mav_put_uint16_t(buf, 18, XYK_DSR_WAYPOINT); + _mav_put_uint8_t(buf, 20, XYK_CUR_AIRLINE); + _mav_put_uint8_t(buf, 21, XYK_CUR_GPSTIM_H); + _mav_put_uint8_t(buf, 22, XYK_CUR_GPSTIM_MIN); + _mav_put_uint8_t(buf, 23, XYK_CUR_GPSTIM_SEC); + _mav_put_int8_t(buf, 24, XYK_DSR_NOUSED); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame3_ap_to_gcs_t packet; + packet.XYK_CUR_NAV_LON = XYK_CUR_NAV_LON; + packet.XYK_CUR_NAV_LAT = XYK_CUR_NAV_LAT; + packet.XYK_CUR_NAV_AGL = XYK_CUR_NAV_AGL; + packet.XYK_CUR_LATOFFSET = XYK_CUR_LATOFFSET; + packet.XYK_CUR_LONOFFSET = XYK_CUR_LONOFFSET; + packet.XYK_CUR_DISOFORG = XYK_CUR_DISOFORG; + packet.XYK_DSR_WAYPOINT = XYK_DSR_WAYPOINT; + packet.XYK_CUR_AIRLINE = XYK_CUR_AIRLINE; + packet.XYK_CUR_GPSTIM_H = XYK_CUR_GPSTIM_H; + packet.XYK_CUR_GPSTIM_MIN = XYK_CUR_GPSTIM_MIN; + packet.XYK_CUR_GPSTIM_SEC = XYK_CUR_GPSTIM_SEC; + packet.XYK_DSR_NOUSED = XYK_DSR_NOUSED; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC); +} + +/** + * @brief Encode a xyk_frame3_ap_to_gcs 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_frame3_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame3_ap_to_gcs_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_frame3_ap_to_gcs_t* xyk_frame3_ap_to_gcs) +{ + return mavlink_msg_xyk_frame3_ap_to_gcs_pack(system_id, component_id, msg, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LON, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LAT, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_AGL, xyk_frame3_ap_to_gcs->XYK_CUR_LATOFFSET, xyk_frame3_ap_to_gcs->XYK_CUR_LONOFFSET, xyk_frame3_ap_to_gcs->XYK_CUR_DISOFORG, xyk_frame3_ap_to_gcs->XYK_CUR_AIRLINE, xyk_frame3_ap_to_gcs->XYK_DSR_WAYPOINT, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_H, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_MIN, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_SEC, xyk_frame3_ap_to_gcs->XYK_DSR_NOUSED); +} + +/** + * @brief Encode a xyk_frame3_ap_to_gcs 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_frame3_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame3_ap_to_gcs_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_frame3_ap_to_gcs_t* xyk_frame3_ap_to_gcs) +{ + return mavlink_msg_xyk_frame3_ap_to_gcs_pack_chan(system_id, component_id, chan, msg, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LON, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LAT, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_AGL, xyk_frame3_ap_to_gcs->XYK_CUR_LATOFFSET, xyk_frame3_ap_to_gcs->XYK_CUR_LONOFFSET, xyk_frame3_ap_to_gcs->XYK_CUR_DISOFORG, xyk_frame3_ap_to_gcs->XYK_CUR_AIRLINE, xyk_frame3_ap_to_gcs->XYK_DSR_WAYPOINT, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_H, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_MIN, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_SEC, xyk_frame3_ap_to_gcs->XYK_DSR_NOUSED); +} + +/** + * @brief Send a xyk_frame3_ap_to_gcs message + * @param chan MAVLink channel to send the message + * + * @param XYK_CUR_NAV_LON current longitude,0.0000001,[-180^,180^] + * @param XYK_CUR_NAV_LAT current latgitude,0.0000001,[-180^,180^] + * @param XYK_CUR_NAV_AGL current H . 0.01m,[-50000,100000] + * @param XYK_CUR_LATOFFSET lat offset,1m,[-32767,32767] + * @param XYK_CUR_LONOFFSET lon off or distence to go,1m,[0,65535] + * @param XYK_CUR_DISOFORG distence to origin,1m,[0,65535] + * @param XYK_CUR_AIRLINE current airline id,[0,11] + * @param XYK_DSR_WAYPOINT next waypoint id.[0,800] + * @param XYK_CUR_GPSTIM_H GPS TIME h,[0,23] + * @param XYK_CUR_GPSTIM_MIN GPS TIME min,[0,59] + * @param XYK_CUR_GPSTIM_SEC GPS TIME s,[0,59] + * @param XYK_DSR_NOUSED tobe extened. + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_frame3_ap_to_gcs_send(mavlink_channel_t chan, int32_t XYK_CUR_NAV_LON, int32_t XYK_CUR_NAV_LAT, int32_t XYK_CUR_NAV_AGL, int16_t XYK_CUR_LATOFFSET, uint16_t XYK_CUR_LONOFFSET, uint16_t XYK_CUR_DISOFORG, uint8_t XYK_CUR_AIRLINE, uint16_t XYK_DSR_WAYPOINT, uint8_t XYK_CUR_GPSTIM_H, uint8_t XYK_CUR_GPSTIM_MIN, uint8_t XYK_CUR_GPSTIM_SEC, int8_t XYK_DSR_NOUSED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN]; + _mav_put_int32_t(buf, 0, XYK_CUR_NAV_LON); + _mav_put_int32_t(buf, 4, XYK_CUR_NAV_LAT); + _mav_put_int32_t(buf, 8, XYK_CUR_NAV_AGL); + _mav_put_int16_t(buf, 12, XYK_CUR_LATOFFSET); + _mav_put_uint16_t(buf, 14, XYK_CUR_LONOFFSET); + _mav_put_uint16_t(buf, 16, XYK_CUR_DISOFORG); + _mav_put_uint16_t(buf, 18, XYK_DSR_WAYPOINT); + _mav_put_uint8_t(buf, 20, XYK_CUR_AIRLINE); + _mav_put_uint8_t(buf, 21, XYK_CUR_GPSTIM_H); + _mav_put_uint8_t(buf, 22, XYK_CUR_GPSTIM_MIN); + _mav_put_uint8_t(buf, 23, XYK_CUR_GPSTIM_SEC); + _mav_put_int8_t(buf, 24, XYK_DSR_NOUSED); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame3_ap_to_gcs_t packet; + packet.XYK_CUR_NAV_LON = XYK_CUR_NAV_LON; + packet.XYK_CUR_NAV_LAT = XYK_CUR_NAV_LAT; + packet.XYK_CUR_NAV_AGL = XYK_CUR_NAV_AGL; + packet.XYK_CUR_LATOFFSET = XYK_CUR_LATOFFSET; + packet.XYK_CUR_LONOFFSET = XYK_CUR_LONOFFSET; + packet.XYK_CUR_DISOFORG = XYK_CUR_DISOFORG; + packet.XYK_DSR_WAYPOINT = XYK_DSR_WAYPOINT; + packet.XYK_CUR_AIRLINE = XYK_CUR_AIRLINE; + packet.XYK_CUR_GPSTIM_H = XYK_CUR_GPSTIM_H; + packet.XYK_CUR_GPSTIM_MIN = XYK_CUR_GPSTIM_MIN; + packet.XYK_CUR_GPSTIM_SEC = XYK_CUR_GPSTIM_SEC; + packet.XYK_DSR_NOUSED = XYK_DSR_NOUSED; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS, (const char *)&packet, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC); +#endif +} + +/** + * @brief Send a xyk_frame3_ap_to_gcs message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_frame3_ap_to_gcs_send_struct(mavlink_channel_t chan, const mavlink_xyk_frame3_ap_to_gcs_t* xyk_frame3_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_frame3_ap_to_gcs_send(chan, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LON, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LAT, xyk_frame3_ap_to_gcs->XYK_CUR_NAV_AGL, xyk_frame3_ap_to_gcs->XYK_CUR_LATOFFSET, xyk_frame3_ap_to_gcs->XYK_CUR_LONOFFSET, xyk_frame3_ap_to_gcs->XYK_CUR_DISOFORG, xyk_frame3_ap_to_gcs->XYK_CUR_AIRLINE, xyk_frame3_ap_to_gcs->XYK_DSR_WAYPOINT, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_H, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_MIN, xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_SEC, xyk_frame3_ap_to_gcs->XYK_DSR_NOUSED); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS, (const char *)xyk_frame3_ap_to_gcs, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_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_xyk_frame3_ap_to_gcs_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, int32_t XYK_CUR_NAV_LON, int32_t XYK_CUR_NAV_LAT, int32_t XYK_CUR_NAV_AGL, int16_t XYK_CUR_LATOFFSET, uint16_t XYK_CUR_LONOFFSET, uint16_t XYK_CUR_DISOFORG, uint8_t XYK_CUR_AIRLINE, uint16_t XYK_DSR_WAYPOINT, uint8_t XYK_CUR_GPSTIM_H, uint8_t XYK_CUR_GPSTIM_MIN, uint8_t XYK_CUR_GPSTIM_SEC, int8_t XYK_DSR_NOUSED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_int32_t(buf, 0, XYK_CUR_NAV_LON); + _mav_put_int32_t(buf, 4, XYK_CUR_NAV_LAT); + _mav_put_int32_t(buf, 8, XYK_CUR_NAV_AGL); + _mav_put_int16_t(buf, 12, XYK_CUR_LATOFFSET); + _mav_put_uint16_t(buf, 14, XYK_CUR_LONOFFSET); + _mav_put_uint16_t(buf, 16, XYK_CUR_DISOFORG); + _mav_put_uint16_t(buf, 18, XYK_DSR_WAYPOINT); + _mav_put_uint8_t(buf, 20, XYK_CUR_AIRLINE); + _mav_put_uint8_t(buf, 21, XYK_CUR_GPSTIM_H); + _mav_put_uint8_t(buf, 22, XYK_CUR_GPSTIM_MIN); + _mav_put_uint8_t(buf, 23, XYK_CUR_GPSTIM_SEC); + _mav_put_int8_t(buf, 24, XYK_DSR_NOUSED); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame3_ap_to_gcs_t *packet = (mavlink_xyk_frame3_ap_to_gcs_t *)msgbuf; + packet->XYK_CUR_NAV_LON = XYK_CUR_NAV_LON; + packet->XYK_CUR_NAV_LAT = XYK_CUR_NAV_LAT; + packet->XYK_CUR_NAV_AGL = XYK_CUR_NAV_AGL; + packet->XYK_CUR_LATOFFSET = XYK_CUR_LATOFFSET; + packet->XYK_CUR_LONOFFSET = XYK_CUR_LONOFFSET; + packet->XYK_CUR_DISOFORG = XYK_CUR_DISOFORG; + packet->XYK_DSR_WAYPOINT = XYK_DSR_WAYPOINT; + packet->XYK_CUR_AIRLINE = XYK_CUR_AIRLINE; + packet->XYK_CUR_GPSTIM_H = XYK_CUR_GPSTIM_H; + packet->XYK_CUR_GPSTIM_MIN = XYK_CUR_GPSTIM_MIN; + packet->XYK_CUR_GPSTIM_SEC = XYK_CUR_GPSTIM_SEC; + packet->XYK_DSR_NOUSED = XYK_DSR_NOUSED; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS, (const char *)packet, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_FRAME3_AP_TO_GCS UNPACKING + + +/** + * @brief Get field XYK_CUR_NAV_LON from xyk_frame3_ap_to_gcs message + * + * @return current longitude,0.0000001,[-180^,180^] + */ +static inline int32_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_NAV_LON(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int32_t(msg, 0); +} + +/** + * @brief Get field XYK_CUR_NAV_LAT from xyk_frame3_ap_to_gcs message + * + * @return current latgitude,0.0000001,[-180^,180^] + */ +static inline int32_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_NAV_LAT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int32_t(msg, 4); +} + +/** + * @brief Get field XYK_CUR_NAV_AGL from xyk_frame3_ap_to_gcs message + * + * @return current H . 0.01m,[-50000,100000] + */ +static inline int32_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_NAV_AGL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int32_t(msg, 8); +} + +/** + * @brief Get field XYK_CUR_LATOFFSET from xyk_frame3_ap_to_gcs message + * + * @return lat offset,1m,[-32767,32767] + */ +static inline int16_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_LATOFFSET(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 12); +} + +/** + * @brief Get field XYK_CUR_LONOFFSET from xyk_frame3_ap_to_gcs message + * + * @return lon off or distence to go,1m,[0,65535] + */ +static inline uint16_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_LONOFFSET(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 14); +} + +/** + * @brief Get field XYK_CUR_DISOFORG from xyk_frame3_ap_to_gcs message + * + * @return distence to origin,1m,[0,65535] + */ +static inline uint16_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_DISOFORG(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 16); +} + +/** + * @brief Get field XYK_CUR_AIRLINE from xyk_frame3_ap_to_gcs message + * + * @return current airline id,[0,11] + */ +static inline uint8_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_AIRLINE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 20); +} + +/** + * @brief Get field XYK_DSR_WAYPOINT from xyk_frame3_ap_to_gcs message + * + * @return next waypoint id.[0,800] + */ +static inline uint16_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_DSR_WAYPOINT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 18); +} + +/** + * @brief Get field XYK_CUR_GPSTIM_H from xyk_frame3_ap_to_gcs message + * + * @return GPS TIME h,[0,23] + */ +static inline uint8_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_GPSTIM_H(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 21); +} + +/** + * @brief Get field XYK_CUR_GPSTIM_MIN from xyk_frame3_ap_to_gcs message + * + * @return GPS TIME min,[0,59] + */ +static inline uint8_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_GPSTIM_MIN(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 22); +} + +/** + * @brief Get field XYK_CUR_GPSTIM_SEC from xyk_frame3_ap_to_gcs message + * + * @return GPS TIME s,[0,59] + */ +static inline uint8_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_GPSTIM_SEC(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 23); +} + +/** + * @brief Get field XYK_DSR_NOUSED from xyk_frame3_ap_to_gcs message + * + * @return tobe extened. + */ +static inline int8_t mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_DSR_NOUSED(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 24); +} + +/** + * @brief Decode a xyk_frame3_ap_to_gcs message into a struct + * + * @param msg The message to decode + * @param xyk_frame3_ap_to_gcs C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_frame3_ap_to_gcs_decode(const mavlink_message_t* msg, mavlink_xyk_frame3_ap_to_gcs_t* xyk_frame3_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LON = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_NAV_LON(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_NAV_LAT = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_NAV_LAT(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_NAV_AGL = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_NAV_AGL(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_LATOFFSET = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_LATOFFSET(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_LONOFFSET = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_LONOFFSET(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_DISOFORG = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_DISOFORG(msg); + xyk_frame3_ap_to_gcs->XYK_DSR_WAYPOINT = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_DSR_WAYPOINT(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_AIRLINE = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_AIRLINE(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_H = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_GPSTIM_H(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_MIN = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_GPSTIM_MIN(msg); + xyk_frame3_ap_to_gcs->XYK_CUR_GPSTIM_SEC = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_CUR_GPSTIM_SEC(msg); + xyk_frame3_ap_to_gcs->XYK_DSR_NOUSED = mavlink_msg_xyk_frame3_ap_to_gcs_get_XYK_DSR_NOUSED(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN? msg->len : MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN; + memset(xyk_frame3_ap_to_gcs, 0, MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_LEN); + memcpy(xyk_frame3_ap_to_gcs, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_frame4_eo_ap_to_gcs.h b/XYK/mavlink_msg_xyk_frame4_eo_ap_to_gcs.h new file mode 100644 index 0000000..20464db --- /dev/null +++ b/XYK/mavlink_msg_xyk_frame4_eo_ap_to_gcs.h @@ -0,0 +1,763 @@ +#pragma once +// MESSAGE XYK_FRAME4_EO_AP_TO_GCS PACKING + +#define MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS 30054 + +MAVPACKED( +typedef struct __mavlink_xyk_frame4_eo_ap_to_gcs_t { + uint32_t XYK_EO_PHOTO_FRAM; /*< */ + uint32_t XYK_EO_TARGET_LON; /*< */ + uint32_t XYK_EO_TARGET_ALT; /*< */ + int16_t XYK_FOCUS; /*< FOCUS.*/ + int16_t XYK_EO_PITCH; /*< */ + int16_t XYK_EO_AZMS; /*< */ + int16_t XYK_EO_ROLL; /*< */ + uint16_t XYK_EO_PHOTO_ELEMT; /*< */ + uint16_t XYK_EO_LAT_PHOTO_ELEMT; /*< */ + uint16_t XYK_EO_LON_POTO_ELEMT; /*< */ + uint16_t XYK_EO_SENSOR_LEN; /*< */ + uint16_t XYK_EO_SENSOR_WIDE; /*< */ + int16_t XYK_EO_HORZ_LOSTTAR; /*< .*/ + uint16_t XYK_EO_SYSCLK_ERR; /*< */ + int16_t XYK_EO_DISTENCE_MSR; /*< .*/ + uint8_t MSG4_EO_AP_Component; /*< Component.*/ + uint8_t MSG4_EO_STATE0; /*< STATE0.*/ + uint8_t MSG4_EO_STATE1; /*< STATE1.*/ + int8_t XYK_EO_VETC_LOSTTAR; /*< */ + uint8_t XYK_EO_PHOTO_CMPRS_RATIO; /*< */ + int8_t XYK_EO_DIO; /*< */ + uint8_t XYK_EO_TARGET_LAN; /*< */ + uint8_t XYK_EO_RESERVED; /*< */ +}) mavlink_xyk_frame4_eo_ap_to_gcs_t; + +#define MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN 44 +#define MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN 44 +#define MAVLINK_MSG_ID_30054_LEN 44 +#define MAVLINK_MSG_ID_30054_MIN_LEN 44 + +#define MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC 128 +#define MAVLINK_MSG_ID_30054_CRC 128 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_FRAME4_EO_AP_TO_GCS { \ + 30054, \ + "XYK_FRAME4_EO_AP_TO_GCS", \ + 23, \ + { { "MSG4_EO_AP_Component", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, MSG4_EO_AP_Component) }, \ + { "MSG4_EO_STATE0", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, MSG4_EO_STATE0) }, \ + { "MSG4_EO_STATE1", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, MSG4_EO_STATE1) }, \ + { "XYK_FOCUS", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_FOCUS) }, \ + { "XYK_EO_PITCH", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PITCH) }, \ + { "XYK_EO_AZMS", NULL, MAVLINK_TYPE_INT16_T, 0, 16, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_AZMS) }, \ + { "XYK_EO_ROLL", NULL, MAVLINK_TYPE_INT16_T, 0, 18, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_ROLL) }, \ + { "XYK_EO_PHOTO_ELEMT", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PHOTO_ELEMT) }, \ + { "XYK_EO_LAT_PHOTO_ELEMT", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_LAT_PHOTO_ELEMT) }, \ + { "XYK_EO_LON_POTO_ELEMT", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_LON_POTO_ELEMT) }, \ + { "XYK_EO_SENSOR_LEN", NULL, MAVLINK_TYPE_UINT16_T, 0, 26, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_SENSOR_LEN) }, \ + { "XYK_EO_SENSOR_WIDE", NULL, MAVLINK_TYPE_UINT16_T, 0, 28, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_SENSOR_WIDE) }, \ + { "XYK_EO_HORZ_LOSTTAR", NULL, MAVLINK_TYPE_INT16_T, 0, 30, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_HORZ_LOSTTAR) }, \ + { "XYK_EO_VETC_LOSTTAR", NULL, MAVLINK_TYPE_INT8_T, 0, 39, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_VETC_LOSTTAR) }, \ + { "XYK_EO_PHOTO_FRAM", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PHOTO_FRAM) }, \ + { "XYK_EO_PHOTO_CMPRS_RATIO", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PHOTO_CMPRS_RATIO) }, \ + { "XYK_EO_SYSCLK_ERR", NULL, MAVLINK_TYPE_UINT16_T, 0, 32, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_SYSCLK_ERR) }, \ + { "XYK_EO_DISTENCE_MSR", NULL, MAVLINK_TYPE_INT16_T, 0, 34, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_DISTENCE_MSR) }, \ + { "XYK_EO_DIO", NULL, MAVLINK_TYPE_INT8_T, 0, 41, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_DIO) }, \ + { "XYK_EO_TARGET_LON", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_TARGET_LON) }, \ + { "XYK_EO_TARGET_LAN", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_TARGET_LAN) }, \ + { "XYK_EO_TARGET_ALT", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_TARGET_ALT) }, \ + { "XYK_EO_RESERVED", NULL, MAVLINK_TYPE_UINT8_T, 0, 43, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_RESERVED) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_FRAME4_EO_AP_TO_GCS { \ + "XYK_FRAME4_EO_AP_TO_GCS", \ + 23, \ + { { "MSG4_EO_AP_Component", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, MSG4_EO_AP_Component) }, \ + { "MSG4_EO_STATE0", NULL, MAVLINK_TYPE_UINT8_T, 0, 37, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, MSG4_EO_STATE0) }, \ + { "MSG4_EO_STATE1", NULL, MAVLINK_TYPE_UINT8_T, 0, 38, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, MSG4_EO_STATE1) }, \ + { "XYK_FOCUS", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_FOCUS) }, \ + { "XYK_EO_PITCH", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PITCH) }, \ + { "XYK_EO_AZMS", NULL, MAVLINK_TYPE_INT16_T, 0, 16, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_AZMS) }, \ + { "XYK_EO_ROLL", NULL, MAVLINK_TYPE_INT16_T, 0, 18, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_ROLL) }, \ + { "XYK_EO_PHOTO_ELEMT", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PHOTO_ELEMT) }, \ + { "XYK_EO_LAT_PHOTO_ELEMT", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_LAT_PHOTO_ELEMT) }, \ + { "XYK_EO_LON_POTO_ELEMT", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_LON_POTO_ELEMT) }, \ + { "XYK_EO_SENSOR_LEN", NULL, MAVLINK_TYPE_UINT16_T, 0, 26, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_SENSOR_LEN) }, \ + { "XYK_EO_SENSOR_WIDE", NULL, MAVLINK_TYPE_UINT16_T, 0, 28, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_SENSOR_WIDE) }, \ + { "XYK_EO_HORZ_LOSTTAR", NULL, MAVLINK_TYPE_INT16_T, 0, 30, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_HORZ_LOSTTAR) }, \ + { "XYK_EO_VETC_LOSTTAR", NULL, MAVLINK_TYPE_INT8_T, 0, 39, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_VETC_LOSTTAR) }, \ + { "XYK_EO_PHOTO_FRAM", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PHOTO_FRAM) }, \ + { "XYK_EO_PHOTO_CMPRS_RATIO", NULL, MAVLINK_TYPE_UINT8_T, 0, 40, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_PHOTO_CMPRS_RATIO) }, \ + { "XYK_EO_SYSCLK_ERR", NULL, MAVLINK_TYPE_UINT16_T, 0, 32, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_SYSCLK_ERR) }, \ + { "XYK_EO_DISTENCE_MSR", NULL, MAVLINK_TYPE_INT16_T, 0, 34, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_DISTENCE_MSR) }, \ + { "XYK_EO_DIO", NULL, MAVLINK_TYPE_INT8_T, 0, 41, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_DIO) }, \ + { "XYK_EO_TARGET_LON", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_TARGET_LON) }, \ + { "XYK_EO_TARGET_LAN", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_TARGET_LAN) }, \ + { "XYK_EO_TARGET_ALT", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_TARGET_ALT) }, \ + { "XYK_EO_RESERVED", NULL, MAVLINK_TYPE_UINT8_T, 0, 43, offsetof(mavlink_xyk_frame4_eo_ap_to_gcs_t, XYK_EO_RESERVED) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_frame4_eo_ap_to_gcs 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 MSG4_EO_AP_Component Component. + * @param MSG4_EO_STATE0 STATE0. + * @param MSG4_EO_STATE1 STATE1. + * @param XYK_FOCUS FOCUS. + * @param XYK_EO_PITCH + * @param XYK_EO_AZMS + * @param XYK_EO_ROLL + * @param XYK_EO_PHOTO_ELEMT + * @param XYK_EO_LAT_PHOTO_ELEMT + * @param XYK_EO_LON_POTO_ELEMT + * @param XYK_EO_SENSOR_LEN + * @param XYK_EO_SENSOR_WIDE + * @param XYK_EO_HORZ_LOSTTAR . + * @param XYK_EO_VETC_LOSTTAR + * @param XYK_EO_PHOTO_FRAM + * @param XYK_EO_PHOTO_CMPRS_RATIO + * @param XYK_EO_SYSCLK_ERR + * @param XYK_EO_DISTENCE_MSR . + * @param XYK_EO_DIO + * @param XYK_EO_TARGET_LON + * @param XYK_EO_TARGET_LAN + * @param XYK_EO_TARGET_ALT + * @param XYK_EO_RESERVED + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t MSG4_EO_AP_Component, uint8_t MSG4_EO_STATE0, uint8_t MSG4_EO_STATE1, int16_t XYK_FOCUS, int16_t XYK_EO_PITCH, int16_t XYK_EO_AZMS, int16_t XYK_EO_ROLL, uint16_t XYK_EO_PHOTO_ELEMT, uint16_t XYK_EO_LAT_PHOTO_ELEMT, uint16_t XYK_EO_LON_POTO_ELEMT, uint16_t XYK_EO_SENSOR_LEN, uint16_t XYK_EO_SENSOR_WIDE, int16_t XYK_EO_HORZ_LOSTTAR, int8_t XYK_EO_VETC_LOSTTAR, uint32_t XYK_EO_PHOTO_FRAM, uint8_t XYK_EO_PHOTO_CMPRS_RATIO, uint16_t XYK_EO_SYSCLK_ERR, int16_t XYK_EO_DISTENCE_MSR, int8_t XYK_EO_DIO, uint32_t XYK_EO_TARGET_LON, uint8_t XYK_EO_TARGET_LAN, uint32_t XYK_EO_TARGET_ALT, uint8_t XYK_EO_RESERVED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN]; + _mav_put_uint32_t(buf, 0, XYK_EO_PHOTO_FRAM); + _mav_put_uint32_t(buf, 4, XYK_EO_TARGET_LON); + _mav_put_uint32_t(buf, 8, XYK_EO_TARGET_ALT); + _mav_put_int16_t(buf, 12, XYK_FOCUS); + _mav_put_int16_t(buf, 14, XYK_EO_PITCH); + _mav_put_int16_t(buf, 16, XYK_EO_AZMS); + _mav_put_int16_t(buf, 18, XYK_EO_ROLL); + _mav_put_uint16_t(buf, 20, XYK_EO_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 22, XYK_EO_LAT_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 24, XYK_EO_LON_POTO_ELEMT); + _mav_put_uint16_t(buf, 26, XYK_EO_SENSOR_LEN); + _mav_put_uint16_t(buf, 28, XYK_EO_SENSOR_WIDE); + _mav_put_int16_t(buf, 30, XYK_EO_HORZ_LOSTTAR); + _mav_put_uint16_t(buf, 32, XYK_EO_SYSCLK_ERR); + _mav_put_int16_t(buf, 34, XYK_EO_DISTENCE_MSR); + _mav_put_uint8_t(buf, 36, MSG4_EO_AP_Component); + _mav_put_uint8_t(buf, 37, MSG4_EO_STATE0); + _mav_put_uint8_t(buf, 38, MSG4_EO_STATE1); + _mav_put_int8_t(buf, 39, XYK_EO_VETC_LOSTTAR); + _mav_put_uint8_t(buf, 40, XYK_EO_PHOTO_CMPRS_RATIO); + _mav_put_int8_t(buf, 41, XYK_EO_DIO); + _mav_put_uint8_t(buf, 42, XYK_EO_TARGET_LAN); + _mav_put_uint8_t(buf, 43, XYK_EO_RESERVED); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame4_eo_ap_to_gcs_t packet; + packet.XYK_EO_PHOTO_FRAM = XYK_EO_PHOTO_FRAM; + packet.XYK_EO_TARGET_LON = XYK_EO_TARGET_LON; + packet.XYK_EO_TARGET_ALT = XYK_EO_TARGET_ALT; + packet.XYK_FOCUS = XYK_FOCUS; + packet.XYK_EO_PITCH = XYK_EO_PITCH; + packet.XYK_EO_AZMS = XYK_EO_AZMS; + packet.XYK_EO_ROLL = XYK_EO_ROLL; + packet.XYK_EO_PHOTO_ELEMT = XYK_EO_PHOTO_ELEMT; + packet.XYK_EO_LAT_PHOTO_ELEMT = XYK_EO_LAT_PHOTO_ELEMT; + packet.XYK_EO_LON_POTO_ELEMT = XYK_EO_LON_POTO_ELEMT; + packet.XYK_EO_SENSOR_LEN = XYK_EO_SENSOR_LEN; + packet.XYK_EO_SENSOR_WIDE = XYK_EO_SENSOR_WIDE; + packet.XYK_EO_HORZ_LOSTTAR = XYK_EO_HORZ_LOSTTAR; + packet.XYK_EO_SYSCLK_ERR = XYK_EO_SYSCLK_ERR; + packet.XYK_EO_DISTENCE_MSR = XYK_EO_DISTENCE_MSR; + packet.MSG4_EO_AP_Component = MSG4_EO_AP_Component; + packet.MSG4_EO_STATE0 = MSG4_EO_STATE0; + packet.MSG4_EO_STATE1 = MSG4_EO_STATE1; + packet.XYK_EO_VETC_LOSTTAR = XYK_EO_VETC_LOSTTAR; + packet.XYK_EO_PHOTO_CMPRS_RATIO = XYK_EO_PHOTO_CMPRS_RATIO; + packet.XYK_EO_DIO = XYK_EO_DIO; + packet.XYK_EO_TARGET_LAN = XYK_EO_TARGET_LAN; + packet.XYK_EO_RESERVED = XYK_EO_RESERVED; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC); +} + +/** + * @brief Pack a xyk_frame4_eo_ap_to_gcs 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 MSG4_EO_AP_Component Component. + * @param MSG4_EO_STATE0 STATE0. + * @param MSG4_EO_STATE1 STATE1. + * @param XYK_FOCUS FOCUS. + * @param XYK_EO_PITCH + * @param XYK_EO_AZMS + * @param XYK_EO_ROLL + * @param XYK_EO_PHOTO_ELEMT + * @param XYK_EO_LAT_PHOTO_ELEMT + * @param XYK_EO_LON_POTO_ELEMT + * @param XYK_EO_SENSOR_LEN + * @param XYK_EO_SENSOR_WIDE + * @param XYK_EO_HORZ_LOSTTAR . + * @param XYK_EO_VETC_LOSTTAR + * @param XYK_EO_PHOTO_FRAM + * @param XYK_EO_PHOTO_CMPRS_RATIO + * @param XYK_EO_SYSCLK_ERR + * @param XYK_EO_DISTENCE_MSR . + * @param XYK_EO_DIO + * @param XYK_EO_TARGET_LON + * @param XYK_EO_TARGET_LAN + * @param XYK_EO_TARGET_ALT + * @param XYK_EO_RESERVED + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t MSG4_EO_AP_Component,uint8_t MSG4_EO_STATE0,uint8_t MSG4_EO_STATE1,int16_t XYK_FOCUS,int16_t XYK_EO_PITCH,int16_t XYK_EO_AZMS,int16_t XYK_EO_ROLL,uint16_t XYK_EO_PHOTO_ELEMT,uint16_t XYK_EO_LAT_PHOTO_ELEMT,uint16_t XYK_EO_LON_POTO_ELEMT,uint16_t XYK_EO_SENSOR_LEN,uint16_t XYK_EO_SENSOR_WIDE,int16_t XYK_EO_HORZ_LOSTTAR,int8_t XYK_EO_VETC_LOSTTAR,uint32_t XYK_EO_PHOTO_FRAM,uint8_t XYK_EO_PHOTO_CMPRS_RATIO,uint16_t XYK_EO_SYSCLK_ERR,int16_t XYK_EO_DISTENCE_MSR,int8_t XYK_EO_DIO,uint32_t XYK_EO_TARGET_LON,uint8_t XYK_EO_TARGET_LAN,uint32_t XYK_EO_TARGET_ALT,uint8_t XYK_EO_RESERVED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN]; + _mav_put_uint32_t(buf, 0, XYK_EO_PHOTO_FRAM); + _mav_put_uint32_t(buf, 4, XYK_EO_TARGET_LON); + _mav_put_uint32_t(buf, 8, XYK_EO_TARGET_ALT); + _mav_put_int16_t(buf, 12, XYK_FOCUS); + _mav_put_int16_t(buf, 14, XYK_EO_PITCH); + _mav_put_int16_t(buf, 16, XYK_EO_AZMS); + _mav_put_int16_t(buf, 18, XYK_EO_ROLL); + _mav_put_uint16_t(buf, 20, XYK_EO_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 22, XYK_EO_LAT_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 24, XYK_EO_LON_POTO_ELEMT); + _mav_put_uint16_t(buf, 26, XYK_EO_SENSOR_LEN); + _mav_put_uint16_t(buf, 28, XYK_EO_SENSOR_WIDE); + _mav_put_int16_t(buf, 30, XYK_EO_HORZ_LOSTTAR); + _mav_put_uint16_t(buf, 32, XYK_EO_SYSCLK_ERR); + _mav_put_int16_t(buf, 34, XYK_EO_DISTENCE_MSR); + _mav_put_uint8_t(buf, 36, MSG4_EO_AP_Component); + _mav_put_uint8_t(buf, 37, MSG4_EO_STATE0); + _mav_put_uint8_t(buf, 38, MSG4_EO_STATE1); + _mav_put_int8_t(buf, 39, XYK_EO_VETC_LOSTTAR); + _mav_put_uint8_t(buf, 40, XYK_EO_PHOTO_CMPRS_RATIO); + _mav_put_int8_t(buf, 41, XYK_EO_DIO); + _mav_put_uint8_t(buf, 42, XYK_EO_TARGET_LAN); + _mav_put_uint8_t(buf, 43, XYK_EO_RESERVED); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN); +#else + mavlink_xyk_frame4_eo_ap_to_gcs_t packet; + packet.XYK_EO_PHOTO_FRAM = XYK_EO_PHOTO_FRAM; + packet.XYK_EO_TARGET_LON = XYK_EO_TARGET_LON; + packet.XYK_EO_TARGET_ALT = XYK_EO_TARGET_ALT; + packet.XYK_FOCUS = XYK_FOCUS; + packet.XYK_EO_PITCH = XYK_EO_PITCH; + packet.XYK_EO_AZMS = XYK_EO_AZMS; + packet.XYK_EO_ROLL = XYK_EO_ROLL; + packet.XYK_EO_PHOTO_ELEMT = XYK_EO_PHOTO_ELEMT; + packet.XYK_EO_LAT_PHOTO_ELEMT = XYK_EO_LAT_PHOTO_ELEMT; + packet.XYK_EO_LON_POTO_ELEMT = XYK_EO_LON_POTO_ELEMT; + packet.XYK_EO_SENSOR_LEN = XYK_EO_SENSOR_LEN; + packet.XYK_EO_SENSOR_WIDE = XYK_EO_SENSOR_WIDE; + packet.XYK_EO_HORZ_LOSTTAR = XYK_EO_HORZ_LOSTTAR; + packet.XYK_EO_SYSCLK_ERR = XYK_EO_SYSCLK_ERR; + packet.XYK_EO_DISTENCE_MSR = XYK_EO_DISTENCE_MSR; + packet.MSG4_EO_AP_Component = MSG4_EO_AP_Component; + packet.MSG4_EO_STATE0 = MSG4_EO_STATE0; + packet.MSG4_EO_STATE1 = MSG4_EO_STATE1; + packet.XYK_EO_VETC_LOSTTAR = XYK_EO_VETC_LOSTTAR; + packet.XYK_EO_PHOTO_CMPRS_RATIO = XYK_EO_PHOTO_CMPRS_RATIO; + packet.XYK_EO_DIO = XYK_EO_DIO; + packet.XYK_EO_TARGET_LAN = XYK_EO_TARGET_LAN; + packet.XYK_EO_RESERVED = XYK_EO_RESERVED; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC); +} + +/** + * @brief Encode a xyk_frame4_eo_ap_to_gcs 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_frame4_eo_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_frame4_eo_ap_to_gcs_t* xyk_frame4_eo_ap_to_gcs) +{ + return mavlink_msg_xyk_frame4_eo_ap_to_gcs_pack(system_id, component_id, msg, xyk_frame4_eo_ap_to_gcs->MSG4_EO_AP_Component, xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE0, xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE1, xyk_frame4_eo_ap_to_gcs->XYK_FOCUS, xyk_frame4_eo_ap_to_gcs->XYK_EO_PITCH, xyk_frame4_eo_ap_to_gcs->XYK_EO_AZMS, xyk_frame4_eo_ap_to_gcs->XYK_EO_ROLL, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_LAT_PHOTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_LON_POTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_LEN, xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_WIDE, xyk_frame4_eo_ap_to_gcs->XYK_EO_HORZ_LOSTTAR, xyk_frame4_eo_ap_to_gcs->XYK_EO_VETC_LOSTTAR, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_FRAM, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_CMPRS_RATIO, xyk_frame4_eo_ap_to_gcs->XYK_EO_SYSCLK_ERR, xyk_frame4_eo_ap_to_gcs->XYK_EO_DISTENCE_MSR, xyk_frame4_eo_ap_to_gcs->XYK_EO_DIO, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LON, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LAN, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_ALT, xyk_frame4_eo_ap_to_gcs->XYK_EO_RESERVED); +} + +/** + * @brief Encode a xyk_frame4_eo_ap_to_gcs 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_frame4_eo_ap_to_gcs C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_frame4_eo_ap_to_gcs_t* xyk_frame4_eo_ap_to_gcs) +{ + return mavlink_msg_xyk_frame4_eo_ap_to_gcs_pack_chan(system_id, component_id, chan, msg, xyk_frame4_eo_ap_to_gcs->MSG4_EO_AP_Component, xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE0, xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE1, xyk_frame4_eo_ap_to_gcs->XYK_FOCUS, xyk_frame4_eo_ap_to_gcs->XYK_EO_PITCH, xyk_frame4_eo_ap_to_gcs->XYK_EO_AZMS, xyk_frame4_eo_ap_to_gcs->XYK_EO_ROLL, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_LAT_PHOTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_LON_POTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_LEN, xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_WIDE, xyk_frame4_eo_ap_to_gcs->XYK_EO_HORZ_LOSTTAR, xyk_frame4_eo_ap_to_gcs->XYK_EO_VETC_LOSTTAR, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_FRAM, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_CMPRS_RATIO, xyk_frame4_eo_ap_to_gcs->XYK_EO_SYSCLK_ERR, xyk_frame4_eo_ap_to_gcs->XYK_EO_DISTENCE_MSR, xyk_frame4_eo_ap_to_gcs->XYK_EO_DIO, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LON, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LAN, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_ALT, xyk_frame4_eo_ap_to_gcs->XYK_EO_RESERVED); +} + +/** + * @brief Send a xyk_frame4_eo_ap_to_gcs message + * @param chan MAVLink channel to send the message + * + * @param MSG4_EO_AP_Component Component. + * @param MSG4_EO_STATE0 STATE0. + * @param MSG4_EO_STATE1 STATE1. + * @param XYK_FOCUS FOCUS. + * @param XYK_EO_PITCH + * @param XYK_EO_AZMS + * @param XYK_EO_ROLL + * @param XYK_EO_PHOTO_ELEMT + * @param XYK_EO_LAT_PHOTO_ELEMT + * @param XYK_EO_LON_POTO_ELEMT + * @param XYK_EO_SENSOR_LEN + * @param XYK_EO_SENSOR_WIDE + * @param XYK_EO_HORZ_LOSTTAR . + * @param XYK_EO_VETC_LOSTTAR + * @param XYK_EO_PHOTO_FRAM + * @param XYK_EO_PHOTO_CMPRS_RATIO + * @param XYK_EO_SYSCLK_ERR + * @param XYK_EO_DISTENCE_MSR . + * @param XYK_EO_DIO + * @param XYK_EO_TARGET_LON + * @param XYK_EO_TARGET_LAN + * @param XYK_EO_TARGET_ALT + * @param XYK_EO_RESERVED + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_frame4_eo_ap_to_gcs_send(mavlink_channel_t chan, uint8_t MSG4_EO_AP_Component, uint8_t MSG4_EO_STATE0, uint8_t MSG4_EO_STATE1, int16_t XYK_FOCUS, int16_t XYK_EO_PITCH, int16_t XYK_EO_AZMS, int16_t XYK_EO_ROLL, uint16_t XYK_EO_PHOTO_ELEMT, uint16_t XYK_EO_LAT_PHOTO_ELEMT, uint16_t XYK_EO_LON_POTO_ELEMT, uint16_t XYK_EO_SENSOR_LEN, uint16_t XYK_EO_SENSOR_WIDE, int16_t XYK_EO_HORZ_LOSTTAR, int8_t XYK_EO_VETC_LOSTTAR, uint32_t XYK_EO_PHOTO_FRAM, uint8_t XYK_EO_PHOTO_CMPRS_RATIO, uint16_t XYK_EO_SYSCLK_ERR, int16_t XYK_EO_DISTENCE_MSR, int8_t XYK_EO_DIO, uint32_t XYK_EO_TARGET_LON, uint8_t XYK_EO_TARGET_LAN, uint32_t XYK_EO_TARGET_ALT, uint8_t XYK_EO_RESERVED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN]; + _mav_put_uint32_t(buf, 0, XYK_EO_PHOTO_FRAM); + _mav_put_uint32_t(buf, 4, XYK_EO_TARGET_LON); + _mav_put_uint32_t(buf, 8, XYK_EO_TARGET_ALT); + _mav_put_int16_t(buf, 12, XYK_FOCUS); + _mav_put_int16_t(buf, 14, XYK_EO_PITCH); + _mav_put_int16_t(buf, 16, XYK_EO_AZMS); + _mav_put_int16_t(buf, 18, XYK_EO_ROLL); + _mav_put_uint16_t(buf, 20, XYK_EO_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 22, XYK_EO_LAT_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 24, XYK_EO_LON_POTO_ELEMT); + _mav_put_uint16_t(buf, 26, XYK_EO_SENSOR_LEN); + _mav_put_uint16_t(buf, 28, XYK_EO_SENSOR_WIDE); + _mav_put_int16_t(buf, 30, XYK_EO_HORZ_LOSTTAR); + _mav_put_uint16_t(buf, 32, XYK_EO_SYSCLK_ERR); + _mav_put_int16_t(buf, 34, XYK_EO_DISTENCE_MSR); + _mav_put_uint8_t(buf, 36, MSG4_EO_AP_Component); + _mav_put_uint8_t(buf, 37, MSG4_EO_STATE0); + _mav_put_uint8_t(buf, 38, MSG4_EO_STATE1); + _mav_put_int8_t(buf, 39, XYK_EO_VETC_LOSTTAR); + _mav_put_uint8_t(buf, 40, XYK_EO_PHOTO_CMPRS_RATIO); + _mav_put_int8_t(buf, 41, XYK_EO_DIO); + _mav_put_uint8_t(buf, 42, XYK_EO_TARGET_LAN); + _mav_put_uint8_t(buf, 43, XYK_EO_RESERVED); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame4_eo_ap_to_gcs_t packet; + packet.XYK_EO_PHOTO_FRAM = XYK_EO_PHOTO_FRAM; + packet.XYK_EO_TARGET_LON = XYK_EO_TARGET_LON; + packet.XYK_EO_TARGET_ALT = XYK_EO_TARGET_ALT; + packet.XYK_FOCUS = XYK_FOCUS; + packet.XYK_EO_PITCH = XYK_EO_PITCH; + packet.XYK_EO_AZMS = XYK_EO_AZMS; + packet.XYK_EO_ROLL = XYK_EO_ROLL; + packet.XYK_EO_PHOTO_ELEMT = XYK_EO_PHOTO_ELEMT; + packet.XYK_EO_LAT_PHOTO_ELEMT = XYK_EO_LAT_PHOTO_ELEMT; + packet.XYK_EO_LON_POTO_ELEMT = XYK_EO_LON_POTO_ELEMT; + packet.XYK_EO_SENSOR_LEN = XYK_EO_SENSOR_LEN; + packet.XYK_EO_SENSOR_WIDE = XYK_EO_SENSOR_WIDE; + packet.XYK_EO_HORZ_LOSTTAR = XYK_EO_HORZ_LOSTTAR; + packet.XYK_EO_SYSCLK_ERR = XYK_EO_SYSCLK_ERR; + packet.XYK_EO_DISTENCE_MSR = XYK_EO_DISTENCE_MSR; + packet.MSG4_EO_AP_Component = MSG4_EO_AP_Component; + packet.MSG4_EO_STATE0 = MSG4_EO_STATE0; + packet.MSG4_EO_STATE1 = MSG4_EO_STATE1; + packet.XYK_EO_VETC_LOSTTAR = XYK_EO_VETC_LOSTTAR; + packet.XYK_EO_PHOTO_CMPRS_RATIO = XYK_EO_PHOTO_CMPRS_RATIO; + packet.XYK_EO_DIO = XYK_EO_DIO; + packet.XYK_EO_TARGET_LAN = XYK_EO_TARGET_LAN; + packet.XYK_EO_RESERVED = XYK_EO_RESERVED; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS, (const char *)&packet, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC); +#endif +} + +/** + * @brief Send a xyk_frame4_eo_ap_to_gcs message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_frame4_eo_ap_to_gcs_send_struct(mavlink_channel_t chan, const mavlink_xyk_frame4_eo_ap_to_gcs_t* xyk_frame4_eo_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_frame4_eo_ap_to_gcs_send(chan, xyk_frame4_eo_ap_to_gcs->MSG4_EO_AP_Component, xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE0, xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE1, xyk_frame4_eo_ap_to_gcs->XYK_FOCUS, xyk_frame4_eo_ap_to_gcs->XYK_EO_PITCH, xyk_frame4_eo_ap_to_gcs->XYK_EO_AZMS, xyk_frame4_eo_ap_to_gcs->XYK_EO_ROLL, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_LAT_PHOTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_LON_POTO_ELEMT, xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_LEN, xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_WIDE, xyk_frame4_eo_ap_to_gcs->XYK_EO_HORZ_LOSTTAR, xyk_frame4_eo_ap_to_gcs->XYK_EO_VETC_LOSTTAR, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_FRAM, xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_CMPRS_RATIO, xyk_frame4_eo_ap_to_gcs->XYK_EO_SYSCLK_ERR, xyk_frame4_eo_ap_to_gcs->XYK_EO_DISTENCE_MSR, xyk_frame4_eo_ap_to_gcs->XYK_EO_DIO, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LON, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LAN, xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_ALT, xyk_frame4_eo_ap_to_gcs->XYK_EO_RESERVED); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS, (const char *)xyk_frame4_eo_ap_to_gcs, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_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_xyk_frame4_eo_ap_to_gcs_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t MSG4_EO_AP_Component, uint8_t MSG4_EO_STATE0, uint8_t MSG4_EO_STATE1, int16_t XYK_FOCUS, int16_t XYK_EO_PITCH, int16_t XYK_EO_AZMS, int16_t XYK_EO_ROLL, uint16_t XYK_EO_PHOTO_ELEMT, uint16_t XYK_EO_LAT_PHOTO_ELEMT, uint16_t XYK_EO_LON_POTO_ELEMT, uint16_t XYK_EO_SENSOR_LEN, uint16_t XYK_EO_SENSOR_WIDE, int16_t XYK_EO_HORZ_LOSTTAR, int8_t XYK_EO_VETC_LOSTTAR, uint32_t XYK_EO_PHOTO_FRAM, uint8_t XYK_EO_PHOTO_CMPRS_RATIO, uint16_t XYK_EO_SYSCLK_ERR, int16_t XYK_EO_DISTENCE_MSR, int8_t XYK_EO_DIO, uint32_t XYK_EO_TARGET_LON, uint8_t XYK_EO_TARGET_LAN, uint32_t XYK_EO_TARGET_ALT, uint8_t XYK_EO_RESERVED) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint32_t(buf, 0, XYK_EO_PHOTO_FRAM); + _mav_put_uint32_t(buf, 4, XYK_EO_TARGET_LON); + _mav_put_uint32_t(buf, 8, XYK_EO_TARGET_ALT); + _mav_put_int16_t(buf, 12, XYK_FOCUS); + _mav_put_int16_t(buf, 14, XYK_EO_PITCH); + _mav_put_int16_t(buf, 16, XYK_EO_AZMS); + _mav_put_int16_t(buf, 18, XYK_EO_ROLL); + _mav_put_uint16_t(buf, 20, XYK_EO_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 22, XYK_EO_LAT_PHOTO_ELEMT); + _mav_put_uint16_t(buf, 24, XYK_EO_LON_POTO_ELEMT); + _mav_put_uint16_t(buf, 26, XYK_EO_SENSOR_LEN); + _mav_put_uint16_t(buf, 28, XYK_EO_SENSOR_WIDE); + _mav_put_int16_t(buf, 30, XYK_EO_HORZ_LOSTTAR); + _mav_put_uint16_t(buf, 32, XYK_EO_SYSCLK_ERR); + _mav_put_int16_t(buf, 34, XYK_EO_DISTENCE_MSR); + _mav_put_uint8_t(buf, 36, MSG4_EO_AP_Component); + _mav_put_uint8_t(buf, 37, MSG4_EO_STATE0); + _mav_put_uint8_t(buf, 38, MSG4_EO_STATE1); + _mav_put_int8_t(buf, 39, XYK_EO_VETC_LOSTTAR); + _mav_put_uint8_t(buf, 40, XYK_EO_PHOTO_CMPRS_RATIO); + _mav_put_int8_t(buf, 41, XYK_EO_DIO); + _mav_put_uint8_t(buf, 42, XYK_EO_TARGET_LAN); + _mav_put_uint8_t(buf, 43, XYK_EO_RESERVED); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS, buf, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC); +#else + mavlink_xyk_frame4_eo_ap_to_gcs_t *packet = (mavlink_xyk_frame4_eo_ap_to_gcs_t *)msgbuf; + packet->XYK_EO_PHOTO_FRAM = XYK_EO_PHOTO_FRAM; + packet->XYK_EO_TARGET_LON = XYK_EO_TARGET_LON; + packet->XYK_EO_TARGET_ALT = XYK_EO_TARGET_ALT; + packet->XYK_FOCUS = XYK_FOCUS; + packet->XYK_EO_PITCH = XYK_EO_PITCH; + packet->XYK_EO_AZMS = XYK_EO_AZMS; + packet->XYK_EO_ROLL = XYK_EO_ROLL; + packet->XYK_EO_PHOTO_ELEMT = XYK_EO_PHOTO_ELEMT; + packet->XYK_EO_LAT_PHOTO_ELEMT = XYK_EO_LAT_PHOTO_ELEMT; + packet->XYK_EO_LON_POTO_ELEMT = XYK_EO_LON_POTO_ELEMT; + packet->XYK_EO_SENSOR_LEN = XYK_EO_SENSOR_LEN; + packet->XYK_EO_SENSOR_WIDE = XYK_EO_SENSOR_WIDE; + packet->XYK_EO_HORZ_LOSTTAR = XYK_EO_HORZ_LOSTTAR; + packet->XYK_EO_SYSCLK_ERR = XYK_EO_SYSCLK_ERR; + packet->XYK_EO_DISTENCE_MSR = XYK_EO_DISTENCE_MSR; + packet->MSG4_EO_AP_Component = MSG4_EO_AP_Component; + packet->MSG4_EO_STATE0 = MSG4_EO_STATE0; + packet->MSG4_EO_STATE1 = MSG4_EO_STATE1; + packet->XYK_EO_VETC_LOSTTAR = XYK_EO_VETC_LOSTTAR; + packet->XYK_EO_PHOTO_CMPRS_RATIO = XYK_EO_PHOTO_CMPRS_RATIO; + packet->XYK_EO_DIO = XYK_EO_DIO; + packet->XYK_EO_TARGET_LAN = XYK_EO_TARGET_LAN; + packet->XYK_EO_RESERVED = XYK_EO_RESERVED; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS, (const char *)packet, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_FRAME4_EO_AP_TO_GCS UNPACKING + + +/** + * @brief Get field MSG4_EO_AP_Component from xyk_frame4_eo_ap_to_gcs message + * + * @return Component. + */ +static inline uint8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_MSG4_EO_AP_Component(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 36); +} + +/** + * @brief Get field MSG4_EO_STATE0 from xyk_frame4_eo_ap_to_gcs message + * + * @return STATE0. + */ +static inline uint8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_MSG4_EO_STATE0(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 37); +} + +/** + * @brief Get field MSG4_EO_STATE1 from xyk_frame4_eo_ap_to_gcs message + * + * @return STATE1. + */ +static inline uint8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_MSG4_EO_STATE1(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 38); +} + +/** + * @brief Get field XYK_FOCUS from xyk_frame4_eo_ap_to_gcs message + * + * @return FOCUS. + */ +static inline int16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_FOCUS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 12); +} + +/** + * @brief Get field XYK_EO_PITCH from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline int16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PITCH(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 14); +} + +/** + * @brief Get field XYK_EO_AZMS from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline int16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_AZMS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 16); +} + +/** + * @brief Get field XYK_EO_ROLL from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline int16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_ROLL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 18); +} + +/** + * @brief Get field XYK_EO_PHOTO_ELEMT from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PHOTO_ELEMT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 20); +} + +/** + * @brief Get field XYK_EO_LAT_PHOTO_ELEMT from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_LAT_PHOTO_ELEMT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 22); +} + +/** + * @brief Get field XYK_EO_LON_POTO_ELEMT from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_LON_POTO_ELEMT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 24); +} + +/** + * @brief Get field XYK_EO_SENSOR_LEN from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_SENSOR_LEN(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 26); +} + +/** + * @brief Get field XYK_EO_SENSOR_WIDE from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_SENSOR_WIDE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 28); +} + +/** + * @brief Get field XYK_EO_HORZ_LOSTTAR from xyk_frame4_eo_ap_to_gcs message + * + * @return . + */ +static inline int16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_HORZ_LOSTTAR(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 30); +} + +/** + * @brief Get field XYK_EO_VETC_LOSTTAR from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline int8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_VETC_LOSTTAR(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 39); +} + +/** + * @brief Get field XYK_EO_PHOTO_FRAM from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint32_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PHOTO_FRAM(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint32_t(msg, 0); +} + +/** + * @brief Get field XYK_EO_PHOTO_CMPRS_RATIO from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PHOTO_CMPRS_RATIO(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 40); +} + +/** + * @brief Get field XYK_EO_SYSCLK_ERR from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_SYSCLK_ERR(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 32); +} + +/** + * @brief Get field XYK_EO_DISTENCE_MSR from xyk_frame4_eo_ap_to_gcs message + * + * @return . + */ +static inline int16_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_DISTENCE_MSR(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int16_t(msg, 34); +} + +/** + * @brief Get field XYK_EO_DIO from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline int8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_DIO(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int8_t(msg, 41); +} + +/** + * @brief Get field XYK_EO_TARGET_LON from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint32_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_TARGET_LON(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint32_t(msg, 4); +} + +/** + * @brief Get field XYK_EO_TARGET_LAN from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_TARGET_LAN(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 42); +} + +/** + * @brief Get field XYK_EO_TARGET_ALT from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint32_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_TARGET_ALT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint32_t(msg, 8); +} + +/** + * @brief Get field XYK_EO_RESERVED from xyk_frame4_eo_ap_to_gcs message + * + * @return + */ +static inline uint8_t mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_RESERVED(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 43); +} + +/** + * @brief Decode a xyk_frame4_eo_ap_to_gcs message into a struct + * + * @param msg The message to decode + * @param xyk_frame4_eo_ap_to_gcs C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_frame4_eo_ap_to_gcs_decode(const mavlink_message_t* msg, mavlink_xyk_frame4_eo_ap_to_gcs_t* xyk_frame4_eo_ap_to_gcs) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_FRAM = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PHOTO_FRAM(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LON = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_TARGET_LON(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_ALT = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_TARGET_ALT(msg); + xyk_frame4_eo_ap_to_gcs->XYK_FOCUS = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_FOCUS(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_PITCH = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PITCH(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_AZMS = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_AZMS(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_ROLL = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_ROLL(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_ELEMT = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PHOTO_ELEMT(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_LAT_PHOTO_ELEMT = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_LAT_PHOTO_ELEMT(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_LON_POTO_ELEMT = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_LON_POTO_ELEMT(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_LEN = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_SENSOR_LEN(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_SENSOR_WIDE = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_SENSOR_WIDE(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_HORZ_LOSTTAR = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_HORZ_LOSTTAR(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_SYSCLK_ERR = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_SYSCLK_ERR(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_DISTENCE_MSR = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_DISTENCE_MSR(msg); + xyk_frame4_eo_ap_to_gcs->MSG4_EO_AP_Component = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_MSG4_EO_AP_Component(msg); + xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE0 = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_MSG4_EO_STATE0(msg); + xyk_frame4_eo_ap_to_gcs->MSG4_EO_STATE1 = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_MSG4_EO_STATE1(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_VETC_LOSTTAR = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_VETC_LOSTTAR(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_PHOTO_CMPRS_RATIO = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_PHOTO_CMPRS_RATIO(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_DIO = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_DIO(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_TARGET_LAN = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_TARGET_LAN(msg); + xyk_frame4_eo_ap_to_gcs->XYK_EO_RESERVED = mavlink_msg_xyk_frame4_eo_ap_to_gcs_get_XYK_EO_RESERVED(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN? msg->len : MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN; + memset(xyk_frame4_eo_ap_to_gcs, 0, MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_LEN); + memcpy(xyk_frame4_eo_ap_to_gcs, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_limit_param.h b/XYK/mavlink_msg_xyk_limit_param.h new file mode 100644 index 0000000..c6aa565 --- /dev/null +++ b/XYK/mavlink_msg_xyk_limit_param.h @@ -0,0 +1,413 @@ +#pragma once +// MESSAGE XYK_LIMIT_PARAM PACKING + +#define MAVLINK_MSG_ID_XYK_LIMIT_PARAM 30005 + +MAVPACKED( +typedef struct __mavlink_xyk_limit_param_t { + uint16_t XYK_LIMIT_LOST_CONTACT; /*< time that lost connect with gcs.1sec,[0,65535]*/ + uint16_t XYK_LIMIT_TRANS_HEIGHT; /*< height that transform to fixed wing 1m[0,65535]*/ + uint16_t XYK_LIMIT_MAX_HEIGHT; /*< height limit,[0,65535]*/ + uint8_t XYK_PLANE_ID; /*< plane id.*/ + uint8_t XYK_LIMIT_TURNBAC_VOLT; /*< turn back voltage.1V [0,256]*/ + uint8_t XYK_LIMIT_EMGLAND_VOLT; /*< emergence landing voltage,1V*/ + uint8_t XYK_LIMIT_MIN_RPM; /*< fixed wing mininum rpm.[0,1000]*/ + uint8_t XYK_LIMIT_HORIZ; /*< horizontal limit along the line 1m,[-1000,1000]*/ + uint8_t XYK_LIMIT_VERTC; /*< vertical limit along the line.1m,[-1000,1000]*/ +}) mavlink_xyk_limit_param_t; + +#define MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN 12 +#define MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN 12 +#define MAVLINK_MSG_ID_30005_LEN 12 +#define MAVLINK_MSG_ID_30005_MIN_LEN 12 + +#define MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC 117 +#define MAVLINK_MSG_ID_30005_CRC 117 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_LIMIT_PARAM { \ + 30005, \ + "XYK_LIMIT_PARAM", \ + 9, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_limit_param_t, XYK_PLANE_ID) }, \ + { "XYK_LIMIT_TURNBAC_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_TURNBAC_VOLT) }, \ + { "XYK_LIMIT_EMGLAND_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_EMGLAND_VOLT) }, \ + { "XYK_LIMIT_MIN_RPM", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_MIN_RPM) }, \ + { "XYK_LIMIT_HORIZ", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_HORIZ) }, \ + { "XYK_LIMIT_VERTC", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_VERTC) }, \ + { "XYK_LIMIT_LOST_CONTACT", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_LOST_CONTACT) }, \ + { "XYK_LIMIT_TRANS_HEIGHT", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_TRANS_HEIGHT) }, \ + { "XYK_LIMIT_MAX_HEIGHT", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_MAX_HEIGHT) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_LIMIT_PARAM { \ + "XYK_LIMIT_PARAM", \ + 9, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_limit_param_t, XYK_PLANE_ID) }, \ + { "XYK_LIMIT_TURNBAC_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_TURNBAC_VOLT) }, \ + { "XYK_LIMIT_EMGLAND_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_EMGLAND_VOLT) }, \ + { "XYK_LIMIT_MIN_RPM", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_MIN_RPM) }, \ + { "XYK_LIMIT_HORIZ", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_HORIZ) }, \ + { "XYK_LIMIT_VERTC", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_VERTC) }, \ + { "XYK_LIMIT_LOST_CONTACT", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_LOST_CONTACT) }, \ + { "XYK_LIMIT_TRANS_HEIGHT", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_TRANS_HEIGHT) }, \ + { "XYK_LIMIT_MAX_HEIGHT", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_xyk_limit_param_t, XYK_LIMIT_MAX_HEIGHT) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_limit_param 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 XYK_PLANE_ID plane id. + * @param XYK_LIMIT_TURNBAC_VOLT turn back voltage.1V [0,256] + * @param XYK_LIMIT_EMGLAND_VOLT emergence landing voltage,1V + * @param XYK_LIMIT_MIN_RPM fixed wing mininum rpm.[0,1000] + * @param XYK_LIMIT_HORIZ horizontal limit along the line 1m,[-1000,1000] + * @param XYK_LIMIT_VERTC vertical limit along the line.1m,[-1000,1000] + * @param XYK_LIMIT_LOST_CONTACT time that lost connect with gcs.1sec,[0,65535] + * @param XYK_LIMIT_TRANS_HEIGHT height that transform to fixed wing 1m[0,65535] + * @param XYK_LIMIT_MAX_HEIGHT height limit,[0,65535] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_limit_param_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t XYK_PLANE_ID, uint8_t XYK_LIMIT_TURNBAC_VOLT, uint8_t XYK_LIMIT_EMGLAND_VOLT, uint8_t XYK_LIMIT_MIN_RPM, uint8_t XYK_LIMIT_HORIZ, uint8_t XYK_LIMIT_VERTC, uint16_t XYK_LIMIT_LOST_CONTACT, uint16_t XYK_LIMIT_TRANS_HEIGHT, uint16_t XYK_LIMIT_MAX_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN]; + _mav_put_uint16_t(buf, 0, XYK_LIMIT_LOST_CONTACT); + _mav_put_uint16_t(buf, 2, XYK_LIMIT_TRANS_HEIGHT); + _mav_put_uint16_t(buf, 4, XYK_LIMIT_MAX_HEIGHT); + _mav_put_uint8_t(buf, 6, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 7, XYK_LIMIT_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 8, XYK_LIMIT_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 9, XYK_LIMIT_MIN_RPM); + _mav_put_uint8_t(buf, 10, XYK_LIMIT_HORIZ); + _mav_put_uint8_t(buf, 11, XYK_LIMIT_VERTC); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN); +#else + mavlink_xyk_limit_param_t packet; + packet.XYK_LIMIT_LOST_CONTACT = XYK_LIMIT_LOST_CONTACT; + packet.XYK_LIMIT_TRANS_HEIGHT = XYK_LIMIT_TRANS_HEIGHT; + packet.XYK_LIMIT_MAX_HEIGHT = XYK_LIMIT_MAX_HEIGHT; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_LIMIT_TURNBAC_VOLT = XYK_LIMIT_TURNBAC_VOLT; + packet.XYK_LIMIT_EMGLAND_VOLT = XYK_LIMIT_EMGLAND_VOLT; + packet.XYK_LIMIT_MIN_RPM = XYK_LIMIT_MIN_RPM; + packet.XYK_LIMIT_HORIZ = XYK_LIMIT_HORIZ; + packet.XYK_LIMIT_VERTC = XYK_LIMIT_VERTC; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_LIMIT_PARAM; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC); +} + +/** + * @brief Pack a xyk_limit_param 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 XYK_PLANE_ID plane id. + * @param XYK_LIMIT_TURNBAC_VOLT turn back voltage.1V [0,256] + * @param XYK_LIMIT_EMGLAND_VOLT emergence landing voltage,1V + * @param XYK_LIMIT_MIN_RPM fixed wing mininum rpm.[0,1000] + * @param XYK_LIMIT_HORIZ horizontal limit along the line 1m,[-1000,1000] + * @param XYK_LIMIT_VERTC vertical limit along the line.1m,[-1000,1000] + * @param XYK_LIMIT_LOST_CONTACT time that lost connect with gcs.1sec,[0,65535] + * @param XYK_LIMIT_TRANS_HEIGHT height that transform to fixed wing 1m[0,65535] + * @param XYK_LIMIT_MAX_HEIGHT height limit,[0,65535] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_limit_param_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t XYK_PLANE_ID,uint8_t XYK_LIMIT_TURNBAC_VOLT,uint8_t XYK_LIMIT_EMGLAND_VOLT,uint8_t XYK_LIMIT_MIN_RPM,uint8_t XYK_LIMIT_HORIZ,uint8_t XYK_LIMIT_VERTC,uint16_t XYK_LIMIT_LOST_CONTACT,uint16_t XYK_LIMIT_TRANS_HEIGHT,uint16_t XYK_LIMIT_MAX_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN]; + _mav_put_uint16_t(buf, 0, XYK_LIMIT_LOST_CONTACT); + _mav_put_uint16_t(buf, 2, XYK_LIMIT_TRANS_HEIGHT); + _mav_put_uint16_t(buf, 4, XYK_LIMIT_MAX_HEIGHT); + _mav_put_uint8_t(buf, 6, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 7, XYK_LIMIT_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 8, XYK_LIMIT_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 9, XYK_LIMIT_MIN_RPM); + _mav_put_uint8_t(buf, 10, XYK_LIMIT_HORIZ); + _mav_put_uint8_t(buf, 11, XYK_LIMIT_VERTC); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN); +#else + mavlink_xyk_limit_param_t packet; + packet.XYK_LIMIT_LOST_CONTACT = XYK_LIMIT_LOST_CONTACT; + packet.XYK_LIMIT_TRANS_HEIGHT = XYK_LIMIT_TRANS_HEIGHT; + packet.XYK_LIMIT_MAX_HEIGHT = XYK_LIMIT_MAX_HEIGHT; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_LIMIT_TURNBAC_VOLT = XYK_LIMIT_TURNBAC_VOLT; + packet.XYK_LIMIT_EMGLAND_VOLT = XYK_LIMIT_EMGLAND_VOLT; + packet.XYK_LIMIT_MIN_RPM = XYK_LIMIT_MIN_RPM; + packet.XYK_LIMIT_HORIZ = XYK_LIMIT_HORIZ; + packet.XYK_LIMIT_VERTC = XYK_LIMIT_VERTC; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_LIMIT_PARAM; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC); +} + +/** + * @brief Encode a xyk_limit_param 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_limit_param C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_limit_param_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_limit_param_t* xyk_limit_param) +{ + return mavlink_msg_xyk_limit_param_pack(system_id, component_id, msg, xyk_limit_param->XYK_PLANE_ID, xyk_limit_param->XYK_LIMIT_TURNBAC_VOLT, xyk_limit_param->XYK_LIMIT_EMGLAND_VOLT, xyk_limit_param->XYK_LIMIT_MIN_RPM, xyk_limit_param->XYK_LIMIT_HORIZ, xyk_limit_param->XYK_LIMIT_VERTC, xyk_limit_param->XYK_LIMIT_LOST_CONTACT, xyk_limit_param->XYK_LIMIT_TRANS_HEIGHT, xyk_limit_param->XYK_LIMIT_MAX_HEIGHT); +} + +/** + * @brief Encode a xyk_limit_param 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_limit_param C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_limit_param_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_limit_param_t* xyk_limit_param) +{ + return mavlink_msg_xyk_limit_param_pack_chan(system_id, component_id, chan, msg, xyk_limit_param->XYK_PLANE_ID, xyk_limit_param->XYK_LIMIT_TURNBAC_VOLT, xyk_limit_param->XYK_LIMIT_EMGLAND_VOLT, xyk_limit_param->XYK_LIMIT_MIN_RPM, xyk_limit_param->XYK_LIMIT_HORIZ, xyk_limit_param->XYK_LIMIT_VERTC, xyk_limit_param->XYK_LIMIT_LOST_CONTACT, xyk_limit_param->XYK_LIMIT_TRANS_HEIGHT, xyk_limit_param->XYK_LIMIT_MAX_HEIGHT); +} + +/** + * @brief Send a xyk_limit_param message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID plane id. + * @param XYK_LIMIT_TURNBAC_VOLT turn back voltage.1V [0,256] + * @param XYK_LIMIT_EMGLAND_VOLT emergence landing voltage,1V + * @param XYK_LIMIT_MIN_RPM fixed wing mininum rpm.[0,1000] + * @param XYK_LIMIT_HORIZ horizontal limit along the line 1m,[-1000,1000] + * @param XYK_LIMIT_VERTC vertical limit along the line.1m,[-1000,1000] + * @param XYK_LIMIT_LOST_CONTACT time that lost connect with gcs.1sec,[0,65535] + * @param XYK_LIMIT_TRANS_HEIGHT height that transform to fixed wing 1m[0,65535] + * @param XYK_LIMIT_MAX_HEIGHT height limit,[0,65535] + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_limit_param_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_LIMIT_TURNBAC_VOLT, uint8_t XYK_LIMIT_EMGLAND_VOLT, uint8_t XYK_LIMIT_MIN_RPM, uint8_t XYK_LIMIT_HORIZ, uint8_t XYK_LIMIT_VERTC, uint16_t XYK_LIMIT_LOST_CONTACT, uint16_t XYK_LIMIT_TRANS_HEIGHT, uint16_t XYK_LIMIT_MAX_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN]; + _mav_put_uint16_t(buf, 0, XYK_LIMIT_LOST_CONTACT); + _mav_put_uint16_t(buf, 2, XYK_LIMIT_TRANS_HEIGHT); + _mav_put_uint16_t(buf, 4, XYK_LIMIT_MAX_HEIGHT); + _mav_put_uint8_t(buf, 6, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 7, XYK_LIMIT_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 8, XYK_LIMIT_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 9, XYK_LIMIT_MIN_RPM); + _mav_put_uint8_t(buf, 10, XYK_LIMIT_HORIZ); + _mav_put_uint8_t(buf, 11, XYK_LIMIT_VERTC); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_LIMIT_PARAM, buf, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC); +#else + mavlink_xyk_limit_param_t packet; + packet.XYK_LIMIT_LOST_CONTACT = XYK_LIMIT_LOST_CONTACT; + packet.XYK_LIMIT_TRANS_HEIGHT = XYK_LIMIT_TRANS_HEIGHT; + packet.XYK_LIMIT_MAX_HEIGHT = XYK_LIMIT_MAX_HEIGHT; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_LIMIT_TURNBAC_VOLT = XYK_LIMIT_TURNBAC_VOLT; + packet.XYK_LIMIT_EMGLAND_VOLT = XYK_LIMIT_EMGLAND_VOLT; + packet.XYK_LIMIT_MIN_RPM = XYK_LIMIT_MIN_RPM; + packet.XYK_LIMIT_HORIZ = XYK_LIMIT_HORIZ; + packet.XYK_LIMIT_VERTC = XYK_LIMIT_VERTC; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_LIMIT_PARAM, (const char *)&packet, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC); +#endif +} + +/** + * @brief Send a xyk_limit_param message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_limit_param_send_struct(mavlink_channel_t chan, const mavlink_xyk_limit_param_t* xyk_limit_param) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_limit_param_send(chan, xyk_limit_param->XYK_PLANE_ID, xyk_limit_param->XYK_LIMIT_TURNBAC_VOLT, xyk_limit_param->XYK_LIMIT_EMGLAND_VOLT, xyk_limit_param->XYK_LIMIT_MIN_RPM, xyk_limit_param->XYK_LIMIT_HORIZ, xyk_limit_param->XYK_LIMIT_VERTC, xyk_limit_param->XYK_LIMIT_LOST_CONTACT, xyk_limit_param->XYK_LIMIT_TRANS_HEIGHT, xyk_limit_param->XYK_LIMIT_MAX_HEIGHT); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_LIMIT_PARAM, (const char *)xyk_limit_param, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_LIMIT_PARAM_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_xyk_limit_param_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_LIMIT_TURNBAC_VOLT, uint8_t XYK_LIMIT_EMGLAND_VOLT, uint8_t XYK_LIMIT_MIN_RPM, uint8_t XYK_LIMIT_HORIZ, uint8_t XYK_LIMIT_VERTC, uint16_t XYK_LIMIT_LOST_CONTACT, uint16_t XYK_LIMIT_TRANS_HEIGHT, uint16_t XYK_LIMIT_MAX_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint16_t(buf, 0, XYK_LIMIT_LOST_CONTACT); + _mav_put_uint16_t(buf, 2, XYK_LIMIT_TRANS_HEIGHT); + _mav_put_uint16_t(buf, 4, XYK_LIMIT_MAX_HEIGHT); + _mav_put_uint8_t(buf, 6, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 7, XYK_LIMIT_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 8, XYK_LIMIT_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 9, XYK_LIMIT_MIN_RPM); + _mav_put_uint8_t(buf, 10, XYK_LIMIT_HORIZ); + _mav_put_uint8_t(buf, 11, XYK_LIMIT_VERTC); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_LIMIT_PARAM, buf, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC); +#else + mavlink_xyk_limit_param_t *packet = (mavlink_xyk_limit_param_t *)msgbuf; + packet->XYK_LIMIT_LOST_CONTACT = XYK_LIMIT_LOST_CONTACT; + packet->XYK_LIMIT_TRANS_HEIGHT = XYK_LIMIT_TRANS_HEIGHT; + packet->XYK_LIMIT_MAX_HEIGHT = XYK_LIMIT_MAX_HEIGHT; + packet->XYK_PLANE_ID = XYK_PLANE_ID; + packet->XYK_LIMIT_TURNBAC_VOLT = XYK_LIMIT_TURNBAC_VOLT; + packet->XYK_LIMIT_EMGLAND_VOLT = XYK_LIMIT_EMGLAND_VOLT; + packet->XYK_LIMIT_MIN_RPM = XYK_LIMIT_MIN_RPM; + packet->XYK_LIMIT_HORIZ = XYK_LIMIT_HORIZ; + packet->XYK_LIMIT_VERTC = XYK_LIMIT_VERTC; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_LIMIT_PARAM, (const char *)packet, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_LIMIT_PARAM UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_limit_param message + * + * @return plane id. + */ +static inline uint8_t mavlink_msg_xyk_limit_param_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 6); +} + +/** + * @brief Get field XYK_LIMIT_TURNBAC_VOLT from xyk_limit_param message + * + * @return turn back voltage.1V [0,256] + */ +static inline uint8_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_TURNBAC_VOLT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 7); +} + +/** + * @brief Get field XYK_LIMIT_EMGLAND_VOLT from xyk_limit_param message + * + * @return emergence landing voltage,1V + */ +static inline uint8_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_EMGLAND_VOLT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 8); +} + +/** + * @brief Get field XYK_LIMIT_MIN_RPM from xyk_limit_param message + * + * @return fixed wing mininum rpm.[0,1000] + */ +static inline uint8_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_MIN_RPM(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 9); +} + +/** + * @brief Get field XYK_LIMIT_HORIZ from xyk_limit_param message + * + * @return horizontal limit along the line 1m,[-1000,1000] + */ +static inline uint8_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_HORIZ(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 10); +} + +/** + * @brief Get field XYK_LIMIT_VERTC from xyk_limit_param message + * + * @return vertical limit along the line.1m,[-1000,1000] + */ +static inline uint8_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_VERTC(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 11); +} + +/** + * @brief Get field XYK_LIMIT_LOST_CONTACT from xyk_limit_param message + * + * @return time that lost connect with gcs.1sec,[0,65535] + */ +static inline uint16_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_LOST_CONTACT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 0); +} + +/** + * @brief Get field XYK_LIMIT_TRANS_HEIGHT from xyk_limit_param message + * + * @return height that transform to fixed wing 1m[0,65535] + */ +static inline uint16_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_TRANS_HEIGHT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 2); +} + +/** + * @brief Get field XYK_LIMIT_MAX_HEIGHT from xyk_limit_param message + * + * @return height limit,[0,65535] + */ +static inline uint16_t mavlink_msg_xyk_limit_param_get_XYK_LIMIT_MAX_HEIGHT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 4); +} + +/** + * @brief Decode a xyk_limit_param message into a struct + * + * @param msg The message to decode + * @param xyk_limit_param C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_limit_param_decode(const mavlink_message_t* msg, mavlink_xyk_limit_param_t* xyk_limit_param) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_limit_param->XYK_LIMIT_LOST_CONTACT = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_LOST_CONTACT(msg); + xyk_limit_param->XYK_LIMIT_TRANS_HEIGHT = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_TRANS_HEIGHT(msg); + xyk_limit_param->XYK_LIMIT_MAX_HEIGHT = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_MAX_HEIGHT(msg); + xyk_limit_param->XYK_PLANE_ID = mavlink_msg_xyk_limit_param_get_XYK_PLANE_ID(msg); + xyk_limit_param->XYK_LIMIT_TURNBAC_VOLT = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_TURNBAC_VOLT(msg); + xyk_limit_param->XYK_LIMIT_EMGLAND_VOLT = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_EMGLAND_VOLT(msg); + xyk_limit_param->XYK_LIMIT_MIN_RPM = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_MIN_RPM(msg); + xyk_limit_param->XYK_LIMIT_HORIZ = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_HORIZ(msg); + xyk_limit_param->XYK_LIMIT_VERTC = mavlink_msg_xyk_limit_param_get_XYK_LIMIT_VERTC(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN? msg->len : MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN; + memset(xyk_limit_param, 0, MAVLINK_MSG_ID_XYK_LIMIT_PARAM_LEN); + memcpy(xyk_limit_param, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_param_group_req.h b/XYK/mavlink_msg_xyk_param_group_req.h new file mode 100644 index 0000000..bff27c6 --- /dev/null +++ b/XYK/mavlink_msg_xyk_param_group_req.h @@ -0,0 +1,238 @@ +#pragma once +// MESSAGE XYK_PARAM_GROUP_REQ PACKING + +#define MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ 30010 + +MAVPACKED( +typedef struct __mavlink_xyk_param_group_req_t { + uint8_t XYK_PLANE_ID; /*< plane id.*/ + uint8_t XYK_PARAM_GROUP_ID; /*< PARAM GROUP id.*/ +}) mavlink_xyk_param_group_req_t; + +#define MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN 2 +#define MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN 2 +#define MAVLINK_MSG_ID_30010_LEN 2 +#define MAVLINK_MSG_ID_30010_MIN_LEN 2 + +#define MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC 74 +#define MAVLINK_MSG_ID_30010_CRC 74 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_PARAM_GROUP_REQ { \ + 30010, \ + "XYK_PARAM_GROUP_REQ", \ + 2, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_param_group_req_t, XYK_PLANE_ID) }, \ + { "XYK_PARAM_GROUP_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_param_group_req_t, XYK_PARAM_GROUP_ID) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_PARAM_GROUP_REQ { \ + "XYK_PARAM_GROUP_REQ", \ + 2, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_param_group_req_t, XYK_PLANE_ID) }, \ + { "XYK_PARAM_GROUP_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_param_group_req_t, XYK_PARAM_GROUP_ID) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_param_group_req 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 XYK_PLANE_ID plane id. + * @param XYK_PARAM_GROUP_ID PARAM GROUP id. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_param_group_req_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t XYK_PLANE_ID, uint8_t XYK_PARAM_GROUP_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PARAM_GROUP_ID); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN); +#else + mavlink_xyk_param_group_req_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PARAM_GROUP_ID = XYK_PARAM_GROUP_ID; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC); +} + +/** + * @brief Pack a xyk_param_group_req 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 XYK_PLANE_ID plane id. + * @param XYK_PARAM_GROUP_ID PARAM GROUP id. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_param_group_req_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t XYK_PLANE_ID,uint8_t XYK_PARAM_GROUP_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PARAM_GROUP_ID); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN); +#else + mavlink_xyk_param_group_req_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PARAM_GROUP_ID = XYK_PARAM_GROUP_ID; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC); +} + +/** + * @brief Encode a xyk_param_group_req 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_param_group_req C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_param_group_req_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_param_group_req_t* xyk_param_group_req) +{ + return mavlink_msg_xyk_param_group_req_pack(system_id, component_id, msg, xyk_param_group_req->XYK_PLANE_ID, xyk_param_group_req->XYK_PARAM_GROUP_ID); +} + +/** + * @brief Encode a xyk_param_group_req 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_param_group_req C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_param_group_req_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_param_group_req_t* xyk_param_group_req) +{ + return mavlink_msg_xyk_param_group_req_pack_chan(system_id, component_id, chan, msg, xyk_param_group_req->XYK_PLANE_ID, xyk_param_group_req->XYK_PARAM_GROUP_ID); +} + +/** + * @brief Send a xyk_param_group_req message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID plane id. + * @param XYK_PARAM_GROUP_ID PARAM GROUP id. + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_param_group_req_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_PARAM_GROUP_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PARAM_GROUP_ID); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ, buf, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC); +#else + mavlink_xyk_param_group_req_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PARAM_GROUP_ID = XYK_PARAM_GROUP_ID; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ, (const char *)&packet, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC); +#endif +} + +/** + * @brief Send a xyk_param_group_req message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_param_group_req_send_struct(mavlink_channel_t chan, const mavlink_xyk_param_group_req_t* xyk_param_group_req) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_param_group_req_send(chan, xyk_param_group_req->XYK_PLANE_ID, xyk_param_group_req->XYK_PARAM_GROUP_ID); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ, (const char *)xyk_param_group_req, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_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_xyk_param_group_req_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_PARAM_GROUP_ID) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PARAM_GROUP_ID); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ, buf, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC); +#else + mavlink_xyk_param_group_req_t *packet = (mavlink_xyk_param_group_req_t *)msgbuf; + packet->XYK_PLANE_ID = XYK_PLANE_ID; + packet->XYK_PARAM_GROUP_ID = XYK_PARAM_GROUP_ID; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ, (const char *)packet, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_PARAM_GROUP_REQ UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_param_group_req message + * + * @return plane id. + */ +static inline uint8_t mavlink_msg_xyk_param_group_req_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 0); +} + +/** + * @brief Get field XYK_PARAM_GROUP_ID from xyk_param_group_req message + * + * @return PARAM GROUP id. + */ +static inline uint8_t mavlink_msg_xyk_param_group_req_get_XYK_PARAM_GROUP_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 1); +} + +/** + * @brief Decode a xyk_param_group_req message into a struct + * + * @param msg The message to decode + * @param xyk_param_group_req C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_param_group_req_decode(const mavlink_message_t* msg, mavlink_xyk_param_group_req_t* xyk_param_group_req) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_param_group_req->XYK_PLANE_ID = mavlink_msg_xyk_param_group_req_get_XYK_PLANE_ID(msg); + xyk_param_group_req->XYK_PARAM_GROUP_ID = mavlink_msg_xyk_param_group_req_get_XYK_PARAM_GROUP_ID(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN? msg->len : MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN; + memset(xyk_param_group_req, 0, MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_LEN); + memcpy(xyk_param_group_req, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_preset_param.h b/XYK/mavlink_msg_xyk_preset_param.h new file mode 100644 index 0000000..92ce8d7 --- /dev/null +++ b/XYK/mavlink_msg_xyk_preset_param.h @@ -0,0 +1,413 @@ +#pragma once +// MESSAGE XYK_PRESET_PARAM PACKING + +#define MAVLINK_MSG_ID_XYK_PRESET_PARAM 30004 + +MAVPACKED( +typedef struct __mavlink_xyk_preset_param_t { + int32_t XYK_PRESET_FIELD_HEIGHT; /*< preset local filed height 0.01m.*/ + uint8_t XYK_PLANE_ID; /*< plane id.*/ + uint8_t XYK_PRESET_CRUSPD; /*< preset cruise speed 1kph*/ + uint8_t XYK_PRESET_STALSPD; /*< stall speed. 1kph*/ + uint8_t XYK_PRESET_DOWNRATE; /*< descent rate 0.1m/s*/ + uint8_t XYK_PRESET_UPRATE; /*< climb rate. 0.1m/s*/ + uint8_t XYK_PRESET_RADIUS; /*< preset radius. 2m*/ + uint8_t XYK_PRESET_TRANSPD; /*< speed transformed from gyro to fixed wing 1kph */ + uint8_t XYK_GOTOLINE; /*< the way go to airline see XYK_GOTOLINE*/ +}) mavlink_xyk_preset_param_t; + +#define MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN 12 +#define MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN 12 +#define MAVLINK_MSG_ID_30004_LEN 12 +#define MAVLINK_MSG_ID_30004_MIN_LEN 12 + +#define MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC 250 +#define MAVLINK_MSG_ID_30004_CRC 250 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_PRESET_PARAM { \ + 30004, \ + "XYK_PRESET_PARAM", \ + 9, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_xyk_preset_param_t, XYK_PLANE_ID) }, \ + { "XYK_PRESET_CRUSPD", NULL, MAVLINK_TYPE_UINT8_T, 0, 5, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_CRUSPD) }, \ + { "XYK_PRESET_STALSPD", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_STALSPD) }, \ + { "XYK_PRESET_DOWNRATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_DOWNRATE) }, \ + { "XYK_PRESET_UPRATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_UPRATE) }, \ + { "XYK_PRESET_RADIUS", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_RADIUS) }, \ + { "XYK_PRESET_TRANSPD", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_TRANSPD) }, \ + { "XYK_GOTOLINE", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_xyk_preset_param_t, XYK_GOTOLINE) }, \ + { "XYK_PRESET_FIELD_HEIGHT", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_FIELD_HEIGHT) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_PRESET_PARAM { \ + "XYK_PRESET_PARAM", \ + 9, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_xyk_preset_param_t, XYK_PLANE_ID) }, \ + { "XYK_PRESET_CRUSPD", NULL, MAVLINK_TYPE_UINT8_T, 0, 5, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_CRUSPD) }, \ + { "XYK_PRESET_STALSPD", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_STALSPD) }, \ + { "XYK_PRESET_DOWNRATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_DOWNRATE) }, \ + { "XYK_PRESET_UPRATE", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_UPRATE) }, \ + { "XYK_PRESET_RADIUS", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_RADIUS) }, \ + { "XYK_PRESET_TRANSPD", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_TRANSPD) }, \ + { "XYK_GOTOLINE", NULL, MAVLINK_TYPE_UINT8_T, 0, 11, offsetof(mavlink_xyk_preset_param_t, XYK_GOTOLINE) }, \ + { "XYK_PRESET_FIELD_HEIGHT", NULL, MAVLINK_TYPE_INT32_T, 0, 0, offsetof(mavlink_xyk_preset_param_t, XYK_PRESET_FIELD_HEIGHT) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_preset_param 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 XYK_PLANE_ID plane id. + * @param XYK_PRESET_CRUSPD preset cruise speed 1kph + * @param XYK_PRESET_STALSPD stall speed. 1kph + * @param XYK_PRESET_DOWNRATE descent rate 0.1m/s + * @param XYK_PRESET_UPRATE climb rate. 0.1m/s + * @param XYK_PRESET_RADIUS preset radius. 2m + * @param XYK_PRESET_TRANSPD speed transformed from gyro to fixed wing 1kph + * @param XYK_GOTOLINE the way go to airline see XYK_GOTOLINE + * @param XYK_PRESET_FIELD_HEIGHT preset local filed height 0.01m. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_preset_param_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t XYK_PLANE_ID, uint8_t XYK_PRESET_CRUSPD, uint8_t XYK_PRESET_STALSPD, uint8_t XYK_PRESET_DOWNRATE, uint8_t XYK_PRESET_UPRATE, uint8_t XYK_PRESET_RADIUS, uint8_t XYK_PRESET_TRANSPD, uint8_t XYK_GOTOLINE, int32_t XYK_PRESET_FIELD_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN]; + _mav_put_int32_t(buf, 0, XYK_PRESET_FIELD_HEIGHT); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, XYK_PRESET_CRUSPD); + _mav_put_uint8_t(buf, 6, XYK_PRESET_STALSPD); + _mav_put_uint8_t(buf, 7, XYK_PRESET_DOWNRATE); + _mav_put_uint8_t(buf, 8, XYK_PRESET_UPRATE); + _mav_put_uint8_t(buf, 9, XYK_PRESET_RADIUS); + _mav_put_uint8_t(buf, 10, XYK_PRESET_TRANSPD); + _mav_put_uint8_t(buf, 11, XYK_GOTOLINE); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN); +#else + mavlink_xyk_preset_param_t packet; + packet.XYK_PRESET_FIELD_HEIGHT = XYK_PRESET_FIELD_HEIGHT; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PRESET_CRUSPD = XYK_PRESET_CRUSPD; + packet.XYK_PRESET_STALSPD = XYK_PRESET_STALSPD; + packet.XYK_PRESET_DOWNRATE = XYK_PRESET_DOWNRATE; + packet.XYK_PRESET_UPRATE = XYK_PRESET_UPRATE; + packet.XYK_PRESET_RADIUS = XYK_PRESET_RADIUS; + packet.XYK_PRESET_TRANSPD = XYK_PRESET_TRANSPD; + packet.XYK_GOTOLINE = XYK_GOTOLINE; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_PRESET_PARAM; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC); +} + +/** + * @brief Pack a xyk_preset_param 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 XYK_PLANE_ID plane id. + * @param XYK_PRESET_CRUSPD preset cruise speed 1kph + * @param XYK_PRESET_STALSPD stall speed. 1kph + * @param XYK_PRESET_DOWNRATE descent rate 0.1m/s + * @param XYK_PRESET_UPRATE climb rate. 0.1m/s + * @param XYK_PRESET_RADIUS preset radius. 2m + * @param XYK_PRESET_TRANSPD speed transformed from gyro to fixed wing 1kph + * @param XYK_GOTOLINE the way go to airline see XYK_GOTOLINE + * @param XYK_PRESET_FIELD_HEIGHT preset local filed height 0.01m. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_preset_param_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t XYK_PLANE_ID,uint8_t XYK_PRESET_CRUSPD,uint8_t XYK_PRESET_STALSPD,uint8_t XYK_PRESET_DOWNRATE,uint8_t XYK_PRESET_UPRATE,uint8_t XYK_PRESET_RADIUS,uint8_t XYK_PRESET_TRANSPD,uint8_t XYK_GOTOLINE,int32_t XYK_PRESET_FIELD_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN]; + _mav_put_int32_t(buf, 0, XYK_PRESET_FIELD_HEIGHT); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, XYK_PRESET_CRUSPD); + _mav_put_uint8_t(buf, 6, XYK_PRESET_STALSPD); + _mav_put_uint8_t(buf, 7, XYK_PRESET_DOWNRATE); + _mav_put_uint8_t(buf, 8, XYK_PRESET_UPRATE); + _mav_put_uint8_t(buf, 9, XYK_PRESET_RADIUS); + _mav_put_uint8_t(buf, 10, XYK_PRESET_TRANSPD); + _mav_put_uint8_t(buf, 11, XYK_GOTOLINE); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN); +#else + mavlink_xyk_preset_param_t packet; + packet.XYK_PRESET_FIELD_HEIGHT = XYK_PRESET_FIELD_HEIGHT; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PRESET_CRUSPD = XYK_PRESET_CRUSPD; + packet.XYK_PRESET_STALSPD = XYK_PRESET_STALSPD; + packet.XYK_PRESET_DOWNRATE = XYK_PRESET_DOWNRATE; + packet.XYK_PRESET_UPRATE = XYK_PRESET_UPRATE; + packet.XYK_PRESET_RADIUS = XYK_PRESET_RADIUS; + packet.XYK_PRESET_TRANSPD = XYK_PRESET_TRANSPD; + packet.XYK_GOTOLINE = XYK_GOTOLINE; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_PRESET_PARAM; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC); +} + +/** + * @brief Encode a xyk_preset_param 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_preset_param C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_preset_param_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_preset_param_t* xyk_preset_param) +{ + return mavlink_msg_xyk_preset_param_pack(system_id, component_id, msg, xyk_preset_param->XYK_PLANE_ID, xyk_preset_param->XYK_PRESET_CRUSPD, xyk_preset_param->XYK_PRESET_STALSPD, xyk_preset_param->XYK_PRESET_DOWNRATE, xyk_preset_param->XYK_PRESET_UPRATE, xyk_preset_param->XYK_PRESET_RADIUS, xyk_preset_param->XYK_PRESET_TRANSPD, xyk_preset_param->XYK_GOTOLINE, xyk_preset_param->XYK_PRESET_FIELD_HEIGHT); +} + +/** + * @brief Encode a xyk_preset_param 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_preset_param C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_preset_param_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_preset_param_t* xyk_preset_param) +{ + return mavlink_msg_xyk_preset_param_pack_chan(system_id, component_id, chan, msg, xyk_preset_param->XYK_PLANE_ID, xyk_preset_param->XYK_PRESET_CRUSPD, xyk_preset_param->XYK_PRESET_STALSPD, xyk_preset_param->XYK_PRESET_DOWNRATE, xyk_preset_param->XYK_PRESET_UPRATE, xyk_preset_param->XYK_PRESET_RADIUS, xyk_preset_param->XYK_PRESET_TRANSPD, xyk_preset_param->XYK_GOTOLINE, xyk_preset_param->XYK_PRESET_FIELD_HEIGHT); +} + +/** + * @brief Send a xyk_preset_param message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID plane id. + * @param XYK_PRESET_CRUSPD preset cruise speed 1kph + * @param XYK_PRESET_STALSPD stall speed. 1kph + * @param XYK_PRESET_DOWNRATE descent rate 0.1m/s + * @param XYK_PRESET_UPRATE climb rate. 0.1m/s + * @param XYK_PRESET_RADIUS preset radius. 2m + * @param XYK_PRESET_TRANSPD speed transformed from gyro to fixed wing 1kph + * @param XYK_GOTOLINE the way go to airline see XYK_GOTOLINE + * @param XYK_PRESET_FIELD_HEIGHT preset local filed height 0.01m. + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_preset_param_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_PRESET_CRUSPD, uint8_t XYK_PRESET_STALSPD, uint8_t XYK_PRESET_DOWNRATE, uint8_t XYK_PRESET_UPRATE, uint8_t XYK_PRESET_RADIUS, uint8_t XYK_PRESET_TRANSPD, uint8_t XYK_GOTOLINE, int32_t XYK_PRESET_FIELD_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN]; + _mav_put_int32_t(buf, 0, XYK_PRESET_FIELD_HEIGHT); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, XYK_PRESET_CRUSPD); + _mav_put_uint8_t(buf, 6, XYK_PRESET_STALSPD); + _mav_put_uint8_t(buf, 7, XYK_PRESET_DOWNRATE); + _mav_put_uint8_t(buf, 8, XYK_PRESET_UPRATE); + _mav_put_uint8_t(buf, 9, XYK_PRESET_RADIUS); + _mav_put_uint8_t(buf, 10, XYK_PRESET_TRANSPD); + _mav_put_uint8_t(buf, 11, XYK_GOTOLINE); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PRESET_PARAM, buf, MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC); +#else + mavlink_xyk_preset_param_t packet; + packet.XYK_PRESET_FIELD_HEIGHT = XYK_PRESET_FIELD_HEIGHT; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PRESET_CRUSPD = XYK_PRESET_CRUSPD; + packet.XYK_PRESET_STALSPD = XYK_PRESET_STALSPD; + packet.XYK_PRESET_DOWNRATE = XYK_PRESET_DOWNRATE; + packet.XYK_PRESET_UPRATE = XYK_PRESET_UPRATE; + packet.XYK_PRESET_RADIUS = XYK_PRESET_RADIUS; + packet.XYK_PRESET_TRANSPD = XYK_PRESET_TRANSPD; + packet.XYK_GOTOLINE = XYK_GOTOLINE; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PRESET_PARAM, (const char *)&packet, MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC); +#endif +} + +/** + * @brief Send a xyk_preset_param message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_preset_param_send_struct(mavlink_channel_t chan, const mavlink_xyk_preset_param_t* xyk_preset_param) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_preset_param_send(chan, xyk_preset_param->XYK_PLANE_ID, xyk_preset_param->XYK_PRESET_CRUSPD, xyk_preset_param->XYK_PRESET_STALSPD, xyk_preset_param->XYK_PRESET_DOWNRATE, xyk_preset_param->XYK_PRESET_UPRATE, xyk_preset_param->XYK_PRESET_RADIUS, xyk_preset_param->XYK_PRESET_TRANSPD, xyk_preset_param->XYK_GOTOLINE, xyk_preset_param->XYK_PRESET_FIELD_HEIGHT); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PRESET_PARAM, (const char *)xyk_preset_param, MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_PRESET_PARAM_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_xyk_preset_param_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_PRESET_CRUSPD, uint8_t XYK_PRESET_STALSPD, uint8_t XYK_PRESET_DOWNRATE, uint8_t XYK_PRESET_UPRATE, uint8_t XYK_PRESET_RADIUS, uint8_t XYK_PRESET_TRANSPD, uint8_t XYK_GOTOLINE, int32_t XYK_PRESET_FIELD_HEIGHT) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_int32_t(buf, 0, XYK_PRESET_FIELD_HEIGHT); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, XYK_PRESET_CRUSPD); + _mav_put_uint8_t(buf, 6, XYK_PRESET_STALSPD); + _mav_put_uint8_t(buf, 7, XYK_PRESET_DOWNRATE); + _mav_put_uint8_t(buf, 8, XYK_PRESET_UPRATE); + _mav_put_uint8_t(buf, 9, XYK_PRESET_RADIUS); + _mav_put_uint8_t(buf, 10, XYK_PRESET_TRANSPD); + _mav_put_uint8_t(buf, 11, XYK_GOTOLINE); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PRESET_PARAM, buf, MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC); +#else + mavlink_xyk_preset_param_t *packet = (mavlink_xyk_preset_param_t *)msgbuf; + packet->XYK_PRESET_FIELD_HEIGHT = XYK_PRESET_FIELD_HEIGHT; + packet->XYK_PLANE_ID = XYK_PLANE_ID; + packet->XYK_PRESET_CRUSPD = XYK_PRESET_CRUSPD; + packet->XYK_PRESET_STALSPD = XYK_PRESET_STALSPD; + packet->XYK_PRESET_DOWNRATE = XYK_PRESET_DOWNRATE; + packet->XYK_PRESET_UPRATE = XYK_PRESET_UPRATE; + packet->XYK_PRESET_RADIUS = XYK_PRESET_RADIUS; + packet->XYK_PRESET_TRANSPD = XYK_PRESET_TRANSPD; + packet->XYK_GOTOLINE = XYK_GOTOLINE; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PRESET_PARAM, (const char *)packet, MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN, MAVLINK_MSG_ID_XYK_PRESET_PARAM_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_PRESET_PARAM UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_preset_param message + * + * @return plane id. + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 4); +} + +/** + * @brief Get field XYK_PRESET_CRUSPD from xyk_preset_param message + * + * @return preset cruise speed 1kph + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_PRESET_CRUSPD(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 5); +} + +/** + * @brief Get field XYK_PRESET_STALSPD from xyk_preset_param message + * + * @return stall speed. 1kph + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_PRESET_STALSPD(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 6); +} + +/** + * @brief Get field XYK_PRESET_DOWNRATE from xyk_preset_param message + * + * @return descent rate 0.1m/s + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_PRESET_DOWNRATE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 7); +} + +/** + * @brief Get field XYK_PRESET_UPRATE from xyk_preset_param message + * + * @return climb rate. 0.1m/s + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_PRESET_UPRATE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 8); +} + +/** + * @brief Get field XYK_PRESET_RADIUS from xyk_preset_param message + * + * @return preset radius. 2m + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_PRESET_RADIUS(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 9); +} + +/** + * @brief Get field XYK_PRESET_TRANSPD from xyk_preset_param message + * + * @return speed transformed from gyro to fixed wing 1kph + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_PRESET_TRANSPD(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 10); +} + +/** + * @brief Get field XYK_GOTOLINE from xyk_preset_param message + * + * @return the way go to airline see XYK_GOTOLINE + */ +static inline uint8_t mavlink_msg_xyk_preset_param_get_XYK_GOTOLINE(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 11); +} + +/** + * @brief Get field XYK_PRESET_FIELD_HEIGHT from xyk_preset_param message + * + * @return preset local filed height 0.01m. + */ +static inline int32_t mavlink_msg_xyk_preset_param_get_XYK_PRESET_FIELD_HEIGHT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_int32_t(msg, 0); +} + +/** + * @brief Decode a xyk_preset_param message into a struct + * + * @param msg The message to decode + * @param xyk_preset_param C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_preset_param_decode(const mavlink_message_t* msg, mavlink_xyk_preset_param_t* xyk_preset_param) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_preset_param->XYK_PRESET_FIELD_HEIGHT = mavlink_msg_xyk_preset_param_get_XYK_PRESET_FIELD_HEIGHT(msg); + xyk_preset_param->XYK_PLANE_ID = mavlink_msg_xyk_preset_param_get_XYK_PLANE_ID(msg); + xyk_preset_param->XYK_PRESET_CRUSPD = mavlink_msg_xyk_preset_param_get_XYK_PRESET_CRUSPD(msg); + xyk_preset_param->XYK_PRESET_STALSPD = mavlink_msg_xyk_preset_param_get_XYK_PRESET_STALSPD(msg); + xyk_preset_param->XYK_PRESET_DOWNRATE = mavlink_msg_xyk_preset_param_get_XYK_PRESET_DOWNRATE(msg); + xyk_preset_param->XYK_PRESET_UPRATE = mavlink_msg_xyk_preset_param_get_XYK_PRESET_UPRATE(msg); + xyk_preset_param->XYK_PRESET_RADIUS = mavlink_msg_xyk_preset_param_get_XYK_PRESET_RADIUS(msg); + xyk_preset_param->XYK_PRESET_TRANSPD = mavlink_msg_xyk_preset_param_get_XYK_PRESET_TRANSPD(msg); + xyk_preset_param->XYK_GOTOLINE = mavlink_msg_xyk_preset_param_get_XYK_GOTOLINE(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN? msg->len : MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN; + memset(xyk_preset_param, 0, MAVLINK_MSG_ID_XYK_PRESET_PARAM_LEN); + memcpy(xyk_preset_param, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_protection_param.h b/XYK/mavlink_msg_xyk_protection_param.h new file mode 100644 index 0000000..29589ab --- /dev/null +++ b/XYK/mavlink_msg_xyk_protection_param.h @@ -0,0 +1,463 @@ +#pragma once +// MESSAGE XYK_PROTECTION_PARAM PACKING + +#define MAVLINK_MSG_ID_XYK_PROTECTION_PARAM 30006 + +MAVPACKED( +typedef struct __mavlink_xyk_protection_param_t { + uint8_t XYK_PLANE_ID; /*< plane id.*/ + uint8_t XYK_PROTECTION_TURNBAC_VOLT; /*< turn back voltage.*/ + uint8_t XYK_PROTECTION_EMGLAND_VOLT; /*< emergence landing voltage*/ + uint8_t XYK_PROTECTION_MIN_RPM; /*< fixed wing mininum rpm.*/ + uint8_t XYK_PROTECTION_HDFAULT; /*< FCC hardware fault */ + uint8_t XYK_PROTECTION_LGDOP; /*< GPS or BD position accuracy is low.*/ + uint8_t XYK_PROTECTION_LOST_CONTACT; /*< time that lost connect with gcs.*/ + uint8_t XYK_PROTECTION_OVER_HORIZ; /*< while cross over the horizontal limit */ + uint8_t XYK_PROTECTION_OVER_VERTC; /*< while cross over the vertical limit */ + uint8_t XYK_PROTECTION_LOW; /*< While keeping a low position under the desire height for a long period */ + uint8_t XYK_PROTECTION_HIGH; /*< --high ---*/ +}) mavlink_xyk_protection_param_t; + +#define MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN 11 +#define MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN 11 +#define MAVLINK_MSG_ID_30006_LEN 11 +#define MAVLINK_MSG_ID_30006_MIN_LEN 11 + +#define MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC 91 +#define MAVLINK_MSG_ID_30006_CRC 91 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_PROTECTION_PARAM { \ + 30006, \ + "XYK_PROTECTION_PARAM", \ + 11, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_protection_param_t, XYK_PLANE_ID) }, \ + { "XYK_PROTECTION_TURNBAC_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_TURNBAC_VOLT) }, \ + { "XYK_PROTECTION_EMGLAND_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_EMGLAND_VOLT) }, \ + { "XYK_PROTECTION_MIN_RPM", NULL, MAVLINK_TYPE_UINT8_T, 0, 3, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_MIN_RPM) }, \ + { "XYK_PROTECTION_HDFAULT", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_HDFAULT) }, \ + { "XYK_PROTECTION_LGDOP", NULL, MAVLINK_TYPE_UINT8_T, 0, 5, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_LGDOP) }, \ + { "XYK_PROTECTION_LOST_CONTACT", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_LOST_CONTACT) }, \ + { "XYK_PROTECTION_OVER_HORIZ", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_OVER_HORIZ) }, \ + { "XYK_PROTECTION_OVER_VERTC", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_OVER_VERTC) }, \ + { "XYK_PROTECTION_LOW", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_LOW) }, \ + { "XYK_PROTECTION_HIGH", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_HIGH) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_PROTECTION_PARAM { \ + "XYK_PROTECTION_PARAM", \ + 11, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 0, offsetof(mavlink_xyk_protection_param_t, XYK_PLANE_ID) }, \ + { "XYK_PROTECTION_TURNBAC_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 1, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_TURNBAC_VOLT) }, \ + { "XYK_PROTECTION_EMGLAND_VOLT", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_EMGLAND_VOLT) }, \ + { "XYK_PROTECTION_MIN_RPM", NULL, MAVLINK_TYPE_UINT8_T, 0, 3, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_MIN_RPM) }, \ + { "XYK_PROTECTION_HDFAULT", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_HDFAULT) }, \ + { "XYK_PROTECTION_LGDOP", NULL, MAVLINK_TYPE_UINT8_T, 0, 5, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_LGDOP) }, \ + { "XYK_PROTECTION_LOST_CONTACT", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_LOST_CONTACT) }, \ + { "XYK_PROTECTION_OVER_HORIZ", NULL, MAVLINK_TYPE_UINT8_T, 0, 7, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_OVER_HORIZ) }, \ + { "XYK_PROTECTION_OVER_VERTC", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_OVER_VERTC) }, \ + { "XYK_PROTECTION_LOW", NULL, MAVLINK_TYPE_UINT8_T, 0, 9, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_LOW) }, \ + { "XYK_PROTECTION_HIGH", NULL, MAVLINK_TYPE_UINT8_T, 0, 10, offsetof(mavlink_xyk_protection_param_t, XYK_PROTECTION_HIGH) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_protection_param 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 XYK_PLANE_ID plane id. + * @param XYK_PROTECTION_TURNBAC_VOLT turn back voltage. + * @param XYK_PROTECTION_EMGLAND_VOLT emergence landing voltage + * @param XYK_PROTECTION_MIN_RPM fixed wing mininum rpm. + * @param XYK_PROTECTION_HDFAULT FCC hardware fault + * @param XYK_PROTECTION_LGDOP GPS or BD position accuracy is low. + * @param XYK_PROTECTION_LOST_CONTACT time that lost connect with gcs. + * @param XYK_PROTECTION_OVER_HORIZ while cross over the horizontal limit + * @param XYK_PROTECTION_OVER_VERTC while cross over the vertical limit + * @param XYK_PROTECTION_LOW While keeping a low position under the desire height for a long period + * @param XYK_PROTECTION_HIGH --high --- + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_protection_param_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t XYK_PLANE_ID, uint8_t XYK_PROTECTION_TURNBAC_VOLT, uint8_t XYK_PROTECTION_EMGLAND_VOLT, uint8_t XYK_PROTECTION_MIN_RPM, uint8_t XYK_PROTECTION_HDFAULT, uint8_t XYK_PROTECTION_LGDOP, uint8_t XYK_PROTECTION_LOST_CONTACT, uint8_t XYK_PROTECTION_OVER_HORIZ, uint8_t XYK_PROTECTION_OVER_VERTC, uint8_t XYK_PROTECTION_LOW, uint8_t XYK_PROTECTION_HIGH) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PROTECTION_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 2, XYK_PROTECTION_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 3, XYK_PROTECTION_MIN_RPM); + _mav_put_uint8_t(buf, 4, XYK_PROTECTION_HDFAULT); + _mav_put_uint8_t(buf, 5, XYK_PROTECTION_LGDOP); + _mav_put_uint8_t(buf, 6, XYK_PROTECTION_LOST_CONTACT); + _mav_put_uint8_t(buf, 7, XYK_PROTECTION_OVER_HORIZ); + _mav_put_uint8_t(buf, 8, XYK_PROTECTION_OVER_VERTC); + _mav_put_uint8_t(buf, 9, XYK_PROTECTION_LOW); + _mav_put_uint8_t(buf, 10, XYK_PROTECTION_HIGH); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN); +#else + mavlink_xyk_protection_param_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PROTECTION_TURNBAC_VOLT = XYK_PROTECTION_TURNBAC_VOLT; + packet.XYK_PROTECTION_EMGLAND_VOLT = XYK_PROTECTION_EMGLAND_VOLT; + packet.XYK_PROTECTION_MIN_RPM = XYK_PROTECTION_MIN_RPM; + packet.XYK_PROTECTION_HDFAULT = XYK_PROTECTION_HDFAULT; + packet.XYK_PROTECTION_LGDOP = XYK_PROTECTION_LGDOP; + packet.XYK_PROTECTION_LOST_CONTACT = XYK_PROTECTION_LOST_CONTACT; + packet.XYK_PROTECTION_OVER_HORIZ = XYK_PROTECTION_OVER_HORIZ; + packet.XYK_PROTECTION_OVER_VERTC = XYK_PROTECTION_OVER_VERTC; + packet.XYK_PROTECTION_LOW = XYK_PROTECTION_LOW; + packet.XYK_PROTECTION_HIGH = XYK_PROTECTION_HIGH; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_PROTECTION_PARAM; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC); +} + +/** + * @brief Pack a xyk_protection_param 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 XYK_PLANE_ID plane id. + * @param XYK_PROTECTION_TURNBAC_VOLT turn back voltage. + * @param XYK_PROTECTION_EMGLAND_VOLT emergence landing voltage + * @param XYK_PROTECTION_MIN_RPM fixed wing mininum rpm. + * @param XYK_PROTECTION_HDFAULT FCC hardware fault + * @param XYK_PROTECTION_LGDOP GPS or BD position accuracy is low. + * @param XYK_PROTECTION_LOST_CONTACT time that lost connect with gcs. + * @param XYK_PROTECTION_OVER_HORIZ while cross over the horizontal limit + * @param XYK_PROTECTION_OVER_VERTC while cross over the vertical limit + * @param XYK_PROTECTION_LOW While keeping a low position under the desire height for a long period + * @param XYK_PROTECTION_HIGH --high --- + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_protection_param_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t XYK_PLANE_ID,uint8_t XYK_PROTECTION_TURNBAC_VOLT,uint8_t XYK_PROTECTION_EMGLAND_VOLT,uint8_t XYK_PROTECTION_MIN_RPM,uint8_t XYK_PROTECTION_HDFAULT,uint8_t XYK_PROTECTION_LGDOP,uint8_t XYK_PROTECTION_LOST_CONTACT,uint8_t XYK_PROTECTION_OVER_HORIZ,uint8_t XYK_PROTECTION_OVER_VERTC,uint8_t XYK_PROTECTION_LOW,uint8_t XYK_PROTECTION_HIGH) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PROTECTION_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 2, XYK_PROTECTION_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 3, XYK_PROTECTION_MIN_RPM); + _mav_put_uint8_t(buf, 4, XYK_PROTECTION_HDFAULT); + _mav_put_uint8_t(buf, 5, XYK_PROTECTION_LGDOP); + _mav_put_uint8_t(buf, 6, XYK_PROTECTION_LOST_CONTACT); + _mav_put_uint8_t(buf, 7, XYK_PROTECTION_OVER_HORIZ); + _mav_put_uint8_t(buf, 8, XYK_PROTECTION_OVER_VERTC); + _mav_put_uint8_t(buf, 9, XYK_PROTECTION_LOW); + _mav_put_uint8_t(buf, 10, XYK_PROTECTION_HIGH); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN); +#else + mavlink_xyk_protection_param_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PROTECTION_TURNBAC_VOLT = XYK_PROTECTION_TURNBAC_VOLT; + packet.XYK_PROTECTION_EMGLAND_VOLT = XYK_PROTECTION_EMGLAND_VOLT; + packet.XYK_PROTECTION_MIN_RPM = XYK_PROTECTION_MIN_RPM; + packet.XYK_PROTECTION_HDFAULT = XYK_PROTECTION_HDFAULT; + packet.XYK_PROTECTION_LGDOP = XYK_PROTECTION_LGDOP; + packet.XYK_PROTECTION_LOST_CONTACT = XYK_PROTECTION_LOST_CONTACT; + packet.XYK_PROTECTION_OVER_HORIZ = XYK_PROTECTION_OVER_HORIZ; + packet.XYK_PROTECTION_OVER_VERTC = XYK_PROTECTION_OVER_VERTC; + packet.XYK_PROTECTION_LOW = XYK_PROTECTION_LOW; + packet.XYK_PROTECTION_HIGH = XYK_PROTECTION_HIGH; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_PROTECTION_PARAM; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC); +} + +/** + * @brief Encode a xyk_protection_param 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_protection_param C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_protection_param_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_protection_param_t* xyk_protection_param) +{ + return mavlink_msg_xyk_protection_param_pack(system_id, component_id, msg, xyk_protection_param->XYK_PLANE_ID, xyk_protection_param->XYK_PROTECTION_TURNBAC_VOLT, xyk_protection_param->XYK_PROTECTION_EMGLAND_VOLT, xyk_protection_param->XYK_PROTECTION_MIN_RPM, xyk_protection_param->XYK_PROTECTION_HDFAULT, xyk_protection_param->XYK_PROTECTION_LGDOP, xyk_protection_param->XYK_PROTECTION_LOST_CONTACT, xyk_protection_param->XYK_PROTECTION_OVER_HORIZ, xyk_protection_param->XYK_PROTECTION_OVER_VERTC, xyk_protection_param->XYK_PROTECTION_LOW, xyk_protection_param->XYK_PROTECTION_HIGH); +} + +/** + * @brief Encode a xyk_protection_param 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_protection_param C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_protection_param_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_protection_param_t* xyk_protection_param) +{ + return mavlink_msg_xyk_protection_param_pack_chan(system_id, component_id, chan, msg, xyk_protection_param->XYK_PLANE_ID, xyk_protection_param->XYK_PROTECTION_TURNBAC_VOLT, xyk_protection_param->XYK_PROTECTION_EMGLAND_VOLT, xyk_protection_param->XYK_PROTECTION_MIN_RPM, xyk_protection_param->XYK_PROTECTION_HDFAULT, xyk_protection_param->XYK_PROTECTION_LGDOP, xyk_protection_param->XYK_PROTECTION_LOST_CONTACT, xyk_protection_param->XYK_PROTECTION_OVER_HORIZ, xyk_protection_param->XYK_PROTECTION_OVER_VERTC, xyk_protection_param->XYK_PROTECTION_LOW, xyk_protection_param->XYK_PROTECTION_HIGH); +} + +/** + * @brief Send a xyk_protection_param message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID plane id. + * @param XYK_PROTECTION_TURNBAC_VOLT turn back voltage. + * @param XYK_PROTECTION_EMGLAND_VOLT emergence landing voltage + * @param XYK_PROTECTION_MIN_RPM fixed wing mininum rpm. + * @param XYK_PROTECTION_HDFAULT FCC hardware fault + * @param XYK_PROTECTION_LGDOP GPS or BD position accuracy is low. + * @param XYK_PROTECTION_LOST_CONTACT time that lost connect with gcs. + * @param XYK_PROTECTION_OVER_HORIZ while cross over the horizontal limit + * @param XYK_PROTECTION_OVER_VERTC while cross over the vertical limit + * @param XYK_PROTECTION_LOW While keeping a low position under the desire height for a long period + * @param XYK_PROTECTION_HIGH --high --- + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_protection_param_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_PROTECTION_TURNBAC_VOLT, uint8_t XYK_PROTECTION_EMGLAND_VOLT, uint8_t XYK_PROTECTION_MIN_RPM, uint8_t XYK_PROTECTION_HDFAULT, uint8_t XYK_PROTECTION_LGDOP, uint8_t XYK_PROTECTION_LOST_CONTACT, uint8_t XYK_PROTECTION_OVER_HORIZ, uint8_t XYK_PROTECTION_OVER_VERTC, uint8_t XYK_PROTECTION_LOW, uint8_t XYK_PROTECTION_HIGH) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN]; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PROTECTION_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 2, XYK_PROTECTION_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 3, XYK_PROTECTION_MIN_RPM); + _mav_put_uint8_t(buf, 4, XYK_PROTECTION_HDFAULT); + _mav_put_uint8_t(buf, 5, XYK_PROTECTION_LGDOP); + _mav_put_uint8_t(buf, 6, XYK_PROTECTION_LOST_CONTACT); + _mav_put_uint8_t(buf, 7, XYK_PROTECTION_OVER_HORIZ); + _mav_put_uint8_t(buf, 8, XYK_PROTECTION_OVER_VERTC); + _mav_put_uint8_t(buf, 9, XYK_PROTECTION_LOW); + _mav_put_uint8_t(buf, 10, XYK_PROTECTION_HIGH); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM, buf, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC); +#else + mavlink_xyk_protection_param_t packet; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.XYK_PROTECTION_TURNBAC_VOLT = XYK_PROTECTION_TURNBAC_VOLT; + packet.XYK_PROTECTION_EMGLAND_VOLT = XYK_PROTECTION_EMGLAND_VOLT; + packet.XYK_PROTECTION_MIN_RPM = XYK_PROTECTION_MIN_RPM; + packet.XYK_PROTECTION_HDFAULT = XYK_PROTECTION_HDFAULT; + packet.XYK_PROTECTION_LGDOP = XYK_PROTECTION_LGDOP; + packet.XYK_PROTECTION_LOST_CONTACT = XYK_PROTECTION_LOST_CONTACT; + packet.XYK_PROTECTION_OVER_HORIZ = XYK_PROTECTION_OVER_HORIZ; + packet.XYK_PROTECTION_OVER_VERTC = XYK_PROTECTION_OVER_VERTC; + packet.XYK_PROTECTION_LOW = XYK_PROTECTION_LOW; + packet.XYK_PROTECTION_HIGH = XYK_PROTECTION_HIGH; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM, (const char *)&packet, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC); +#endif +} + +/** + * @brief Send a xyk_protection_param message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_protection_param_send_struct(mavlink_channel_t chan, const mavlink_xyk_protection_param_t* xyk_protection_param) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_protection_param_send(chan, xyk_protection_param->XYK_PLANE_ID, xyk_protection_param->XYK_PROTECTION_TURNBAC_VOLT, xyk_protection_param->XYK_PROTECTION_EMGLAND_VOLT, xyk_protection_param->XYK_PROTECTION_MIN_RPM, xyk_protection_param->XYK_PROTECTION_HDFAULT, xyk_protection_param->XYK_PROTECTION_LGDOP, xyk_protection_param->XYK_PROTECTION_LOST_CONTACT, xyk_protection_param->XYK_PROTECTION_OVER_HORIZ, xyk_protection_param->XYK_PROTECTION_OVER_VERTC, xyk_protection_param->XYK_PROTECTION_LOW, xyk_protection_param->XYK_PROTECTION_HIGH); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM, (const char *)xyk_protection_param, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_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_xyk_protection_param_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t XYK_PROTECTION_TURNBAC_VOLT, uint8_t XYK_PROTECTION_EMGLAND_VOLT, uint8_t XYK_PROTECTION_MIN_RPM, uint8_t XYK_PROTECTION_HDFAULT, uint8_t XYK_PROTECTION_LGDOP, uint8_t XYK_PROTECTION_LOST_CONTACT, uint8_t XYK_PROTECTION_OVER_HORIZ, uint8_t XYK_PROTECTION_OVER_VERTC, uint8_t XYK_PROTECTION_LOW, uint8_t XYK_PROTECTION_HIGH) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint8_t(buf, 0, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 1, XYK_PROTECTION_TURNBAC_VOLT); + _mav_put_uint8_t(buf, 2, XYK_PROTECTION_EMGLAND_VOLT); + _mav_put_uint8_t(buf, 3, XYK_PROTECTION_MIN_RPM); + _mav_put_uint8_t(buf, 4, XYK_PROTECTION_HDFAULT); + _mav_put_uint8_t(buf, 5, XYK_PROTECTION_LGDOP); + _mav_put_uint8_t(buf, 6, XYK_PROTECTION_LOST_CONTACT); + _mav_put_uint8_t(buf, 7, XYK_PROTECTION_OVER_HORIZ); + _mav_put_uint8_t(buf, 8, XYK_PROTECTION_OVER_VERTC); + _mav_put_uint8_t(buf, 9, XYK_PROTECTION_LOW); + _mav_put_uint8_t(buf, 10, XYK_PROTECTION_HIGH); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM, buf, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC); +#else + mavlink_xyk_protection_param_t *packet = (mavlink_xyk_protection_param_t *)msgbuf; + packet->XYK_PLANE_ID = XYK_PLANE_ID; + packet->XYK_PROTECTION_TURNBAC_VOLT = XYK_PROTECTION_TURNBAC_VOLT; + packet->XYK_PROTECTION_EMGLAND_VOLT = XYK_PROTECTION_EMGLAND_VOLT; + packet->XYK_PROTECTION_MIN_RPM = XYK_PROTECTION_MIN_RPM; + packet->XYK_PROTECTION_HDFAULT = XYK_PROTECTION_HDFAULT; + packet->XYK_PROTECTION_LGDOP = XYK_PROTECTION_LGDOP; + packet->XYK_PROTECTION_LOST_CONTACT = XYK_PROTECTION_LOST_CONTACT; + packet->XYK_PROTECTION_OVER_HORIZ = XYK_PROTECTION_OVER_HORIZ; + packet->XYK_PROTECTION_OVER_VERTC = XYK_PROTECTION_OVER_VERTC; + packet->XYK_PROTECTION_LOW = XYK_PROTECTION_LOW; + packet->XYK_PROTECTION_HIGH = XYK_PROTECTION_HIGH; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM, (const char *)packet, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_PROTECTION_PARAM UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_protection_param message + * + * @return plane id. + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 0); +} + +/** + * @brief Get field XYK_PROTECTION_TURNBAC_VOLT from xyk_protection_param message + * + * @return turn back voltage. + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_TURNBAC_VOLT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 1); +} + +/** + * @brief Get field XYK_PROTECTION_EMGLAND_VOLT from xyk_protection_param message + * + * @return emergence landing voltage + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_EMGLAND_VOLT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 2); +} + +/** + * @brief Get field XYK_PROTECTION_MIN_RPM from xyk_protection_param message + * + * @return fixed wing mininum rpm. + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_MIN_RPM(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 3); +} + +/** + * @brief Get field XYK_PROTECTION_HDFAULT from xyk_protection_param message + * + * @return FCC hardware fault + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_HDFAULT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 4); +} + +/** + * @brief Get field XYK_PROTECTION_LGDOP from xyk_protection_param message + * + * @return GPS or BD position accuracy is low. + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_LGDOP(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 5); +} + +/** + * @brief Get field XYK_PROTECTION_LOST_CONTACT from xyk_protection_param message + * + * @return time that lost connect with gcs. + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_LOST_CONTACT(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 6); +} + +/** + * @brief Get field XYK_PROTECTION_OVER_HORIZ from xyk_protection_param message + * + * @return while cross over the horizontal limit + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_OVER_HORIZ(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 7); +} + +/** + * @brief Get field XYK_PROTECTION_OVER_VERTC from xyk_protection_param message + * + * @return while cross over the vertical limit + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_OVER_VERTC(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 8); +} + +/** + * @brief Get field XYK_PROTECTION_LOW from xyk_protection_param message + * + * @return While keeping a low position under the desire height for a long period + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_LOW(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 9); +} + +/** + * @brief Get field XYK_PROTECTION_HIGH from xyk_protection_param message + * + * @return --high --- + */ +static inline uint8_t mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_HIGH(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 10); +} + +/** + * @brief Decode a xyk_protection_param message into a struct + * + * @param msg The message to decode + * @param xyk_protection_param C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_protection_param_decode(const mavlink_message_t* msg, mavlink_xyk_protection_param_t* xyk_protection_param) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_protection_param->XYK_PLANE_ID = mavlink_msg_xyk_protection_param_get_XYK_PLANE_ID(msg); + xyk_protection_param->XYK_PROTECTION_TURNBAC_VOLT = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_TURNBAC_VOLT(msg); + xyk_protection_param->XYK_PROTECTION_EMGLAND_VOLT = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_EMGLAND_VOLT(msg); + xyk_protection_param->XYK_PROTECTION_MIN_RPM = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_MIN_RPM(msg); + xyk_protection_param->XYK_PROTECTION_HDFAULT = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_HDFAULT(msg); + xyk_protection_param->XYK_PROTECTION_LGDOP = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_LGDOP(msg); + xyk_protection_param->XYK_PROTECTION_LOST_CONTACT = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_LOST_CONTACT(msg); + xyk_protection_param->XYK_PROTECTION_OVER_HORIZ = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_OVER_HORIZ(msg); + xyk_protection_param->XYK_PROTECTION_OVER_VERTC = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_OVER_VERTC(msg); + xyk_protection_param->XYK_PROTECTION_LOW = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_LOW(msg); + xyk_protection_param->XYK_PROTECTION_HIGH = mavlink_msg_xyk_protection_param_get_XYK_PROTECTION_HIGH(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN? msg->len : MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN; + memset(xyk_protection_param, 0, MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_LEN); + memcpy(xyk_protection_param, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_sqn_cmd_ap_eo_transpond.h b/XYK/mavlink_msg_xyk_sqn_cmd_ap_eo_transpond.h new file mode 100644 index 0000000..a628f00 --- /dev/null +++ b/XYK/mavlink_msg_xyk_sqn_cmd_ap_eo_transpond.h @@ -0,0 +1,313 @@ +#pragma once +// MESSAGE XYK_SQN_CMD_AP_EO_TRANSPOND PACKING + +#define MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND 30052 + +MAVPACKED( +typedef struct __mavlink_xyk_sqn_cmd_ap_eo_transpond_t { + uint16_t BYTE45; /*< */ + uint16_t BYTE67; /*< */ + uint8_t XYK_PLANE_ID; /*< plane id.*/ + uint8_t taret_component; /*< eo ID*/ + uint8_t command; /*< EO Command ID tobe transponded.*/ +}) mavlink_xyk_sqn_cmd_ap_eo_transpond_t; + +#define MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN 7 +#define MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN 7 +#define MAVLINK_MSG_ID_30052_LEN 7 +#define MAVLINK_MSG_ID_30052_MIN_LEN 7 + +#define MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC 160 +#define MAVLINK_MSG_ID_30052_CRC 160 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_SQN_CMD_AP_EO_TRANSPOND { \ + 30052, \ + "XYK_SQN_CMD_AP_EO_TRANSPOND", \ + 5, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, XYK_PLANE_ID) }, \ + { "taret_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 5, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, taret_component) }, \ + { "command", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, command) }, \ + { "BYTE45", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, BYTE45) }, \ + { "BYTE67", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, BYTE67) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_SQN_CMD_AP_EO_TRANSPOND { \ + "XYK_SQN_CMD_AP_EO_TRANSPOND", \ + 5, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 4, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, XYK_PLANE_ID) }, \ + { "taret_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 5, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, taret_component) }, \ + { "command", NULL, MAVLINK_TYPE_UINT8_T, 0, 6, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, command) }, \ + { "BYTE45", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, BYTE45) }, \ + { "BYTE67", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_sqn_cmd_ap_eo_transpond_t, BYTE67) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_sqn_cmd_ap_eo_transpond 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 XYK_PLANE_ID plane id. + * @param taret_component eo ID + * @param command EO Command ID tobe transponded. + * @param BYTE45 + * @param BYTE67 + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t XYK_PLANE_ID, uint8_t taret_component, uint8_t command, uint16_t BYTE45, uint16_t BYTE67) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN]; + _mav_put_uint16_t(buf, 0, BYTE45); + _mav_put_uint16_t(buf, 2, BYTE67); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, taret_component); + _mav_put_uint8_t(buf, 6, command); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN); +#else + mavlink_xyk_sqn_cmd_ap_eo_transpond_t packet; + packet.BYTE45 = BYTE45; + packet.BYTE67 = BYTE67; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.taret_component = taret_component; + packet.command = command; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC); +} + +/** + * @brief Pack a xyk_sqn_cmd_ap_eo_transpond 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 XYK_PLANE_ID plane id. + * @param taret_component eo ID + * @param command EO Command ID tobe transponded. + * @param BYTE45 + * @param BYTE67 + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t XYK_PLANE_ID,uint8_t taret_component,uint8_t command,uint16_t BYTE45,uint16_t BYTE67) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN]; + _mav_put_uint16_t(buf, 0, BYTE45); + _mav_put_uint16_t(buf, 2, BYTE67); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, taret_component); + _mav_put_uint8_t(buf, 6, command); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN); +#else + mavlink_xyk_sqn_cmd_ap_eo_transpond_t packet; + packet.BYTE45 = BYTE45; + packet.BYTE67 = BYTE67; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.taret_component = taret_component; + packet.command = command; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC); +} + +/** + * @brief Encode a xyk_sqn_cmd_ap_eo_transpond 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_sqn_cmd_ap_eo_transpond C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_sqn_cmd_ap_eo_transpond_t* xyk_sqn_cmd_ap_eo_transpond) +{ + return mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_pack(system_id, component_id, msg, xyk_sqn_cmd_ap_eo_transpond->XYK_PLANE_ID, xyk_sqn_cmd_ap_eo_transpond->taret_component, xyk_sqn_cmd_ap_eo_transpond->command, xyk_sqn_cmd_ap_eo_transpond->BYTE45, xyk_sqn_cmd_ap_eo_transpond->BYTE67); +} + +/** + * @brief Encode a xyk_sqn_cmd_ap_eo_transpond 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_sqn_cmd_ap_eo_transpond C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_sqn_cmd_ap_eo_transpond_t* xyk_sqn_cmd_ap_eo_transpond) +{ + return mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_pack_chan(system_id, component_id, chan, msg, xyk_sqn_cmd_ap_eo_transpond->XYK_PLANE_ID, xyk_sqn_cmd_ap_eo_transpond->taret_component, xyk_sqn_cmd_ap_eo_transpond->command, xyk_sqn_cmd_ap_eo_transpond->BYTE45, xyk_sqn_cmd_ap_eo_transpond->BYTE67); +} + +/** + * @brief Send a xyk_sqn_cmd_ap_eo_transpond message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID plane id. + * @param taret_component eo ID + * @param command EO Command ID tobe transponded. + * @param BYTE45 + * @param BYTE67 + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t taret_component, uint8_t command, uint16_t BYTE45, uint16_t BYTE67) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN]; + _mav_put_uint16_t(buf, 0, BYTE45); + _mav_put_uint16_t(buf, 2, BYTE67); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, taret_component); + _mav_put_uint8_t(buf, 6, command); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND, buf, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC); +#else + mavlink_xyk_sqn_cmd_ap_eo_transpond_t packet; + packet.BYTE45 = BYTE45; + packet.BYTE67 = BYTE67; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.taret_component = taret_component; + packet.command = command; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND, (const char *)&packet, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC); +#endif +} + +/** + * @brief Send a xyk_sqn_cmd_ap_eo_transpond message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_send_struct(mavlink_channel_t chan, const mavlink_xyk_sqn_cmd_ap_eo_transpond_t* xyk_sqn_cmd_ap_eo_transpond) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_send(chan, xyk_sqn_cmd_ap_eo_transpond->XYK_PLANE_ID, xyk_sqn_cmd_ap_eo_transpond->taret_component, xyk_sqn_cmd_ap_eo_transpond->command, xyk_sqn_cmd_ap_eo_transpond->BYTE45, xyk_sqn_cmd_ap_eo_transpond->BYTE67); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND, (const char *)xyk_sqn_cmd_ap_eo_transpond, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_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_xyk_sqn_cmd_ap_eo_transpond_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t taret_component, uint8_t command, uint16_t BYTE45, uint16_t BYTE67) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint16_t(buf, 0, BYTE45); + _mav_put_uint16_t(buf, 2, BYTE67); + _mav_put_uint8_t(buf, 4, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 5, taret_component); + _mav_put_uint8_t(buf, 6, command); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND, buf, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC); +#else + mavlink_xyk_sqn_cmd_ap_eo_transpond_t *packet = (mavlink_xyk_sqn_cmd_ap_eo_transpond_t *)msgbuf; + packet->BYTE45 = BYTE45; + packet->BYTE67 = BYTE67; + packet->XYK_PLANE_ID = XYK_PLANE_ID; + packet->taret_component = taret_component; + packet->command = command; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND, (const char *)packet, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_SQN_CMD_AP_EO_TRANSPOND UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_sqn_cmd_ap_eo_transpond message + * + * @return plane id. + */ +static inline uint8_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 4); +} + +/** + * @brief Get field taret_component from xyk_sqn_cmd_ap_eo_transpond message + * + * @return eo ID + */ +static inline uint8_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_taret_component(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 5); +} + +/** + * @brief Get field command from xyk_sqn_cmd_ap_eo_transpond message + * + * @return EO Command ID tobe transponded. + */ +static inline uint8_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_command(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 6); +} + +/** + * @brief Get field BYTE45 from xyk_sqn_cmd_ap_eo_transpond message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_BYTE45(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 0); +} + +/** + * @brief Get field BYTE67 from xyk_sqn_cmd_ap_eo_transpond message + * + * @return + */ +static inline uint16_t mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_BYTE67(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 2); +} + +/** + * @brief Decode a xyk_sqn_cmd_ap_eo_transpond message into a struct + * + * @param msg The message to decode + * @param xyk_sqn_cmd_ap_eo_transpond C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_decode(const mavlink_message_t* msg, mavlink_xyk_sqn_cmd_ap_eo_transpond_t* xyk_sqn_cmd_ap_eo_transpond) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_sqn_cmd_ap_eo_transpond->BYTE45 = mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_BYTE45(msg); + xyk_sqn_cmd_ap_eo_transpond->BYTE67 = mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_BYTE67(msg); + xyk_sqn_cmd_ap_eo_transpond->XYK_PLANE_ID = mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_XYK_PLANE_ID(msg); + xyk_sqn_cmd_ap_eo_transpond->taret_component = mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_taret_component(msg); + xyk_sqn_cmd_ap_eo_transpond->command = mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_get_command(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN? msg->len : MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN; + memset(xyk_sqn_cmd_ap_eo_transpond, 0, MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_LEN); + memcpy(xyk_sqn_cmd_ap_eo_transpond, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_surface_neutral_set.h b/XYK/mavlink_msg_xyk_surface_neutral_set.h new file mode 100644 index 0000000..0e7dfc9 --- /dev/null +++ b/XYK/mavlink_msg_xyk_surface_neutral_set.h @@ -0,0 +1,313 @@ +#pragma once +// MESSAGE XYK_SURFACE_NEUTRAL_SET PACKING + +#define MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET 30007 + +MAVPACKED( +typedef struct __mavlink_xyk_surface_neutral_set_t { + uint16_t AILERONL; /*< AILERON left [1000,2000]*/ + uint16_t AILERONR; /*< aileron right[1000,2000]*/ + uint16_t RUDERL; /*< rudder left[1000,2000]*/ + uint16_t RUDERR; /*< rudder right[1000,2000]*/ + uint8_t PLANE_ID; /*< PLANE ID*/ +}) mavlink_xyk_surface_neutral_set_t; + +#define MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN 9 +#define MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN 9 +#define MAVLINK_MSG_ID_30007_LEN 9 +#define MAVLINK_MSG_ID_30007_MIN_LEN 9 + +#define MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC 180 +#define MAVLINK_MSG_ID_30007_CRC 180 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_SURFACE_NEUTRAL_SET { \ + 30007, \ + "XYK_SURFACE_NEUTRAL_SET", \ + 5, \ + { { "PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_surface_neutral_set_t, PLANE_ID) }, \ + { "AILERONL", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_surface_neutral_set_t, AILERONL) }, \ + { "AILERONR", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_surface_neutral_set_t, AILERONR) }, \ + { "RUDERL", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_xyk_surface_neutral_set_t, RUDERL) }, \ + { "RUDERR", NULL, MAVLINK_TYPE_UINT16_T, 0, 6, offsetof(mavlink_xyk_surface_neutral_set_t, RUDERR) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_SURFACE_NEUTRAL_SET { \ + "XYK_SURFACE_NEUTRAL_SET", \ + 5, \ + { { "PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 8, offsetof(mavlink_xyk_surface_neutral_set_t, PLANE_ID) }, \ + { "AILERONL", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_surface_neutral_set_t, AILERONL) }, \ + { "AILERONR", NULL, MAVLINK_TYPE_UINT16_T, 0, 2, offsetof(mavlink_xyk_surface_neutral_set_t, AILERONR) }, \ + { "RUDERL", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_xyk_surface_neutral_set_t, RUDERL) }, \ + { "RUDERR", NULL, MAVLINK_TYPE_UINT16_T, 0, 6, offsetof(mavlink_xyk_surface_neutral_set_t, RUDERR) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_surface_neutral_set 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 PLANE ID + * @param AILERONL AILERON left [1000,2000] + * @param AILERONR aileron right[1000,2000] + * @param RUDERL rudder left[1000,2000] + * @param RUDERR rudder right[1000,2000] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t PLANE_ID, uint16_t AILERONL, uint16_t AILERONR, uint16_t RUDERL, uint16_t RUDERR) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN]; + _mav_put_uint16_t(buf, 0, AILERONL); + _mav_put_uint16_t(buf, 2, AILERONR); + _mav_put_uint16_t(buf, 4, RUDERL); + _mav_put_uint16_t(buf, 6, RUDERR); + _mav_put_uint8_t(buf, 8, PLANE_ID); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN); +#else + mavlink_xyk_surface_neutral_set_t packet; + packet.AILERONL = AILERONL; + packet.AILERONR = AILERONR; + packet.RUDERL = RUDERL; + packet.RUDERR = RUDERR; + packet.PLANE_ID = PLANE_ID; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC); +} + +/** + * @brief Pack a xyk_surface_neutral_set 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 PLANE ID + * @param AILERONL AILERON left [1000,2000] + * @param AILERONR aileron right[1000,2000] + * @param RUDERL rudder left[1000,2000] + * @param RUDERR rudder right[1000,2000] + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t PLANE_ID,uint16_t AILERONL,uint16_t AILERONR,uint16_t RUDERL,uint16_t RUDERR) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN]; + _mav_put_uint16_t(buf, 0, AILERONL); + _mav_put_uint16_t(buf, 2, AILERONR); + _mav_put_uint16_t(buf, 4, RUDERL); + _mav_put_uint16_t(buf, 6, RUDERR); + _mav_put_uint8_t(buf, 8, PLANE_ID); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN); +#else + mavlink_xyk_surface_neutral_set_t packet; + packet.AILERONL = AILERONL; + packet.AILERONR = AILERONR; + packet.RUDERL = RUDERL; + packet.RUDERR = RUDERR; + packet.PLANE_ID = PLANE_ID; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC); +} + +/** + * @brief Encode a xyk_surface_neutral_set 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_surface_neutral_set C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_surface_neutral_set_t* xyk_surface_neutral_set) +{ + return mavlink_msg_xyk_surface_neutral_set_pack(system_id, component_id, msg, xyk_surface_neutral_set->PLANE_ID, xyk_surface_neutral_set->AILERONL, xyk_surface_neutral_set->AILERONR, xyk_surface_neutral_set->RUDERL, xyk_surface_neutral_set->RUDERR); +} + +/** + * @brief Encode a xyk_surface_neutral_set 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_surface_neutral_set C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_surface_neutral_set_t* xyk_surface_neutral_set) +{ + return mavlink_msg_xyk_surface_neutral_set_pack_chan(system_id, component_id, chan, msg, xyk_surface_neutral_set->PLANE_ID, xyk_surface_neutral_set->AILERONL, xyk_surface_neutral_set->AILERONR, xyk_surface_neutral_set->RUDERL, xyk_surface_neutral_set->RUDERR); +} + +/** + * @brief Send a xyk_surface_neutral_set message + * @param chan MAVLink channel to send the message + * + * @param PLANE_ID PLANE ID + * @param AILERONL AILERON left [1000,2000] + * @param AILERONR aileron right[1000,2000] + * @param RUDERL rudder left[1000,2000] + * @param RUDERR rudder right[1000,2000] + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_surface_neutral_set_send(mavlink_channel_t chan, uint8_t PLANE_ID, uint16_t AILERONL, uint16_t AILERONR, uint16_t RUDERL, uint16_t RUDERR) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN]; + _mav_put_uint16_t(buf, 0, AILERONL); + _mav_put_uint16_t(buf, 2, AILERONR); + _mav_put_uint16_t(buf, 4, RUDERL); + _mav_put_uint16_t(buf, 6, RUDERR); + _mav_put_uint8_t(buf, 8, PLANE_ID); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET, buf, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC); +#else + mavlink_xyk_surface_neutral_set_t packet; + packet.AILERONL = AILERONL; + packet.AILERONR = AILERONR; + packet.RUDERL = RUDERL; + packet.RUDERR = RUDERR; + packet.PLANE_ID = PLANE_ID; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET, (const char *)&packet, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC); +#endif +} + +/** + * @brief Send a xyk_surface_neutral_set message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_surface_neutral_set_send_struct(mavlink_channel_t chan, const mavlink_xyk_surface_neutral_set_t* xyk_surface_neutral_set) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_surface_neutral_set_send(chan, xyk_surface_neutral_set->PLANE_ID, xyk_surface_neutral_set->AILERONL, xyk_surface_neutral_set->AILERONR, xyk_surface_neutral_set->RUDERL, xyk_surface_neutral_set->RUDERR); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET, (const char *)xyk_surface_neutral_set, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_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_xyk_surface_neutral_set_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t PLANE_ID, uint16_t AILERONL, uint16_t AILERONR, uint16_t RUDERL, uint16_t RUDERR) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint16_t(buf, 0, AILERONL); + _mav_put_uint16_t(buf, 2, AILERONR); + _mav_put_uint16_t(buf, 4, RUDERL); + _mav_put_uint16_t(buf, 6, RUDERR); + _mav_put_uint8_t(buf, 8, PLANE_ID); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET, buf, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC); +#else + mavlink_xyk_surface_neutral_set_t *packet = (mavlink_xyk_surface_neutral_set_t *)msgbuf; + packet->AILERONL = AILERONL; + packet->AILERONR = AILERONR; + packet->RUDERL = RUDERL; + packet->RUDERR = RUDERR; + packet->PLANE_ID = PLANE_ID; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET, (const char *)packet, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_SURFACE_NEUTRAL_SET UNPACKING + + +/** + * @brief Get field PLANE_ID from xyk_surface_neutral_set message + * + * @return PLANE ID + */ +static inline uint8_t mavlink_msg_xyk_surface_neutral_set_get_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 8); +} + +/** + * @brief Get field AILERONL from xyk_surface_neutral_set message + * + * @return AILERON left [1000,2000] + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_get_AILERONL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 0); +} + +/** + * @brief Get field AILERONR from xyk_surface_neutral_set message + * + * @return aileron right[1000,2000] + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_get_AILERONR(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 2); +} + +/** + * @brief Get field RUDERL from xyk_surface_neutral_set message + * + * @return rudder left[1000,2000] + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_get_RUDERL(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 4); +} + +/** + * @brief Get field RUDERR from xyk_surface_neutral_set message + * + * @return rudder right[1000,2000] + */ +static inline uint16_t mavlink_msg_xyk_surface_neutral_set_get_RUDERR(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 6); +} + +/** + * @brief Decode a xyk_surface_neutral_set message into a struct + * + * @param msg The message to decode + * @param xyk_surface_neutral_set C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_surface_neutral_set_decode(const mavlink_message_t* msg, mavlink_xyk_surface_neutral_set_t* xyk_surface_neutral_set) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_surface_neutral_set->AILERONL = mavlink_msg_xyk_surface_neutral_set_get_AILERONL(msg); + xyk_surface_neutral_set->AILERONR = mavlink_msg_xyk_surface_neutral_set_get_AILERONR(msg); + xyk_surface_neutral_set->RUDERL = mavlink_msg_xyk_surface_neutral_set_get_RUDERL(msg); + xyk_surface_neutral_set->RUDERR = mavlink_msg_xyk_surface_neutral_set_get_RUDERR(msg); + xyk_surface_neutral_set->PLANE_ID = mavlink_msg_xyk_surface_neutral_set_get_PLANE_ID(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN? msg->len : MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN; + memset(xyk_surface_neutral_set, 0, MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_LEN); + memcpy(xyk_surface_neutral_set, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/mavlink_msg_xyk_swv_cmd_ap_eo_transpond.h b/XYK/mavlink_msg_xyk_swv_cmd_ap_eo_transpond.h new file mode 100644 index 0000000..29134eb --- /dev/null +++ b/XYK/mavlink_msg_xyk_swv_cmd_ap_eo_transpond.h @@ -0,0 +1,263 @@ +#pragma once +// MESSAGE XYK_SWV_CMD_AP_EO_TRANSPOND PACKING + +#define MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND 30051 + +MAVPACKED( +typedef struct __mavlink_xyk_swv_cmd_ap_eo_transpond_t { + uint16_t command; /*< EO Command ID tobe transponded.*/ + uint8_t XYK_PLANE_ID; /*< plane id.*/ + uint8_t taret_component; /*< eo ID*/ +}) mavlink_xyk_swv_cmd_ap_eo_transpond_t; + +#define MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN 4 +#define MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN 4 +#define MAVLINK_MSG_ID_30051_LEN 4 +#define MAVLINK_MSG_ID_30051_MIN_LEN 4 + +#define MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC 85 +#define MAVLINK_MSG_ID_30051_CRC 85 + + + +#if MAVLINK_COMMAND_24BIT +#define MAVLINK_MESSAGE_INFO_XYK_SWV_CMD_AP_EO_TRANSPOND { \ + 30051, \ + "XYK_SWV_CMD_AP_EO_TRANSPOND", \ + 3, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_swv_cmd_ap_eo_transpond_t, XYK_PLANE_ID) }, \ + { "taret_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 3, offsetof(mavlink_xyk_swv_cmd_ap_eo_transpond_t, taret_component) }, \ + { "command", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_swv_cmd_ap_eo_transpond_t, command) }, \ + } \ +} +#else +#define MAVLINK_MESSAGE_INFO_XYK_SWV_CMD_AP_EO_TRANSPOND { \ + "XYK_SWV_CMD_AP_EO_TRANSPOND", \ + 3, \ + { { "XYK_PLANE_ID", NULL, MAVLINK_TYPE_UINT8_T, 0, 2, offsetof(mavlink_xyk_swv_cmd_ap_eo_transpond_t, XYK_PLANE_ID) }, \ + { "taret_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 3, offsetof(mavlink_xyk_swv_cmd_ap_eo_transpond_t, taret_component) }, \ + { "command", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_xyk_swv_cmd_ap_eo_transpond_t, command) }, \ + } \ +} +#endif + +/** + * @brief Pack a xyk_swv_cmd_ap_eo_transpond 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 XYK_PLANE_ID plane id. + * @param taret_component eo ID + * @param command EO Command ID tobe transponded. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_swv_cmd_ap_eo_transpond_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, + uint8_t XYK_PLANE_ID, uint8_t taret_component, uint16_t command) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN]; + _mav_put_uint16_t(buf, 0, command); + _mav_put_uint8_t(buf, 2, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 3, taret_component); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN); +#else + mavlink_xyk_swv_cmd_ap_eo_transpond_t packet; + packet.command = command; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.taret_component = taret_component; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND; + return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC); +} + +/** + * @brief Pack a xyk_swv_cmd_ap_eo_transpond 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 XYK_PLANE_ID plane id. + * @param taret_component eo ID + * @param command EO Command ID tobe transponded. + * @return length of the message in bytes (excluding serial stream start sign) + */ +static inline uint16_t mavlink_msg_xyk_swv_cmd_ap_eo_transpond_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, + mavlink_message_t* msg, + uint8_t XYK_PLANE_ID,uint8_t taret_component,uint16_t command) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN]; + _mav_put_uint16_t(buf, 0, command); + _mav_put_uint8_t(buf, 2, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 3, taret_component); + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN); +#else + mavlink_xyk_swv_cmd_ap_eo_transpond_t packet; + packet.command = command; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.taret_component = taret_component; + + memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN); +#endif + + msg->msgid = MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND; + return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC); +} + +/** + * @brief Encode a xyk_swv_cmd_ap_eo_transpond 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_swv_cmd_ap_eo_transpond C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_swv_cmd_ap_eo_transpond_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_xyk_swv_cmd_ap_eo_transpond_t* xyk_swv_cmd_ap_eo_transpond) +{ + return mavlink_msg_xyk_swv_cmd_ap_eo_transpond_pack(system_id, component_id, msg, xyk_swv_cmd_ap_eo_transpond->XYK_PLANE_ID, xyk_swv_cmd_ap_eo_transpond->taret_component, xyk_swv_cmd_ap_eo_transpond->command); +} + +/** + * @brief Encode a xyk_swv_cmd_ap_eo_transpond 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_swv_cmd_ap_eo_transpond C-struct to read the message contents from + */ +static inline uint16_t mavlink_msg_xyk_swv_cmd_ap_eo_transpond_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_xyk_swv_cmd_ap_eo_transpond_t* xyk_swv_cmd_ap_eo_transpond) +{ + return mavlink_msg_xyk_swv_cmd_ap_eo_transpond_pack_chan(system_id, component_id, chan, msg, xyk_swv_cmd_ap_eo_transpond->XYK_PLANE_ID, xyk_swv_cmd_ap_eo_transpond->taret_component, xyk_swv_cmd_ap_eo_transpond->command); +} + +/** + * @brief Send a xyk_swv_cmd_ap_eo_transpond message + * @param chan MAVLink channel to send the message + * + * @param XYK_PLANE_ID plane id. + * @param taret_component eo ID + * @param command EO Command ID tobe transponded. + */ +#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS + +static inline void mavlink_msg_xyk_swv_cmd_ap_eo_transpond_send(mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t taret_component, uint16_t command) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char buf[MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN]; + _mav_put_uint16_t(buf, 0, command); + _mav_put_uint8_t(buf, 2, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 3, taret_component); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND, buf, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC); +#else + mavlink_xyk_swv_cmd_ap_eo_transpond_t packet; + packet.command = command; + packet.XYK_PLANE_ID = XYK_PLANE_ID; + packet.taret_component = taret_component; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND, (const char *)&packet, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC); +#endif +} + +/** + * @brief Send a xyk_swv_cmd_ap_eo_transpond message + * @param chan MAVLink channel to send the message + * @param struct The MAVLink struct to serialize + */ +static inline void mavlink_msg_xyk_swv_cmd_ap_eo_transpond_send_struct(mavlink_channel_t chan, const mavlink_xyk_swv_cmd_ap_eo_transpond_t* xyk_swv_cmd_ap_eo_transpond) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + mavlink_msg_xyk_swv_cmd_ap_eo_transpond_send(chan, xyk_swv_cmd_ap_eo_transpond->XYK_PLANE_ID, xyk_swv_cmd_ap_eo_transpond->taret_component, xyk_swv_cmd_ap_eo_transpond->command); +#else + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND, (const char *)xyk_swv_cmd_ap_eo_transpond, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC); +#endif +} + +#if MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_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_xyk_swv_cmd_ap_eo_transpond_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint8_t XYK_PLANE_ID, uint8_t taret_component, uint16_t command) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + char *buf = (char *)msgbuf; + _mav_put_uint16_t(buf, 0, command); + _mav_put_uint8_t(buf, 2, XYK_PLANE_ID); + _mav_put_uint8_t(buf, 3, taret_component); + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND, buf, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC); +#else + mavlink_xyk_swv_cmd_ap_eo_transpond_t *packet = (mavlink_xyk_swv_cmd_ap_eo_transpond_t *)msgbuf; + packet->command = command; + packet->XYK_PLANE_ID = XYK_PLANE_ID; + packet->taret_component = taret_component; + + _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND, (const char *)packet, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_CRC); +#endif +} +#endif + +#endif + +// MESSAGE XYK_SWV_CMD_AP_EO_TRANSPOND UNPACKING + + +/** + * @brief Get field XYK_PLANE_ID from xyk_swv_cmd_ap_eo_transpond message + * + * @return plane id. + */ +static inline uint8_t mavlink_msg_xyk_swv_cmd_ap_eo_transpond_get_XYK_PLANE_ID(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 2); +} + +/** + * @brief Get field taret_component from xyk_swv_cmd_ap_eo_transpond message + * + * @return eo ID + */ +static inline uint8_t mavlink_msg_xyk_swv_cmd_ap_eo_transpond_get_taret_component(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint8_t(msg, 3); +} + +/** + * @brief Get field command from xyk_swv_cmd_ap_eo_transpond message + * + * @return EO Command ID tobe transponded. + */ +static inline uint16_t mavlink_msg_xyk_swv_cmd_ap_eo_transpond_get_command(const mavlink_message_t* msg) +{ + return _MAV_RETURN_uint16_t(msg, 0); +} + +/** + * @brief Decode a xyk_swv_cmd_ap_eo_transpond message into a struct + * + * @param msg The message to decode + * @param xyk_swv_cmd_ap_eo_transpond C-struct to decode the message contents into + */ +static inline void mavlink_msg_xyk_swv_cmd_ap_eo_transpond_decode(const mavlink_message_t* msg, mavlink_xyk_swv_cmd_ap_eo_transpond_t* xyk_swv_cmd_ap_eo_transpond) +{ +#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS + xyk_swv_cmd_ap_eo_transpond->command = mavlink_msg_xyk_swv_cmd_ap_eo_transpond_get_command(msg); + xyk_swv_cmd_ap_eo_transpond->XYK_PLANE_ID = mavlink_msg_xyk_swv_cmd_ap_eo_transpond_get_XYK_PLANE_ID(msg); + xyk_swv_cmd_ap_eo_transpond->taret_component = mavlink_msg_xyk_swv_cmd_ap_eo_transpond_get_taret_component(msg); +#else + uint8_t len = msg->len < MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN? msg->len : MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN; + memset(xyk_swv_cmd_ap_eo_transpond, 0, MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_LEN); + memcpy(xyk_swv_cmd_ap_eo_transpond, _MAV_PAYLOAD(msg), len); +#endif +} diff --git a/XYK/testsuite.h b/XYK/testsuite.h new file mode 100644 index 0000000..b463085 --- /dev/null +++ b/XYK/testsuite.h @@ -0,0 +1,1107 @@ +/** @file + * @brief MAVLink comm protocol testsuite generated from XYK.xml + * @see http://qgroundcontrol.org/mavlink/ + */ +#pragma once +#ifndef XYK_TESTSUITE_H +#define XYK_TESTSUITE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef MAVLINK_TEST_ALL +#define MAVLINK_TEST_ALL + +static void mavlink_test_XYK(uint8_t, uint8_t, mavlink_message_t *last_msg); + +static void mavlink_test_all(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg) +{ + + mavlink_test_XYK(system_id, component_id, last_msg); +} +#endif + + + + +static void mavlink_test_xyk_frame1_ap_to_gcs(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_XYK_FRAME1_AP_TO_GCS >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_frame1_ap_to_gcs_t packet_in = { + 963497464,17443,17547,17651,17755,17859,17963,18067,187,254,65,132,199 + }; + mavlink_xyk_frame1_ap_to_gcs_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_DSR_ASL = packet_in.XYK_DSR_ASL; + packet1.XYK_DSR_PITCH = packet_in.XYK_DSR_PITCH; + packet1.XYK_DSR_ROLL = packet_in.XYK_DSR_ROLL; + packet1.XYK_DSR_YAW = packet_in.XYK_DSR_YAW; + packet1.XYK_CUR_PITCH = packet_in.XYK_CUR_PITCH; + packet1.XYK_CUR_ROLL = packet_in.XYK_CUR_ROLL; + packet1.XYK_CUR_YAW = packet_in.XYK_CUR_YAW; + packet1.XYK_CUR_AGL = packet_in.XYK_CUR_AGL; + packet1.XYK_CUR_IAS = packet_in.XYK_CUR_IAS; + packet1.XYK_CUR_GS = packet_in.XYK_CUR_GS; + packet1.XYK_CUR_AS = packet_in.XYK_CUR_AS; + packet1.XYK_CUR_VS = packet_in.XYK_CUR_VS; + packet1.XYK_DSR_VS = packet_in.XYK_DSR_VS; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_FRAME1_AP_TO_GCS_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame1_ap_to_gcs_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_frame1_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame1_ap_to_gcs_pack(system_id, component_id, &msg , packet1.XYK_DSR_PITCH , packet1.XYK_DSR_ROLL , packet1.XYK_DSR_YAW , packet1.XYK_DSR_ASL , packet1.XYK_CUR_PITCH , packet1.XYK_CUR_ROLL , packet1.XYK_CUR_YAW , packet1.XYK_CUR_AGL , packet1.XYK_CUR_IAS , packet1.XYK_CUR_GS , packet1.XYK_CUR_AS , packet1.XYK_CUR_VS , packet1.XYK_DSR_VS ); + mavlink_msg_xyk_frame1_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame1_ap_to_gcs_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_DSR_PITCH , packet1.XYK_DSR_ROLL , packet1.XYK_DSR_YAW , packet1.XYK_DSR_ASL , packet1.XYK_CUR_PITCH , packet1.XYK_CUR_ROLL , packet1.XYK_CUR_YAW , packet1.XYK_CUR_AGL , packet1.XYK_CUR_IAS , packet1.XYK_CUR_GS , packet1.XYK_CUR_AS , packet1.XYK_CUR_VS , packet1.XYK_DSR_VS ); + mavlink_msg_xyk_frame1_ap_to_gcs_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_frame2_ap_to_gcs_t packet_in = { + 17235,17339,17443,17547,29,96,163,230,41,108,175,242,53,120,187,254,65 + }; + mavlink_xyk_frame2_ap_to_gcs_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_DISP_VOLT = packet_in.XYK_DISP_VOLT; + packet1.XYK_DISP_THROTLE = packet_in.XYK_DISP_THROTLE; + packet1.XYK_DISP_THROTLE2 = packet_in.XYK_DISP_THROTLE2; + packet1.XYK_PHOT_NUM = packet_in.XYK_PHOT_NUM; + packet1.XYK_DISP_CURRENT = packet_in.XYK_DISP_CURRENT; + packet1.XYK_DISP_GPS_STATE = packet_in.XYK_DISP_GPS_STATE; + packet1.XYK_DISP_DGPS_STATE = packet_in.XYK_DISP_DGPS_STATE; + packet1.XYK_DISP_INTER_TEMP = packet_in.XYK_DISP_INTER_TEMP; + packet1.XYK_SYS_STATE = packet_in.XYK_SYS_STATE; + packet1.XYK_ALARM_STATE = packet_in.XYK_ALARM_STATE; + packet1.XYK_ALARM_STATE2 = packet_in.XYK_ALARM_STATE2; + packet1.XYK_ELVT_OFFSET = packet_in.XYK_ELVT_OFFSET; + packet1.XYK_RUDE_OFFSET = packet_in.XYK_RUDE_OFFSET; + packet1.XYK_AILE_OFFSET = packet_in.XYK_AILE_OFFSET; + packet1.XYK_FLAG = packet_in.XYK_FLAG; + packet1.XYK_DSR_LOITER_NUM = packet_in.XYK_DSR_LOITER_NUM; + packet1.XYK_CUR_LOITER_NUM = packet_in.XYK_CUR_LOITER_NUM; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_FRAME2_AP_TO_GCS_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame2_ap_to_gcs_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_frame2_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame2_ap_to_gcs_pack(system_id, component_id, &msg , packet1.XYK_DISP_VOLT , packet1.XYK_DISP_THROTLE , packet1.XYK_DISP_THROTLE2 , packet1.XYK_DISP_CURRENT , packet1.XYK_DISP_GPS_STATE , packet1.XYK_DISP_DGPS_STATE , packet1.XYK_DISP_INTER_TEMP , packet1.XYK_SYS_STATE , packet1.XYK_ALARM_STATE , packet1.XYK_ALARM_STATE2 , packet1.XYK_ELVT_OFFSET , packet1.XYK_RUDE_OFFSET , packet1.XYK_AILE_OFFSET , packet1.XYK_FLAG , packet1.XYK_DSR_LOITER_NUM , packet1.XYK_CUR_LOITER_NUM , packet1.XYK_PHOT_NUM ); + mavlink_msg_xyk_frame2_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame2_ap_to_gcs_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_DISP_VOLT , packet1.XYK_DISP_THROTLE , packet1.XYK_DISP_THROTLE2 , packet1.XYK_DISP_CURRENT , packet1.XYK_DISP_GPS_STATE , packet1.XYK_DISP_DGPS_STATE , packet1.XYK_DISP_INTER_TEMP , packet1.XYK_SYS_STATE , packet1.XYK_ALARM_STATE , packet1.XYK_ALARM_STATE2 , packet1.XYK_ELVT_OFFSET , packet1.XYK_RUDE_OFFSET , packet1.XYK_AILE_OFFSET , packet1.XYK_FLAG , packet1.XYK_DSR_LOITER_NUM , packet1.XYK_CUR_LOITER_NUM , packet1.XYK_PHOT_NUM ); + mavlink_msg_xyk_frame2_ap_to_gcs_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_frame3_ap_to_gcs_t packet_in = { + 963497464,963497672,963497880,17859,17963,18067,18171,65,132,199,10,77 + }; + mavlink_xyk_frame3_ap_to_gcs_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_CUR_NAV_LON = packet_in.XYK_CUR_NAV_LON; + packet1.XYK_CUR_NAV_LAT = packet_in.XYK_CUR_NAV_LAT; + packet1.XYK_CUR_NAV_AGL = packet_in.XYK_CUR_NAV_AGL; + packet1.XYK_CUR_LATOFFSET = packet_in.XYK_CUR_LATOFFSET; + packet1.XYK_CUR_LONOFFSET = packet_in.XYK_CUR_LONOFFSET; + packet1.XYK_CUR_DISOFORG = packet_in.XYK_CUR_DISOFORG; + packet1.XYK_DSR_WAYPOINT = packet_in.XYK_DSR_WAYPOINT; + packet1.XYK_CUR_AIRLINE = packet_in.XYK_CUR_AIRLINE; + packet1.XYK_CUR_GPSTIM_H = packet_in.XYK_CUR_GPSTIM_H; + packet1.XYK_CUR_GPSTIM_MIN = packet_in.XYK_CUR_GPSTIM_MIN; + packet1.XYK_CUR_GPSTIM_SEC = packet_in.XYK_CUR_GPSTIM_SEC; + packet1.XYK_DSR_NOUSED = packet_in.XYK_DSR_NOUSED; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_FRAME3_AP_TO_GCS_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame3_ap_to_gcs_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_frame3_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame3_ap_to_gcs_pack(system_id, component_id, &msg , packet1.XYK_CUR_NAV_LON , packet1.XYK_CUR_NAV_LAT , packet1.XYK_CUR_NAV_AGL , packet1.XYK_CUR_LATOFFSET , packet1.XYK_CUR_LONOFFSET , packet1.XYK_CUR_DISOFORG , packet1.XYK_CUR_AIRLINE , packet1.XYK_DSR_WAYPOINT , packet1.XYK_CUR_GPSTIM_H , packet1.XYK_CUR_GPSTIM_MIN , packet1.XYK_CUR_GPSTIM_SEC , packet1.XYK_DSR_NOUSED ); + mavlink_msg_xyk_frame3_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame3_ap_to_gcs_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_CUR_NAV_LON , packet1.XYK_CUR_NAV_LAT , packet1.XYK_CUR_NAV_AGL , packet1.XYK_CUR_LATOFFSET , packet1.XYK_CUR_LONOFFSET , packet1.XYK_CUR_DISOFORG , packet1.XYK_CUR_AIRLINE , packet1.XYK_DSR_WAYPOINT , packet1.XYK_CUR_GPSTIM_H , packet1.XYK_CUR_GPSTIM_MIN , packet1.XYK_CUR_GPSTIM_SEC , packet1.XYK_DSR_NOUSED ); + mavlink_msg_xyk_frame3_ap_to_gcs_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_frame4_eo_ap_to_gcs_t packet_in = { + 963497464,963497672,963497880,17859,17963,18067,18171,18275,18379,18483,18587,18691,18795,18899,19003,113,180,247,58,125,192,3,70 + }; + mavlink_xyk_frame4_eo_ap_to_gcs_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_EO_PHOTO_FRAM = packet_in.XYK_EO_PHOTO_FRAM; + packet1.XYK_EO_TARGET_LON = packet_in.XYK_EO_TARGET_LON; + packet1.XYK_EO_TARGET_ALT = packet_in.XYK_EO_TARGET_ALT; + packet1.XYK_FOCUS = packet_in.XYK_FOCUS; + packet1.XYK_EO_PITCH = packet_in.XYK_EO_PITCH; + packet1.XYK_EO_AZMS = packet_in.XYK_EO_AZMS; + packet1.XYK_EO_ROLL = packet_in.XYK_EO_ROLL; + packet1.XYK_EO_PHOTO_ELEMT = packet_in.XYK_EO_PHOTO_ELEMT; + packet1.XYK_EO_LAT_PHOTO_ELEMT = packet_in.XYK_EO_LAT_PHOTO_ELEMT; + packet1.XYK_EO_LON_POTO_ELEMT = packet_in.XYK_EO_LON_POTO_ELEMT; + packet1.XYK_EO_SENSOR_LEN = packet_in.XYK_EO_SENSOR_LEN; + packet1.XYK_EO_SENSOR_WIDE = packet_in.XYK_EO_SENSOR_WIDE; + packet1.XYK_EO_HORZ_LOSTTAR = packet_in.XYK_EO_HORZ_LOSTTAR; + packet1.XYK_EO_SYSCLK_ERR = packet_in.XYK_EO_SYSCLK_ERR; + packet1.XYK_EO_DISTENCE_MSR = packet_in.XYK_EO_DISTENCE_MSR; + packet1.MSG4_EO_AP_Component = packet_in.MSG4_EO_AP_Component; + packet1.MSG4_EO_STATE0 = packet_in.MSG4_EO_STATE0; + packet1.MSG4_EO_STATE1 = packet_in.MSG4_EO_STATE1; + packet1.XYK_EO_VETC_LOSTTAR = packet_in.XYK_EO_VETC_LOSTTAR; + packet1.XYK_EO_PHOTO_CMPRS_RATIO = packet_in.XYK_EO_PHOTO_CMPRS_RATIO; + packet1.XYK_EO_DIO = packet_in.XYK_EO_DIO; + packet1.XYK_EO_TARGET_LAN = packet_in.XYK_EO_TARGET_LAN; + packet1.XYK_EO_RESERVED = packet_in.XYK_EO_RESERVED; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_FRAME4_EO_AP_TO_GCS_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame4_eo_ap_to_gcs_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_frame4_eo_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame4_eo_ap_to_gcs_pack(system_id, component_id, &msg , packet1.MSG4_EO_AP_Component , packet1.MSG4_EO_STATE0 , packet1.MSG4_EO_STATE1 , packet1.XYK_FOCUS , packet1.XYK_EO_PITCH , packet1.XYK_EO_AZMS , packet1.XYK_EO_ROLL , packet1.XYK_EO_PHOTO_ELEMT , packet1.XYK_EO_LAT_PHOTO_ELEMT , packet1.XYK_EO_LON_POTO_ELEMT , packet1.XYK_EO_SENSOR_LEN , packet1.XYK_EO_SENSOR_WIDE , packet1.XYK_EO_HORZ_LOSTTAR , packet1.XYK_EO_VETC_LOSTTAR , packet1.XYK_EO_PHOTO_FRAM , packet1.XYK_EO_PHOTO_CMPRS_RATIO , packet1.XYK_EO_SYSCLK_ERR , packet1.XYK_EO_DISTENCE_MSR , packet1.XYK_EO_DIO , packet1.XYK_EO_TARGET_LON , packet1.XYK_EO_TARGET_LAN , packet1.XYK_EO_TARGET_ALT , packet1.XYK_EO_RESERVED ); + mavlink_msg_xyk_frame4_eo_ap_to_gcs_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_frame4_eo_ap_to_gcs_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.MSG4_EO_AP_Component , packet1.MSG4_EO_STATE0 , packet1.MSG4_EO_STATE1 , packet1.XYK_FOCUS , packet1.XYK_EO_PITCH , packet1.XYK_EO_AZMS , packet1.XYK_EO_ROLL , packet1.XYK_EO_PHOTO_ELEMT , packet1.XYK_EO_LAT_PHOTO_ELEMT , packet1.XYK_EO_LON_POTO_ELEMT , packet1.XYK_EO_SENSOR_LEN , packet1.XYK_EO_SENSOR_WIDE , packet1.XYK_EO_HORZ_LOSTTAR , packet1.XYK_EO_VETC_LOSTTAR , packet1.XYK_EO_PHOTO_FRAM , packet1.XYK_EO_PHOTO_CMPRS_RATIO , packet1.XYK_EO_SYSCLK_ERR , packet1.XYK_EO_DISTENCE_MSR , packet1.XYK_EO_DIO , packet1.XYK_EO_TARGET_LON , packet1.XYK_EO_TARGET_LAN , packet1.XYK_EO_TARGET_ALT , packet1.XYK_EO_RESERVED ); + mavlink_msg_xyk_frame4_eo_ap_to_gcs_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_PRESET_PARAM >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_preset_param_t packet_in = { + 963497464,17,84,151,218,29,96,163,230 + }; + mavlink_xyk_preset_param_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_PRESET_FIELD_HEIGHT = packet_in.XYK_PRESET_FIELD_HEIGHT; + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.XYK_PRESET_CRUSPD = packet_in.XYK_PRESET_CRUSPD; + packet1.XYK_PRESET_STALSPD = packet_in.XYK_PRESET_STALSPD; + packet1.XYK_PRESET_DOWNRATE = packet_in.XYK_PRESET_DOWNRATE; + packet1.XYK_PRESET_UPRATE = packet_in.XYK_PRESET_UPRATE; + packet1.XYK_PRESET_RADIUS = packet_in.XYK_PRESET_RADIUS; + packet1.XYK_PRESET_TRANSPD = packet_in.XYK_PRESET_TRANSPD; + packet1.XYK_GOTOLINE = packet_in.XYK_GOTOLINE; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_PRESET_PARAM_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_preset_param_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_preset_param_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_preset_param_pack(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.XYK_PRESET_CRUSPD , packet1.XYK_PRESET_STALSPD , packet1.XYK_PRESET_DOWNRATE , packet1.XYK_PRESET_UPRATE , packet1.XYK_PRESET_RADIUS , packet1.XYK_PRESET_TRANSPD , packet1.XYK_GOTOLINE , packet1.XYK_PRESET_FIELD_HEIGHT ); + mavlink_msg_xyk_preset_param_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_preset_param_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_PLANE_ID , packet1.XYK_PRESET_CRUSPD , packet1.XYK_PRESET_STALSPD , packet1.XYK_PRESET_DOWNRATE , packet1.XYK_PRESET_UPRATE , packet1.XYK_PRESET_RADIUS , packet1.XYK_PRESET_TRANSPD , packet1.XYK_GOTOLINE , packet1.XYK_PRESET_FIELD_HEIGHT ); + mavlink_msg_xyk_preset_param_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_LIMIT_PARAM >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_limit_param_t packet_in = { + 17235,17339,17443,151,218,29,96,163,230 + }; + mavlink_xyk_limit_param_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_LIMIT_LOST_CONTACT = packet_in.XYK_LIMIT_LOST_CONTACT; + packet1.XYK_LIMIT_TRANS_HEIGHT = packet_in.XYK_LIMIT_TRANS_HEIGHT; + packet1.XYK_LIMIT_MAX_HEIGHT = packet_in.XYK_LIMIT_MAX_HEIGHT; + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.XYK_LIMIT_TURNBAC_VOLT = packet_in.XYK_LIMIT_TURNBAC_VOLT; + packet1.XYK_LIMIT_EMGLAND_VOLT = packet_in.XYK_LIMIT_EMGLAND_VOLT; + packet1.XYK_LIMIT_MIN_RPM = packet_in.XYK_LIMIT_MIN_RPM; + packet1.XYK_LIMIT_HORIZ = packet_in.XYK_LIMIT_HORIZ; + packet1.XYK_LIMIT_VERTC = packet_in.XYK_LIMIT_VERTC; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_LIMIT_PARAM_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_limit_param_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_limit_param_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_limit_param_pack(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.XYK_LIMIT_TURNBAC_VOLT , packet1.XYK_LIMIT_EMGLAND_VOLT , packet1.XYK_LIMIT_MIN_RPM , packet1.XYK_LIMIT_HORIZ , packet1.XYK_LIMIT_VERTC , packet1.XYK_LIMIT_LOST_CONTACT , packet1.XYK_LIMIT_TRANS_HEIGHT , packet1.XYK_LIMIT_MAX_HEIGHT ); + mavlink_msg_xyk_limit_param_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_limit_param_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_PLANE_ID , packet1.XYK_LIMIT_TURNBAC_VOLT , packet1.XYK_LIMIT_EMGLAND_VOLT , packet1.XYK_LIMIT_MIN_RPM , packet1.XYK_LIMIT_HORIZ , packet1.XYK_LIMIT_VERTC , packet1.XYK_LIMIT_LOST_CONTACT , packet1.XYK_LIMIT_TRANS_HEIGHT , packet1.XYK_LIMIT_MAX_HEIGHT ); + mavlink_msg_xyk_limit_param_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_PROTECTION_PARAM >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_protection_param_t packet_in = { + 5,72,139,206,17,84,151,218,29,96,163 + }; + mavlink_xyk_protection_param_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.XYK_PROTECTION_TURNBAC_VOLT = packet_in.XYK_PROTECTION_TURNBAC_VOLT; + packet1.XYK_PROTECTION_EMGLAND_VOLT = packet_in.XYK_PROTECTION_EMGLAND_VOLT; + packet1.XYK_PROTECTION_MIN_RPM = packet_in.XYK_PROTECTION_MIN_RPM; + packet1.XYK_PROTECTION_HDFAULT = packet_in.XYK_PROTECTION_HDFAULT; + packet1.XYK_PROTECTION_LGDOP = packet_in.XYK_PROTECTION_LGDOP; + packet1.XYK_PROTECTION_LOST_CONTACT = packet_in.XYK_PROTECTION_LOST_CONTACT; + packet1.XYK_PROTECTION_OVER_HORIZ = packet_in.XYK_PROTECTION_OVER_HORIZ; + packet1.XYK_PROTECTION_OVER_VERTC = packet_in.XYK_PROTECTION_OVER_VERTC; + packet1.XYK_PROTECTION_LOW = packet_in.XYK_PROTECTION_LOW; + packet1.XYK_PROTECTION_HIGH = packet_in.XYK_PROTECTION_HIGH; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_PROTECTION_PARAM_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_protection_param_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_protection_param_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_protection_param_pack(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.XYK_PROTECTION_TURNBAC_VOLT , packet1.XYK_PROTECTION_EMGLAND_VOLT , packet1.XYK_PROTECTION_MIN_RPM , packet1.XYK_PROTECTION_HDFAULT , packet1.XYK_PROTECTION_LGDOP , packet1.XYK_PROTECTION_LOST_CONTACT , packet1.XYK_PROTECTION_OVER_HORIZ , packet1.XYK_PROTECTION_OVER_VERTC , packet1.XYK_PROTECTION_LOW , packet1.XYK_PROTECTION_HIGH ); + mavlink_msg_xyk_protection_param_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_protection_param_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_PLANE_ID , packet1.XYK_PROTECTION_TURNBAC_VOLT , packet1.XYK_PROTECTION_EMGLAND_VOLT , packet1.XYK_PROTECTION_MIN_RPM , packet1.XYK_PROTECTION_HDFAULT , packet1.XYK_PROTECTION_LGDOP , packet1.XYK_PROTECTION_LOST_CONTACT , packet1.XYK_PROTECTION_OVER_HORIZ , packet1.XYK_PROTECTION_OVER_VERTC , packet1.XYK_PROTECTION_LOW , packet1.XYK_PROTECTION_HIGH ); + mavlink_msg_xyk_protection_param_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_surface_neutral_set_t packet_in = { + 17235,17339,17443,17547,29 + }; + mavlink_xyk_surface_neutral_set_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.AILERONL = packet_in.AILERONL; + packet1.AILERONR = packet_in.AILERONR; + packet1.RUDERL = packet_in.RUDERL; + packet1.RUDERR = packet_in.RUDERR; + packet1.PLANE_ID = packet_in.PLANE_ID; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_SURFACE_NEUTRAL_SET_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_surface_neutral_set_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_surface_neutral_set_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_surface_neutral_set_pack(system_id, component_id, &msg , packet1.PLANE_ID , packet1.AILERONL , packet1.AILERONR , packet1.RUDERL , packet1.RUDERR ); + mavlink_msg_xyk_surface_neutral_set_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_surface_neutral_set_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.PLANE_ID , packet1.AILERONL , packet1.AILERONR , packet1.RUDERL , packet1.RUDERR ); + mavlink_msg_xyk_surface_neutral_set_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_param_group_req_t packet_in = { + 5,72 + }; + mavlink_xyk_param_group_req_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.XYK_PARAM_GROUP_ID = packet_in.XYK_PARAM_GROUP_ID; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_PARAM_GROUP_REQ_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_param_group_req_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_param_group_req_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_param_group_req_pack(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.XYK_PARAM_GROUP_ID ); + mavlink_msg_xyk_param_group_req_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_param_group_req_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_PLANE_ID , packet1.XYK_PARAM_GROUP_ID ); + mavlink_msg_xyk_param_group_req_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_COMMAND_ACK >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_command_ack_t packet_in = { + 5,72 + }; + mavlink_xyk_command_ack_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.REQ_satus = packet_in.REQ_satus; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_COMMAND_ACK_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_command_ack_encode(system_id, component_id, &msg, &packet1); + 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(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.REQ_satus ); + 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.XYK_PLANE_ID , packet1.REQ_satus ); + mavlink_msg_xyk_command_ack_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_COMMAND_LONG >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_command_long_t packet_in = { + 963497464,963497672,17651,17755,17859,17963,18067,18171,65,132 + }; + mavlink_xyk_command_long_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.param5 = packet_in.param5; + packet1.param6 = packet_in.param6; + packet1.command = packet_in.command; + packet1.param1 = packet_in.param1; + packet1.param2 = packet_in.param2; + packet1.param3 = packet_in.param3; + packet1.param4 = packet_in.param4; + packet1.param7 = packet_in.param7; + packet1.plane_id = packet_in.plane_id; + packet1.confirmation = packet_in.confirmation; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_COMMAND_LONG_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_command_long_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_command_long_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_command_long_pack(system_id, component_id, &msg , packet1.plane_id , packet1.command , packet1.confirmation , packet1.param1 , packet1.param2 , packet1.param3 , packet1.param4 , packet1.param5 , packet1.param6 , packet1.param7 ); + mavlink_msg_xyk_command_long_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_command_long_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.plane_id , packet1.command , packet1.confirmation , packet1.param1 , packet1.param2 , packet1.param3 , packet1.param4 , packet1.param5 , packet1.param6 , packet1.param7 ); + mavlink_msg_xyk_command_long_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_command_grd_check_t packet_in = { + 5,72,139,206 + }; + mavlink_xyk_command_grd_check_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.target_system = packet_in.target_system; + packet1.command = packet_in.command; + packet1.sevo_id = packet_in.sevo_id; + packet1.cmd_value = packet_in.cmd_value; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_COMMAND_GRD_CHECK_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_command_grd_check_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_command_grd_check_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_command_grd_check_pack(system_id, component_id, &msg , packet1.target_system , packet1.command , packet1.sevo_id , packet1.cmd_value ); + mavlink_msg_xyk_command_grd_check_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_command_grd_check_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.command , packet1.sevo_id , packet1.cmd_value ); + mavlink_msg_xyk_command_grd_check_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_cmd_rc_channels_t packet_in = { + 17235,17339,17443,17547,29,96,163,230,41,108,175,242 + }; + mavlink_xyk_cmd_rc_channels_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.chan_elevtor = packet_in.chan_elevtor; + packet1.chan_rudder = packet_in.chan_rudder; + packet1.chan_ailron = packet_in.chan_ailron; + packet1.chan_throttle = packet_in.chan_throttle; + packet1.target_system = packet_in.target_system; + packet1.taret_component = packet_in.taret_component; + packet1.command_word = packet_in.command_word; + packet1.chan_onoff = packet_in.chan_onoff; + packet1.chan_keyword = packet_in.chan_keyword; + packet1.chan_reserved = packet_in.chan_reserved; + packet1.chan_reserved1 = packet_in.chan_reserved1; + packet1.chan_reserved2 = packet_in.chan_reserved2; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_CMD_RC_CHANNELS_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_cmd_rc_channels_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_cmd_rc_channels_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_cmd_rc_channels_pack(system_id, component_id, &msg , packet1.target_system , packet1.taret_component , packet1.command_word , packet1.chan_elevtor , packet1.chan_rudder , packet1.chan_ailron , packet1.chan_throttle , packet1.chan_onoff , packet1.chan_keyword , packet1.chan_reserved , packet1.chan_reserved1 , packet1.chan_reserved2 ); + mavlink_msg_xyk_cmd_rc_channels_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_cmd_rc_channels_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.taret_component , packet1.command_word , packet1.chan_elevtor , packet1.chan_rudder , packet1.chan_ailron , packet1.chan_throttle , packet1.chan_onoff , packet1.chan_keyword , packet1.chan_reserved , packet1.chan_reserved1 , packet1.chan_reserved2 ); + mavlink_msg_xyk_cmd_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_airpoint_command_t packet_in = { + 963497464,963497672,963497880,17859,17963,53,120,187,254,65,132,199,10,77 + }; + mavlink_xyk_airpoint_command_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.latitude = packet_in.latitude; + packet1.longitude = packet_in.longitude; + packet1.altitude = packet_in.altitude; + packet1.AIRPOINT_ID = packet_in.AIRPOINT_ID; + packet1.LINE_LENGTH = packet_in.LINE_LENGTH; + packet1.PLANE_ID = packet_in.PLANE_ID; + packet1.confirmation = packet_in.confirmation; + packet1.LINE_ID = packet_in.LINE_ID; + packet1.current = packet_in.current; + packet1.SWITCH_MOD = packet_in.SWITCH_MOD; + packet1.LOITER_MOD = packet_in.LOITER_MOD; + packet1.ACTION = packet_in.ACTION; + packet1.MISSION_GRAP = packet_in.MISSION_GRAP; + packet1.POINT_SPEED = packet_in.POINT_SPEED; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_AIRPOINT_COMMAND_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_airpoint_command_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_airpoint_command_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_airpoint_command_pack(system_id, component_id, &msg , packet1.PLANE_ID , packet1.confirmation , packet1.LINE_ID , packet1.AIRPOINT_ID , packet1.LINE_LENGTH , packet1.current , packet1.SWITCH_MOD , packet1.LOITER_MOD , packet1.ACTION , packet1.MISSION_GRAP , packet1.POINT_SPEED , packet1.latitude , packet1.longitude , packet1.altitude ); + mavlink_msg_xyk_airpoint_command_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_airpoint_command_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.PLANE_ID , packet1.confirmation , packet1.LINE_ID , packet1.AIRPOINT_ID , packet1.LINE_LENGTH , packet1.current , packet1.SWITCH_MOD , packet1.LOITER_MOD , packet1.ACTION , packet1.MISSION_GRAP , packet1.POINT_SPEED , packet1.latitude , packet1.longitude , packet1.altitude ); + mavlink_msg_xyk_airpoint_command_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_AIRLINE_REQ >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_airline_req_t packet_in = { + 5,72,139 + }; + mavlink_xyk_airline_req_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.AIRLINE_ID = packet_in.AIRLINE_ID; + packet1.POINT_ID = packet_in.POINT_ID; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_AIRLINE_REQ_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_airline_req_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_airline_req_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_airline_req_pack(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.AIRLINE_ID , packet1.POINT_ID ); + mavlink_msg_xyk_airline_req_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_airline_req_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_PLANE_ID , packet1.AIRLINE_ID , packet1.POINT_ID ); + mavlink_msg_xyk_airline_req_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_swv_cmd_ap_eo_transpond_t packet_in = { + 17235,139,206 + }; + mavlink_xyk_swv_cmd_ap_eo_transpond_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.command = packet_in.command; + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.taret_component = packet_in.taret_component; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_SWV_CMD_AP_EO_TRANSPOND_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_swv_cmd_ap_eo_transpond_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_swv_cmd_ap_eo_transpond_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_swv_cmd_ap_eo_transpond_pack(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.taret_component , packet1.command ); + mavlink_msg_xyk_swv_cmd_ap_eo_transpond_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_swv_cmd_ap_eo_transpond_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_PLANE_ID , packet1.taret_component , packet1.command ); + mavlink_msg_xyk_swv_cmd_ap_eo_transpond_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; iflags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND >= 256) { + return; + } +#endif + mavlink_message_t msg; + uint8_t buffer[MAVLINK_MAX_PACKET_LEN]; + uint16_t i; + mavlink_xyk_sqn_cmd_ap_eo_transpond_t packet_in = { + 17235,17339,17,84,151 + }; + mavlink_xyk_sqn_cmd_ap_eo_transpond_t packet1, packet2; + memset(&packet1, 0, sizeof(packet1)); + packet1.BYTE45 = packet_in.BYTE45; + packet1.BYTE67 = packet_in.BYTE67; + packet1.XYK_PLANE_ID = packet_in.XYK_PLANE_ID; + packet1.taret_component = packet_in.taret_component; + packet1.command = packet_in.command; + + +#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1 + if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) { + // cope with extensions + memset(MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_XYK_SQN_CMD_AP_EO_TRANSPOND_MIN_LEN); + } +#endif + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_encode(system_id, component_id, &msg, &packet1); + mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_pack(system_id, component_id, &msg , packet1.XYK_PLANE_ID , packet1.taret_component , packet1.command , packet1.BYTE45 , packet1.BYTE67 ); + mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_decode(&msg, &packet2); + MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0); + + memset(&packet2, 0, sizeof(packet2)); + mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.XYK_PLANE_ID , packet1.taret_component , packet1.command , packet1.BYTE45 , packet1.BYTE67 ); + mavlink_msg_xyk_sqn_cmd_ap_eo_transpond_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 + + 3 + + + preset the mode that goes to the airline <--> + + line + line1(point 1),with the seted climbing rate + + + loiter + line1(point 1),with the seted climbing rate + + + just loiter ,at the current height + + + + switch mode of airpoint <--> + + Normal mode,default + + + LOITER + + + Automatic LANDING + + + HOVERING + + + gohome from this point + + + DELIVER,NOT Used FOR NOW + + + + UP AND DOWN mode of airpoint <--> + + Normal mode,default,climbing with a preset rate + + + climbing with LOITER First,then go + + + go first then climbing with loiter + + + + actions at the piont <--> + + tobe defineded + + + tobe defineded + + + tobe defineded + + + tobe defineded + + + tobe defineded + + + tobe defineded + + + + loiter mode of airpoint <--> + + LOITER ALWAYS default + + + loiter by time + + + loiter by turns + + + + + + + + + + + + + + + + + + mission grap mode between two airpoints <--> + + DELTA TIME + + + DELTA DISTANCE + + + + + Takeoff from ground ,auto / manual + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + Land using VTOL mode + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + Terminate flight immediately + state + Empty + Empty + Empty + Empty + Empty + Empty + + + return home . + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + circle at current location or specified location + rotation + style + TT + radius + Latitude + Longitude + Altitude + + + + current altitude+30m.keeping until next piont + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + current altitude-30m.keeping until next piont + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + Change speed and/or throttle set points. + Speed + Empty + Empty + Empty + Empty + Empty + Empty + + + Change altitude by adding delta h.keeping until next piont + delta_h in meters + Empty + Empty + Empty + Empty + Empty + Empty + + + Change current throtle keeping until next piont ,no use for now + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + Change current throtle keeping until next piont ,no use for now + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + go to specified airpoint. + point_id + line_id + Empty + Empty + Empty + Empty + Empty + + + + Set the specified point as backing home point. + Empty + Empty + Empty + via_point + Latitude + Longitude + altitude + + + Set the specified point as landing point. + Empty + Empty + Empty + Empty + Latitude + Longitude + altitude + + + + change the mode as gyro mode,dangerous,tobe discussted + Empty + Empty + Empty + Empty + Empty + Empty + Empty + + + Vehicle following, i.e. this waypoint represents the position of a moving vehicle + Following logic to use (e.g. loitering or sinusoidal following) - depends on specific autopilot implementation + Ground speed of vehicle to be followed + Radius around waypoint, in meters. If positive loiter clockwise, else counter-clockwise + Desired yaw angle. + Latitude + Longitude + Altitude + + + + + G Matt:is this ok if I want the 1th enum element points to the struct XYK_PRESET_PARAM??? + + + grouping parameers of XYK_LIMIT_PARAM,called by _REQ + + + grouping parameers of XYK_PROTECTION_PARAM,called by _REQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EO OK + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AP download frame 1th. + desire pitch angel. 0.1deg [-900,900] + desire roll angel. 0.1deg [-900,900] + desire yaw angel.0.1deg [-1800,1800] + desire ASL. 0.01m [-50000,1000000] + crrent pitch. 0.1deg [-900,900] + current roll. 0.1deg [-900,900] + current heading.[-1800,1800] + Above ground lever.1m [0,10000] + identfied air speed. 1kph [0,256] + current ground speed. 1kph [0,256] + current air speed. 1kph [0,256] + current vertical speed. 0.1m/s[-100,100] + DESIR VS 0.1m/s [-100,100] + + + AP download frame 2nd. + voltage.0.1V [0,1000] + fixed wing throtle 0.1% [0,1000]. + gyro throtle.1% [0,1000] + current,1A [0,100] + GPS state. + DGPS state. + temprature. + system state and control mode. + alarm state2. + alarm state2. + elevator offset,0.5deg [-120,120] + rudder offset,0.5deg [-120,120] + aileron offset,0.5deg [-120,120] + some state flag. + desire turns number.[0,255] + current turns number. [0,255] + photo number.[0,65535] + + + AP download frame 3th. + current longitude,0.0000001,[-180^,180^] + current latgitude,0.0000001,[-180^,180^] + current H . 0.01m,[-50000,100000] + lat offset,1m,[-32767,32767] + lon off or distence to go,1m,[0,65535] + distence to origin,1m,[0,65535] + current airline id,[0,11] + next waypoint id.[0,800] + GPS TIME h,[0,23] + GPS TIME min,[0,59] + GPS TIME s,[0,59] + tobe extened. + + + AP download frame 4th. + Component. + STATE0. + STATE1. + FOCUS. + + + + + + + + + . + + + + + . + + + + + + + + preset parameters + plane id. + preset cruise speed 1kph + stall speed. 1kph + descent rate 0.1m/s + climb rate. 0.1m/s + preset radius. 2m + speed transformed from gyro to fixed wing 1kph + the way go to airline see XYK_GOTOLINE + preset local filed height 0.01m. + + + preset limit parameters + plane id. + turn back voltage.1V [0,256] + emergence landing voltage,1V + fixed wing mininum rpm.[0,1000] + horizontal limit along the line 1m,[-1000,1000] + vertical limit along the line.1m,[-1000,1000] + time that lost connect with gcs.1sec,[0,65535] + height that transform to fixed wing 1m[0,65535] + height limit,[0,65535] + + + preset Protection parameters all [0,1] + plane id. + turn back voltage. + emergence landing voltage + fixed wing mininum rpm. + FCC hardware fault + GPS or BD position accuracy is low. + time that lost connect with gcs. + while cross over the horizontal limit + while cross over the vertical limit + While keeping a low position under the desire height for a long period + --high --- + + + Neutrual position set + PLANE ID + AILERON left [1000,2000] + aileron right[1000,2000] + rudder left[1000,2000] + rudder right[1000,2000] + + command define <--> + + request the parameters of the XYK_PRESET_PARAM + plane id. + PARAM GROUP id. + + + request for + PLANE ID . + satus + + + Send a command with up to seven parameters to the MAV + plane/fcs which should execute the command + Command ID (of command to send). + 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) + Parameter 1 (for the specific command). + Parameter 2 (for the specific command). + Parameter 3 (for the specific command). + Parameter 4 (for the specific command). + Parameter 5 (for the specific command). + Parameter 6 (for the specific command). + Parameter 7 (for the specific command). + + + Send a command with up to seven parameters to the MAV + System which should execute the command + Command ID (of command to send). + percentage of out put (of ap) + percentage of out put (of ap) + + + The RAW values of the RC + PLANE ID + Component ID + command_word + RC chan_elevtor,0.1%,-1000~1000 + RC chan_rudder,0.1%,-1000~1000 + RC chan_ailron,0.1%,-1000~1000 + RC chan_throttle,0.1%,0~2000 + RC control word of on-off state ,bit0~bit3 corresponding to switch4~switch1, + RC control word of keyword state ,bit0~bit3 corresponding to key4~key1 + RC channel reserved + RC channel reserved + RC channel reserved + + + Send a command with up to seven parameters to the MAV + System which should execute the command + 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command) + SEE XYK_AIRLINE_TYPE. + Sequence1-800 + LENGTH,points contained in the aireline + false:0, true:1. + defallt Autocontinue to next waypoint. + defallt arrive at next waypoint with an auto climb rate . + not in use for now + not in use for now. + SPEED IAS,m/s,[stall_speed,256] + latitude,0.0000001,[-180^,180^] + longitude,0.0000001,[-180^,180^] + altitude,0.01m,[-50000,100000] + + + request for + PLANE ID . + satus + satus + + + transpond EO switch value control cmd that come from GCS + plane id. + eo ID + EO Command ID tobe transponded. + + + transpond EO SEQUN control cmd that come from GCS + plane id. + eo ID + EO Command ID tobe transponded. + + + + + \ No newline at end of file diff --git a/message_definitions/ardupilotmega.xml b/message_definitions/ardupilotmega.xml index e93c01d..ec848de 100644 --- a/message_definitions/ardupilotmega.xml +++ b/message_definitions/ardupilotmega.xml @@ -4,6 +4,7 @@ uAvionix.xml icarous.xml + XYK.xml 2 diff --git a/uAvionix/version.h b/uAvionix/version.h index a72bb16..22561a6 100644 --- a/uAvionix/version.h +++ b/uAvionix/version.h @@ -7,7 +7,7 @@ #ifndef MAVLINK_VERSION_H #define MAVLINK_VERSION_H -#define MAVLINK_BUILD_DATE "Tue Dec 11 2018" +#define MAVLINK_BUILD_DATE "Fri Mar 08 2019" #define MAVLINK_WIRE_PROTOCOL_VERSION "2.0" #define MAVLINK_MAX_DIALECT_PAYLOAD_SIZE 255