4#define MAVLINK_MSG_ID_LANDING_TARGET 149
7typedef struct __mavlink_landing_target_t {
21 uint8_t position_valid;
22}) mavlink_landing_target_t;
24#define MAVLINK_MSG_ID_LANDING_TARGET_LEN 60
25#define MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN 30
26#define MAVLINK_MSG_ID_149_LEN 60
27#define MAVLINK_MSG_ID_149_MIN_LEN 30
29#define MAVLINK_MSG_ID_LANDING_TARGET_CRC 200
30#define MAVLINK_MSG_ID_149_CRC 200
32#define MAVLINK_MSG_LANDING_TARGET_FIELD_Q_LEN 4
34#if MAVLINK_COMMAND_24BIT
35#define MAVLINK_MESSAGE_INFO_LANDING_TARGET { \
39 { { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_landing_target_t, time_usec) }, \
40 { "target_num", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_landing_target_t, target_num) }, \
41 { "frame", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_landing_target_t, frame) }, \
42 { "angle_x", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_landing_target_t, angle_x) }, \
43 { "angle_y", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_landing_target_t, angle_y) }, \
44 { "distance", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_landing_target_t, distance) }, \
45 { "size_x", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_landing_target_t, size_x) }, \
46 { "size_y", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_landing_target_t, size_y) }, \
47 { "x", NULL, MAVLINK_TYPE_FLOAT, 0, 30, offsetof(mavlink_landing_target_t, x) }, \
48 { "y", NULL, MAVLINK_TYPE_FLOAT, 0, 34, offsetof(mavlink_landing_target_t, y) }, \
49 { "z", NULL, MAVLINK_TYPE_FLOAT, 0, 38, offsetof(mavlink_landing_target_t, z) }, \
50 { "q", NULL, MAVLINK_TYPE_FLOAT, 4, 42, offsetof(mavlink_landing_target_t, q) }, \
51 { "type", NULL, MAVLINK_TYPE_UINT8_T, 0, 58, offsetof(mavlink_landing_target_t, type) }, \
52 { "position_valid", NULL, MAVLINK_TYPE_UINT8_T, 0, 59, offsetof(mavlink_landing_target_t, position_valid) }, \
56#define MAVLINK_MESSAGE_INFO_LANDING_TARGET { \
59 { { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_landing_target_t, time_usec) }, \
60 { "target_num", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_landing_target_t, target_num) }, \
61 { "frame", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_landing_target_t, frame) }, \
62 { "angle_x", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_landing_target_t, angle_x) }, \
63 { "angle_y", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_landing_target_t, angle_y) }, \
64 { "distance", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_landing_target_t, distance) }, \
65 { "size_x", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_landing_target_t, size_x) }, \
66 { "size_y", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_landing_target_t, size_y) }, \
67 { "x", NULL, MAVLINK_TYPE_FLOAT, 0, 30, offsetof(mavlink_landing_target_t, x) }, \
68 { "y", NULL, MAVLINK_TYPE_FLOAT, 0, 34, offsetof(mavlink_landing_target_t, y) }, \
69 { "z", NULL, MAVLINK_TYPE_FLOAT, 0, 38, offsetof(mavlink_landing_target_t, z) }, \
70 { "q", NULL, MAVLINK_TYPE_FLOAT, 4, 42, offsetof(mavlink_landing_target_t, q) }, \
71 { "type", NULL, MAVLINK_TYPE_UINT8_T, 0, 58, offsetof(mavlink_landing_target_t, type) }, \
72 { "position_valid", NULL, MAVLINK_TYPE_UINT8_T, 0, 59, offsetof(mavlink_landing_target_t, position_valid) }, \
99static inline uint16_t mavlink_msg_landing_target_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
100 uint64_t time_usec, uint8_t target_num, uint8_t frame,
float angle_x,
float angle_y,
float distance,
float size_x,
float size_y,
float x,
float y,
float z,
const float *q, uint8_t type, uint8_t position_valid)
102#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
103 char buf[MAVLINK_MSG_ID_LANDING_TARGET_LEN];
104 _mav_put_uint64_t(buf, 0, time_usec);
105 _mav_put_float(buf, 8, angle_x);
106 _mav_put_float(buf, 12, angle_y);
107 _mav_put_float(buf, 16, distance);
108 _mav_put_float(buf, 20, size_x);
109 _mav_put_float(buf, 24, size_y);
110 _mav_put_uint8_t(buf, 28, target_num);
111 _mav_put_uint8_t(buf, 29, frame);
112 _mav_put_float(buf, 30, x);
113 _mav_put_float(buf, 34, y);
114 _mav_put_float(buf, 38, z);
115 _mav_put_uint8_t(buf, 58, type);
116 _mav_put_uint8_t(buf, 59, position_valid);
117 _mav_put_float_array(buf, 42, q, 4);
118 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_LANDING_TARGET_LEN);
120 mavlink_landing_target_t packet;
121 packet.time_usec = time_usec;
122 packet.angle_x = angle_x;
123 packet.angle_y = angle_y;
124 packet.distance = distance;
125 packet.size_x = size_x;
126 packet.size_y = size_y;
127 packet.target_num = target_num;
128 packet.frame = frame;
133 packet.position_valid = position_valid;
134 mav_array_memcpy(packet.q, q,
sizeof(
float)*4);
135 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_LANDING_TARGET_LEN);
138 msg->msgid = MAVLINK_MSG_ID_LANDING_TARGET;
139 return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN, MAVLINK_MSG_ID_LANDING_TARGET_LEN, MAVLINK_MSG_ID_LANDING_TARGET_CRC);
164static inline uint16_t mavlink_msg_landing_target_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
165 mavlink_message_t* msg,
166 uint64_t time_usec,uint8_t target_num,uint8_t frame,
float angle_x,
float angle_y,
float distance,
float size_x,
float size_y,
float x,
float y,
float z,
const float *q,uint8_t type,uint8_t position_valid)
168#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
169 char buf[MAVLINK_MSG_ID_LANDING_TARGET_LEN];
170 _mav_put_uint64_t(buf, 0, time_usec);
171 _mav_put_float(buf, 8, angle_x);
172 _mav_put_float(buf, 12, angle_y);
173 _mav_put_float(buf, 16, distance);
174 _mav_put_float(buf, 20, size_x);
175 _mav_put_float(buf, 24, size_y);
176 _mav_put_uint8_t(buf, 28, target_num);
177 _mav_put_uint8_t(buf, 29, frame);
178 _mav_put_float(buf, 30, x);
179 _mav_put_float(buf, 34, y);
180 _mav_put_float(buf, 38, z);
181 _mav_put_uint8_t(buf, 58, type);
182 _mav_put_uint8_t(buf, 59, position_valid);
183 _mav_put_float_array(buf, 42, q, 4);
184 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_LANDING_TARGET_LEN);
186 mavlink_landing_target_t packet;
187 packet.time_usec = time_usec;
188 packet.angle_x = angle_x;
189 packet.angle_y = angle_y;
190 packet.distance = distance;
191 packet.size_x = size_x;
192 packet.size_y = size_y;
193 packet.target_num = target_num;
194 packet.frame = frame;
199 packet.position_valid = position_valid;
200 mav_array_memcpy(packet.q, q,
sizeof(
float)*4);
201 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_LANDING_TARGET_LEN);
204 msg->msgid = MAVLINK_MSG_ID_LANDING_TARGET;
205 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN, MAVLINK_MSG_ID_LANDING_TARGET_LEN, MAVLINK_MSG_ID_LANDING_TARGET_CRC);
216static inline uint16_t mavlink_msg_landing_target_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
const mavlink_landing_target_t* landing_target)
218 return mavlink_msg_landing_target_pack(system_id, component_id, msg, landing_target->time_usec, landing_target->target_num, landing_target->frame, landing_target->angle_x, landing_target->angle_y, landing_target->distance, landing_target->size_x, landing_target->size_y, landing_target->x, landing_target->y, landing_target->z, landing_target->q, landing_target->type, landing_target->position_valid);
230static inline uint16_t mavlink_msg_landing_target_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg,
const mavlink_landing_target_t* landing_target)
232 return mavlink_msg_landing_target_pack_chan(system_id, component_id, chan, msg, landing_target->time_usec, landing_target->target_num, landing_target->frame, landing_target->angle_x, landing_target->angle_y, landing_target->distance, landing_target->size_x, landing_target->size_y, landing_target->x, landing_target->y, landing_target->z, landing_target->q, landing_target->type, landing_target->position_valid);
254#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
256static inline void mavlink_msg_landing_target_send(mavlink_channel_t chan, uint64_t time_usec, uint8_t target_num, uint8_t frame,
float angle_x,
float angle_y,
float distance,
float size_x,
float size_y,
float x,
float y,
float z,
const float *q, uint8_t type, uint8_t position_valid)
258#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
259 char buf[MAVLINK_MSG_ID_LANDING_TARGET_LEN];
260 _mav_put_uint64_t(buf, 0, time_usec);
261 _mav_put_float(buf, 8, angle_x);
262 _mav_put_float(buf, 12, angle_y);
263 _mav_put_float(buf, 16, distance);
264 _mav_put_float(buf, 20, size_x);
265 _mav_put_float(buf, 24, size_y);
266 _mav_put_uint8_t(buf, 28, target_num);
267 _mav_put_uint8_t(buf, 29, frame);
268 _mav_put_float(buf, 30, x);
269 _mav_put_float(buf, 34, y);
270 _mav_put_float(buf, 38, z);
271 _mav_put_uint8_t(buf, 58, type);
272 _mav_put_uint8_t(buf, 59, position_valid);
273 _mav_put_float_array(buf, 42, q, 4);
274 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LANDING_TARGET, buf, MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN, MAVLINK_MSG_ID_LANDING_TARGET_LEN, MAVLINK_MSG_ID_LANDING_TARGET_CRC);
276 mavlink_landing_target_t packet;
277 packet.time_usec = time_usec;
278 packet.angle_x = angle_x;
279 packet.angle_y = angle_y;
280 packet.distance = distance;
281 packet.size_x = size_x;
282 packet.size_y = size_y;
283 packet.target_num = target_num;
284 packet.frame = frame;
289 packet.position_valid = position_valid;
290 mav_array_memcpy(packet.q, q,
sizeof(
float)*4);
291 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LANDING_TARGET, (
const char *)&packet, MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN, MAVLINK_MSG_ID_LANDING_TARGET_LEN, MAVLINK_MSG_ID_LANDING_TARGET_CRC);
300static inline void mavlink_msg_landing_target_send_struct(mavlink_channel_t chan,
const mavlink_landing_target_t* landing_target)
302#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
303 mavlink_msg_landing_target_send(chan, landing_target->time_usec, landing_target->target_num, landing_target->frame, landing_target->angle_x, landing_target->angle_y, landing_target->distance, landing_target->size_x, landing_target->size_y, landing_target->x, landing_target->y, landing_target->z, landing_target->q, landing_target->type, landing_target->position_valid);
305 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LANDING_TARGET, (
const char *)landing_target, MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN, MAVLINK_MSG_ID_LANDING_TARGET_LEN, MAVLINK_MSG_ID_LANDING_TARGET_CRC);
309#if MAVLINK_MSG_ID_LANDING_TARGET_LEN <= MAVLINK_MAX_PAYLOAD_LEN
317static inline void mavlink_msg_landing_target_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t time_usec, uint8_t target_num, uint8_t frame,
float angle_x,
float angle_y,
float distance,
float size_x,
float size_y,
float x,
float y,
float z,
const float *q, uint8_t type, uint8_t position_valid)
319#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
320 char *buf = (
char *)msgbuf;
321 _mav_put_uint64_t(buf, 0, time_usec);
322 _mav_put_float(buf, 8, angle_x);
323 _mav_put_float(buf, 12, angle_y);
324 _mav_put_float(buf, 16, distance);
325 _mav_put_float(buf, 20, size_x);
326 _mav_put_float(buf, 24, size_y);
327 _mav_put_uint8_t(buf, 28, target_num);
328 _mav_put_uint8_t(buf, 29, frame);
329 _mav_put_float(buf, 30, x);
330 _mav_put_float(buf, 34, y);
331 _mav_put_float(buf, 38, z);
332 _mav_put_uint8_t(buf, 58, type);
333 _mav_put_uint8_t(buf, 59, position_valid);
334 _mav_put_float_array(buf, 42, q, 4);
335 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LANDING_TARGET, buf, MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN, MAVLINK_MSG_ID_LANDING_TARGET_LEN, MAVLINK_MSG_ID_LANDING_TARGET_CRC);
337 mavlink_landing_target_t *packet = (mavlink_landing_target_t *)msgbuf;
338 packet->time_usec = time_usec;
339 packet->angle_x = angle_x;
340 packet->angle_y = angle_y;
341 packet->distance = distance;
342 packet->size_x = size_x;
343 packet->size_y = size_y;
344 packet->target_num = target_num;
345 packet->frame = frame;
350 packet->position_valid = position_valid;
351 mav_array_memcpy(packet->q, q,
sizeof(
float)*4);
352 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LANDING_TARGET, (
const char *)packet, MAVLINK_MSG_ID_LANDING_TARGET_MIN_LEN, MAVLINK_MSG_ID_LANDING_TARGET_LEN, MAVLINK_MSG_ID_LANDING_TARGET_CRC);
367static inline uint64_t mavlink_msg_landing_target_get_time_usec(
const mavlink_message_t* msg)
369 return _MAV_RETURN_uint64_t(msg, 0);
377static inline uint8_t mavlink_msg_landing_target_get_target_num(
const mavlink_message_t* msg)
379 return _MAV_RETURN_uint8_t(msg, 28);
387static inline uint8_t mavlink_msg_landing_target_get_frame(
const mavlink_message_t* msg)
389 return _MAV_RETURN_uint8_t(msg, 29);
397static inline float mavlink_msg_landing_target_get_angle_x(
const mavlink_message_t* msg)
399 return _MAV_RETURN_float(msg, 8);
407static inline float mavlink_msg_landing_target_get_angle_y(
const mavlink_message_t* msg)
409 return _MAV_RETURN_float(msg, 12);
417static inline float mavlink_msg_landing_target_get_distance(
const mavlink_message_t* msg)
419 return _MAV_RETURN_float(msg, 16);
427static inline float mavlink_msg_landing_target_get_size_x(
const mavlink_message_t* msg)
429 return _MAV_RETURN_float(msg, 20);
437static inline float mavlink_msg_landing_target_get_size_y(
const mavlink_message_t* msg)
439 return _MAV_RETURN_float(msg, 24);
447static inline float mavlink_msg_landing_target_get_x(
const mavlink_message_t* msg)
449 return _MAV_RETURN_float(msg, 30);
457static inline float mavlink_msg_landing_target_get_y(
const mavlink_message_t* msg)
459 return _MAV_RETURN_float(msg, 34);
467static inline float mavlink_msg_landing_target_get_z(
const mavlink_message_t* msg)
469 return _MAV_RETURN_float(msg, 38);
477static inline uint16_t mavlink_msg_landing_target_get_q(
const mavlink_message_t* msg,
float *q)
479 return _MAV_RETURN_float_array(msg, q, 4, 42);
487static inline uint8_t mavlink_msg_landing_target_get_type(
const mavlink_message_t* msg)
489 return _MAV_RETURN_uint8_t(msg, 58);
497static inline uint8_t mavlink_msg_landing_target_get_position_valid(
const mavlink_message_t* msg)
499 return _MAV_RETURN_uint8_t(msg, 59);
508static inline void mavlink_msg_landing_target_decode(
const mavlink_message_t* msg, mavlink_landing_target_t* landing_target)
510#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
511 landing_target->time_usec = mavlink_msg_landing_target_get_time_usec(msg);
512 landing_target->angle_x = mavlink_msg_landing_target_get_angle_x(msg);
513 landing_target->angle_y = mavlink_msg_landing_target_get_angle_y(msg);
514 landing_target->distance = mavlink_msg_landing_target_get_distance(msg);
515 landing_target->size_x = mavlink_msg_landing_target_get_size_x(msg);
516 landing_target->size_y = mavlink_msg_landing_target_get_size_y(msg);
517 landing_target->target_num = mavlink_msg_landing_target_get_target_num(msg);
518 landing_target->frame = mavlink_msg_landing_target_get_frame(msg);
519 landing_target->x = mavlink_msg_landing_target_get_x(msg);
520 landing_target->y = mavlink_msg_landing_target_get_y(msg);
521 landing_target->z = mavlink_msg_landing_target_get_z(msg);
522 mavlink_msg_landing_target_get_q(msg, landing_target->q);
523 landing_target->type = mavlink_msg_landing_target_get_type(msg);
524 landing_target->position_valid = mavlink_msg_landing_target_get_position_valid(msg);
526 uint8_t len = msg->len < MAVLINK_MSG_ID_LANDING_TARGET_LEN? msg->len : MAVLINK_MSG_ID_LANDING_TARGET_LEN;
527 memset(landing_target, 0, MAVLINK_MSG_ID_LANDING_TARGET_LEN);
528 memcpy(landing_target, _MAV_PAYLOAD(msg), len);