00001
00002
00003 #define MAVLINK_MSG_ID_COMMAND_LONG 76
00004
00005 typedef struct __mavlink_command_long_t
00006 {
00007 float param1;
00008 float param2;
00009 float param3;
00010 float param4;
00011 float param5;
00012 float param6;
00013 float param7;
00014 uint16_t command;
00015 uint8_t target_system;
00016 uint8_t target_component;
00017 uint8_t confirmation;
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
00262
00263
00264
00265
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
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 }