mavlink_msg_encapsulated_data.h
Go to the documentation of this file.
00001 // MESSAGE ENCAPSULATED_DATA PACKING
00002 
00003 #define MAVLINK_MSG_ID_ENCAPSULATED_DATA 131
00004 
00005 typedef struct __mavlink_encapsulated_data_t
00006 {
00007  uint16_t seqnr; /*< sequence number (starting with 0 on every transmission)*/
00008  uint8_t data[253]; /*< image data bytes*/
00009 } mavlink_encapsulated_data_t;
00010 
00011 #define MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN 255
00012 #define MAVLINK_MSG_ID_131_LEN 255
00013 
00014 #define MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC 223
00015 #define MAVLINK_MSG_ID_131_CRC 223
00016 
00017 #define MAVLINK_MSG_ENCAPSULATED_DATA_FIELD_DATA_LEN 253
00018 
00019 #define MAVLINK_MESSAGE_INFO_ENCAPSULATED_DATA { \
00020         "ENCAPSULATED_DATA", \
00021         2, \
00022         {  { "seqnr", NULL, MAVLINK_TYPE_UINT16_T, 0, 0, offsetof(mavlink_encapsulated_data_t, seqnr) }, \
00023          { "data", NULL, MAVLINK_TYPE_UINT8_T, 253, 2, offsetof(mavlink_encapsulated_data_t, data) }, \
00024          } \
00025 }
00026 
00027 
00038 static inline uint16_t mavlink_msg_encapsulated_data_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
00039                                                        uint16_t seqnr, const uint8_t *data)
00040 {
00041 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00042         char buf[MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN];
00043         _mav_put_uint16_t(buf, 0, seqnr);
00044         _mav_put_uint8_t_array(buf, 2, data, 253);
00045         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00046 #else
00047         mavlink_encapsulated_data_t packet;
00048         packet.seqnr = seqnr;
00049         mav_array_memcpy(packet.data, data, sizeof(uint8_t)*253);
00050         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00051 #endif
00052 
00053         msg->msgid = MAVLINK_MSG_ID_ENCAPSULATED_DATA;
00054 #if MAVLINK_CRC_EXTRA
00055     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
00056 #else
00057     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00058 #endif
00059 }
00060 
00071 static inline uint16_t mavlink_msg_encapsulated_data_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
00072                                                            mavlink_message_t* msg,
00073                                                            uint16_t seqnr,const uint8_t *data)
00074 {
00075 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00076         char buf[MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN];
00077         _mav_put_uint16_t(buf, 0, seqnr);
00078         _mav_put_uint8_t_array(buf, 2, data, 253);
00079         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00080 #else
00081         mavlink_encapsulated_data_t packet;
00082         packet.seqnr = seqnr;
00083         mav_array_memcpy(packet.data, data, sizeof(uint8_t)*253);
00084         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00085 #endif
00086 
00087         msg->msgid = MAVLINK_MSG_ID_ENCAPSULATED_DATA;
00088 #if MAVLINK_CRC_EXTRA
00089     return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
00090 #else
00091     return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00092 #endif
00093 }
00094 
00103 static inline uint16_t mavlink_msg_encapsulated_data_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_encapsulated_data_t* encapsulated_data)
00104 {
00105         return mavlink_msg_encapsulated_data_pack(system_id, component_id, msg, encapsulated_data->seqnr, encapsulated_data->data);
00106 }
00107 
00117 static inline uint16_t mavlink_msg_encapsulated_data_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_encapsulated_data_t* encapsulated_data)
00118 {
00119         return mavlink_msg_encapsulated_data_pack_chan(system_id, component_id, chan, msg, encapsulated_data->seqnr, encapsulated_data->data);
00120 }
00121 
00129 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
00130 
00131 static inline void mavlink_msg_encapsulated_data_send(mavlink_channel_t chan, uint16_t seqnr, const uint8_t *data)
00132 {
00133 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00134         char buf[MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN];
00135         _mav_put_uint16_t(buf, 0, seqnr);
00136         _mav_put_uint8_t_array(buf, 2, data, 253);
00137 #if MAVLINK_CRC_EXTRA
00138     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, buf, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
00139 #else
00140     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, buf, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00141 #endif
00142 #else
00143         mavlink_encapsulated_data_t packet;
00144         packet.seqnr = seqnr;
00145         mav_array_memcpy(packet.data, data, sizeof(uint8_t)*253);
00146 #if MAVLINK_CRC_EXTRA
00147     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, (const char *)&packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
00148 #else
00149     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, (const char *)&packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00150 #endif
00151 #endif
00152 }
00153 
00154 #if MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN <= MAVLINK_MAX_PAYLOAD_LEN
00155 /*
00156   This varient of _send() can be used to save stack space by re-using
00157   memory from the receive buffer.  The caller provides a
00158   mavlink_message_t which is the size of a full mavlink message. This
00159   is usually the receive buffer for the channel, and allows a reply to an
00160   incoming message with minimum stack space usage.
00161  */
00162 static inline void mavlink_msg_encapsulated_data_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint16_t seqnr, const uint8_t *data)
00163 {
00164 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00165         char *buf = (char *)msgbuf;
00166         _mav_put_uint16_t(buf, 0, seqnr);
00167         _mav_put_uint8_t_array(buf, 2, data, 253);
00168 #if MAVLINK_CRC_EXTRA
00169     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, buf, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
00170 #else
00171     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, buf, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00172 #endif
00173 #else
00174         mavlink_encapsulated_data_t *packet = (mavlink_encapsulated_data_t *)msgbuf;
00175         packet->seqnr = seqnr;
00176         mav_array_memcpy(packet->data, data, sizeof(uint8_t)*253);
00177 #if MAVLINK_CRC_EXTRA
00178     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, (const char *)packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN, MAVLINK_MSG_ID_ENCAPSULATED_DATA_CRC);
00179 #else
00180     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ENCAPSULATED_DATA, (const char *)packet, MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00181 #endif
00182 #endif
00183 }
00184 #endif
00185 
00186 #endif
00187 
00188 // MESSAGE ENCAPSULATED_DATA UNPACKING
00189 
00190 
00196 static inline uint16_t mavlink_msg_encapsulated_data_get_seqnr(const mavlink_message_t* msg)
00197 {
00198         return _MAV_RETURN_uint16_t(msg,  0);
00199 }
00200 
00206 static inline uint16_t mavlink_msg_encapsulated_data_get_data(const mavlink_message_t* msg, uint8_t *data)
00207 {
00208         return _MAV_RETURN_uint8_t_array(msg, data, 253,  2);
00209 }
00210 
00217 static inline void mavlink_msg_encapsulated_data_decode(const mavlink_message_t* msg, mavlink_encapsulated_data_t* encapsulated_data)
00218 {
00219 #if MAVLINK_NEED_BYTE_SWAP
00220         encapsulated_data->seqnr = mavlink_msg_encapsulated_data_get_seqnr(msg);
00221         mavlink_msg_encapsulated_data_get_data(msg, encapsulated_data->data);
00222 #else
00223         memcpy(encapsulated_data, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_ENCAPSULATED_DATA_LEN);
00224 #endif
00225 }


dji_sdk_dji2mav
Author(s):
autogenerated on Thu Jun 6 2019 17:55:35