mavlink_msg_command_long.h
Go to the documentation of this file.
00001 // MESSAGE COMMAND_LONG PACKING
00002 
00003 #define MAVLINK_MSG_ID_COMMAND_LONG 76
00004 
00005 typedef struct __mavlink_command_long_t
00006 {
00007  float param1; /*< Parameter 1, as defined by MAV_CMD enum.*/
00008  float param2; /*< Parameter 2, as defined by MAV_CMD enum.*/
00009  float param3; /*< Parameter 3, as defined by MAV_CMD enum.*/
00010  float param4; /*< Parameter 4, as defined by MAV_CMD enum.*/
00011  float param5; /*< Parameter 5, as defined by MAV_CMD enum.*/
00012  float param6; /*< Parameter 6, as defined by MAV_CMD enum.*/
00013  float param7; /*< Parameter 7, as defined by MAV_CMD enum.*/
00014  uint16_t command; /*< Command ID, as defined by MAV_CMD enum.*/
00015  uint8_t target_system; /*< System which should execute the command*/
00016  uint8_t target_component; /*< Component which should execute the command, 0 for all components*/
00017  uint8_t confirmation; /*< 0: First transmission of this command. 1-255: Confirmation transmissions (e.g. for kill command)*/
00018 } mavlink_command_long_t;
00019 
00020 #define MAVLINK_MSG_ID_COMMAND_LONG_LEN 33
00021 #define MAVLINK_MSG_ID_76_LEN 33
00022 
00023 #define MAVLINK_MSG_ID_COMMAND_LONG_CRC 152
00024 #define MAVLINK_MSG_ID_76_CRC 152
00025 
00026 
00027 
00028 #define MAVLINK_MESSAGE_INFO_COMMAND_LONG { \
00029         "COMMAND_LONG", \
00030         11, \
00031         {  { "param1", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_command_long_t, param1) }, \
00032          { "param2", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_command_long_t, param2) }, \
00033          { "param3", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_command_long_t, param3) }, \
00034          { "param4", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_command_long_t, param4) }, \
00035          { "param5", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_command_long_t, param5) }, \
00036          { "param6", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_command_long_t, param6) }, \
00037          { "param7", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_command_long_t, param7) }, \
00038          { "command", NULL, MAVLINK_TYPE_UINT16_T, 0, 28, offsetof(mavlink_command_long_t, command) }, \
00039          { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 30, offsetof(mavlink_command_long_t, target_system) }, \
00040          { "target_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 31, offsetof(mavlink_command_long_t, target_component) }, \
00041          { "confirmation", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_command_long_t, confirmation) }, \
00042          } \
00043 }
00044 
00045 
00065 static inline uint16_t mavlink_msg_command_long_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
00066                                                        uint8_t target_system, uint8_t target_component, uint16_t command, uint8_t confirmation, float param1, float param2, float param3, float param4, float param5, float param6, float param7)
00067 {
00068 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00069         char buf[MAVLINK_MSG_ID_COMMAND_LONG_LEN];
00070         _mav_put_float(buf, 0, param1);
00071         _mav_put_float(buf, 4, param2);
00072         _mav_put_float(buf, 8, param3);
00073         _mav_put_float(buf, 12, param4);
00074         _mav_put_float(buf, 16, param5);
00075         _mav_put_float(buf, 20, param6);
00076         _mav_put_float(buf, 24, param7);
00077         _mav_put_uint16_t(buf, 28, command);
00078         _mav_put_uint8_t(buf, 30, target_system);
00079         _mav_put_uint8_t(buf, 31, target_component);
00080         _mav_put_uint8_t(buf, 32, confirmation);
00081 
00082         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00083 #else
00084         mavlink_command_long_t packet;
00085         packet.param1 = param1;
00086         packet.param2 = param2;
00087         packet.param3 = param3;
00088         packet.param4 = param4;
00089         packet.param5 = param5;
00090         packet.param6 = param6;
00091         packet.param7 = param7;
00092         packet.command = command;
00093         packet.target_system = target_system;
00094         packet.target_component = target_component;
00095         packet.confirmation = confirmation;
00096 
00097         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00098 #endif
00099 
00100         msg->msgid = MAVLINK_MSG_ID_COMMAND_LONG;
00101 #if MAVLINK_CRC_EXTRA
00102     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_COMMAND_LONG_LEN, MAVLINK_MSG_ID_COMMAND_LONG_CRC);
00103 #else
00104     return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00105 #endif
00106 }
00107 
00127 static inline uint16_t mavlink_msg_command_long_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
00128                                                            mavlink_message_t* msg,
00129                                                            uint8_t target_system,uint8_t target_component,uint16_t command,uint8_t confirmation,float param1,float param2,float param3,float param4,float param5,float param6,float param7)
00130 {
00131 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00132         char buf[MAVLINK_MSG_ID_COMMAND_LONG_LEN];
00133         _mav_put_float(buf, 0, param1);
00134         _mav_put_float(buf, 4, param2);
00135         _mav_put_float(buf, 8, param3);
00136         _mav_put_float(buf, 12, param4);
00137         _mav_put_float(buf, 16, param5);
00138         _mav_put_float(buf, 20, param6);
00139         _mav_put_float(buf, 24, param7);
00140         _mav_put_uint16_t(buf, 28, command);
00141         _mav_put_uint8_t(buf, 30, target_system);
00142         _mav_put_uint8_t(buf, 31, target_component);
00143         _mav_put_uint8_t(buf, 32, confirmation);
00144 
00145         memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00146 #else
00147         mavlink_command_long_t packet;
00148         packet.param1 = param1;
00149         packet.param2 = param2;
00150         packet.param3 = param3;
00151         packet.param4 = param4;
00152         packet.param5 = param5;
00153         packet.param6 = param6;
00154         packet.param7 = param7;
00155         packet.command = command;
00156         packet.target_system = target_system;
00157         packet.target_component = target_component;
00158         packet.confirmation = confirmation;
00159 
00160         memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00161 #endif
00162 
00163         msg->msgid = MAVLINK_MSG_ID_COMMAND_LONG;
00164 #if MAVLINK_CRC_EXTRA
00165     return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_COMMAND_LONG_LEN, MAVLINK_MSG_ID_COMMAND_LONG_CRC);
00166 #else
00167     return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00168 #endif
00169 }
00170 
00179 static inline uint16_t mavlink_msg_command_long_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_command_long_t* command_long)
00180 {
00181         return mavlink_msg_command_long_pack(system_id, component_id, msg, command_long->target_system, command_long->target_component, command_long->command, command_long->confirmation, command_long->param1, command_long->param2, command_long->param3, command_long->param4, command_long->param5, command_long->param6, command_long->param7);
00182 }
00183 
00193 static inline uint16_t mavlink_msg_command_long_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_command_long_t* command_long)
00194 {
00195         return mavlink_msg_command_long_pack_chan(system_id, component_id, chan, msg, command_long->target_system, command_long->target_component, command_long->command, command_long->confirmation, command_long->param1, command_long->param2, command_long->param3, command_long->param4, command_long->param5, command_long->param6, command_long->param7);
00196 }
00197 
00214 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
00215 
00216 static inline void mavlink_msg_command_long_send(mavlink_channel_t chan, uint8_t target_system, uint8_t target_component, uint16_t command, uint8_t confirmation, float param1, float param2, float param3, float param4, float param5, float param6, float param7)
00217 {
00218 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00219         char buf[MAVLINK_MSG_ID_COMMAND_LONG_LEN];
00220         _mav_put_float(buf, 0, param1);
00221         _mav_put_float(buf, 4, param2);
00222         _mav_put_float(buf, 8, param3);
00223         _mav_put_float(buf, 12, param4);
00224         _mav_put_float(buf, 16, param5);
00225         _mav_put_float(buf, 20, param6);
00226         _mav_put_float(buf, 24, param7);
00227         _mav_put_uint16_t(buf, 28, command);
00228         _mav_put_uint8_t(buf, 30, target_system);
00229         _mav_put_uint8_t(buf, 31, target_component);
00230         _mav_put_uint8_t(buf, 32, confirmation);
00231 
00232 #if MAVLINK_CRC_EXTRA
00233     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, buf, MAVLINK_MSG_ID_COMMAND_LONG_LEN, MAVLINK_MSG_ID_COMMAND_LONG_CRC);
00234 #else
00235     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, buf, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00236 #endif
00237 #else
00238         mavlink_command_long_t packet;
00239         packet.param1 = param1;
00240         packet.param2 = param2;
00241         packet.param3 = param3;
00242         packet.param4 = param4;
00243         packet.param5 = param5;
00244         packet.param6 = param6;
00245         packet.param7 = param7;
00246         packet.command = command;
00247         packet.target_system = target_system;
00248         packet.target_component = target_component;
00249         packet.confirmation = confirmation;
00250 
00251 #if MAVLINK_CRC_EXTRA
00252     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, (const char *)&packet, MAVLINK_MSG_ID_COMMAND_LONG_LEN, MAVLINK_MSG_ID_COMMAND_LONG_CRC);
00253 #else
00254     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, (const char *)&packet, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00255 #endif
00256 #endif
00257 }
00258 
00259 #if MAVLINK_MSG_ID_COMMAND_LONG_LEN <= MAVLINK_MAX_PAYLOAD_LEN
00260 /*
00261   This varient of _send() can be used to save stack space by re-using
00262   memory from the receive buffer.  The caller provides a
00263   mavlink_message_t which is the size of a full mavlink message. This
00264   is usually the receive buffer for the channel, and allows a reply to an
00265   incoming message with minimum stack space usage.
00266  */
00267 static inline void mavlink_msg_command_long_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint8_t target_system, uint8_t target_component, uint16_t command, uint8_t confirmation, float param1, float param2, float param3, float param4, float param5, float param6, float param7)
00268 {
00269 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
00270         char *buf = (char *)msgbuf;
00271         _mav_put_float(buf, 0, param1);
00272         _mav_put_float(buf, 4, param2);
00273         _mav_put_float(buf, 8, param3);
00274         _mav_put_float(buf, 12, param4);
00275         _mav_put_float(buf, 16, param5);
00276         _mav_put_float(buf, 20, param6);
00277         _mav_put_float(buf, 24, param7);
00278         _mav_put_uint16_t(buf, 28, command);
00279         _mav_put_uint8_t(buf, 30, target_system);
00280         _mav_put_uint8_t(buf, 31, target_component);
00281         _mav_put_uint8_t(buf, 32, confirmation);
00282 
00283 #if MAVLINK_CRC_EXTRA
00284     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, buf, MAVLINK_MSG_ID_COMMAND_LONG_LEN, MAVLINK_MSG_ID_COMMAND_LONG_CRC);
00285 #else
00286     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, buf, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00287 #endif
00288 #else
00289         mavlink_command_long_t *packet = (mavlink_command_long_t *)msgbuf;
00290         packet->param1 = param1;
00291         packet->param2 = param2;
00292         packet->param3 = param3;
00293         packet->param4 = param4;
00294         packet->param5 = param5;
00295         packet->param6 = param6;
00296         packet->param7 = param7;
00297         packet->command = command;
00298         packet->target_system = target_system;
00299         packet->target_component = target_component;
00300         packet->confirmation = confirmation;
00301 
00302 #if MAVLINK_CRC_EXTRA
00303     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, (const char *)packet, MAVLINK_MSG_ID_COMMAND_LONG_LEN, MAVLINK_MSG_ID_COMMAND_LONG_CRC);
00304 #else
00305     _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_COMMAND_LONG, (const char *)packet, MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00306 #endif
00307 #endif
00308 }
00309 #endif
00310 
00311 #endif
00312 
00313 // MESSAGE COMMAND_LONG UNPACKING
00314 
00315 
00321 static inline uint8_t mavlink_msg_command_long_get_target_system(const mavlink_message_t* msg)
00322 {
00323         return _MAV_RETURN_uint8_t(msg,  30);
00324 }
00325 
00331 static inline uint8_t mavlink_msg_command_long_get_target_component(const mavlink_message_t* msg)
00332 {
00333         return _MAV_RETURN_uint8_t(msg,  31);
00334 }
00335 
00341 static inline uint16_t mavlink_msg_command_long_get_command(const mavlink_message_t* msg)
00342 {
00343         return _MAV_RETURN_uint16_t(msg,  28);
00344 }
00345 
00351 static inline uint8_t mavlink_msg_command_long_get_confirmation(const mavlink_message_t* msg)
00352 {
00353         return _MAV_RETURN_uint8_t(msg,  32);
00354 }
00355 
00361 static inline float mavlink_msg_command_long_get_param1(const mavlink_message_t* msg)
00362 {
00363         return _MAV_RETURN_float(msg,  0);
00364 }
00365 
00371 static inline float mavlink_msg_command_long_get_param2(const mavlink_message_t* msg)
00372 {
00373         return _MAV_RETURN_float(msg,  4);
00374 }
00375 
00381 static inline float mavlink_msg_command_long_get_param3(const mavlink_message_t* msg)
00382 {
00383         return _MAV_RETURN_float(msg,  8);
00384 }
00385 
00391 static inline float mavlink_msg_command_long_get_param4(const mavlink_message_t* msg)
00392 {
00393         return _MAV_RETURN_float(msg,  12);
00394 }
00395 
00401 static inline float mavlink_msg_command_long_get_param5(const mavlink_message_t* msg)
00402 {
00403         return _MAV_RETURN_float(msg,  16);
00404 }
00405 
00411 static inline float mavlink_msg_command_long_get_param6(const mavlink_message_t* msg)
00412 {
00413         return _MAV_RETURN_float(msg,  20);
00414 }
00415 
00421 static inline float mavlink_msg_command_long_get_param7(const mavlink_message_t* msg)
00422 {
00423         return _MAV_RETURN_float(msg,  24);
00424 }
00425 
00432 static inline void mavlink_msg_command_long_decode(const mavlink_message_t* msg, mavlink_command_long_t* command_long)
00433 {
00434 #if MAVLINK_NEED_BYTE_SWAP
00435         command_long->param1 = mavlink_msg_command_long_get_param1(msg);
00436         command_long->param2 = mavlink_msg_command_long_get_param2(msg);
00437         command_long->param3 = mavlink_msg_command_long_get_param3(msg);
00438         command_long->param4 = mavlink_msg_command_long_get_param4(msg);
00439         command_long->param5 = mavlink_msg_command_long_get_param5(msg);
00440         command_long->param6 = mavlink_msg_command_long_get_param6(msg);
00441         command_long->param7 = mavlink_msg_command_long_get_param7(msg);
00442         command_long->command = mavlink_msg_command_long_get_command(msg);
00443         command_long->target_system = mavlink_msg_command_long_get_target_system(msg);
00444         command_long->target_component = mavlink_msg_command_long_get_target_component(msg);
00445         command_long->confirmation = mavlink_msg_command_long_get_confirmation(msg);
00446 #else
00447         memcpy(command_long, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_COMMAND_LONG_LEN);
00448 #endif
00449 }


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