4#define MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV 61
7typedef struct __mavlink_attitude_quaternion_cov_t {
14}) mavlink_attitude_quaternion_cov_t;
16#define MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN 72
17#define MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN 72
18#define MAVLINK_MSG_ID_61_LEN 72
19#define MAVLINK_MSG_ID_61_MIN_LEN 72
21#define MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC 167
22#define MAVLINK_MSG_ID_61_CRC 167
24#define MAVLINK_MSG_ATTITUDE_QUATERNION_COV_FIELD_Q_LEN 4
25#define MAVLINK_MSG_ATTITUDE_QUATERNION_COV_FIELD_COVARIANCE_LEN 9
27#if MAVLINK_COMMAND_24BIT
28#define MAVLINK_MESSAGE_INFO_ATTITUDE_QUATERNION_COV { \
30 "ATTITUDE_QUATERNION_COV", \
32 { { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_attitude_quaternion_cov_t, time_usec) }, \
33 { "q", NULL, MAVLINK_TYPE_FLOAT, 4, 8, offsetof(mavlink_attitude_quaternion_cov_t, q) }, \
34 { "rollspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_attitude_quaternion_cov_t, rollspeed) }, \
35 { "pitchspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_attitude_quaternion_cov_t, pitchspeed) }, \
36 { "yawspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_attitude_quaternion_cov_t, yawspeed) }, \
37 { "covariance", NULL, MAVLINK_TYPE_FLOAT, 9, 36, offsetof(mavlink_attitude_quaternion_cov_t, covariance) }, \
41#define MAVLINK_MESSAGE_INFO_ATTITUDE_QUATERNION_COV { \
42 "ATTITUDE_QUATERNION_COV", \
44 { { "time_usec", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_attitude_quaternion_cov_t, time_usec) }, \
45 { "q", NULL, MAVLINK_TYPE_FLOAT, 4, 8, offsetof(mavlink_attitude_quaternion_cov_t, q) }, \
46 { "rollspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_attitude_quaternion_cov_t, rollspeed) }, \
47 { "pitchspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_attitude_quaternion_cov_t, pitchspeed) }, \
48 { "yawspeed", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_attitude_quaternion_cov_t, yawspeed) }, \
49 { "covariance", NULL, MAVLINK_TYPE_FLOAT, 9, 36, offsetof(mavlink_attitude_quaternion_cov_t, covariance) }, \
68static inline uint16_t mavlink_msg_attitude_quaternion_cov_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
69 uint64_t time_usec,
const float *q,
float rollspeed,
float pitchspeed,
float yawspeed,
const float *covariance)
71#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
72 char buf[MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN];
73 _mav_put_uint64_t(buf, 0, time_usec);
74 _mav_put_float(buf, 24, rollspeed);
75 _mav_put_float(buf, 28, pitchspeed);
76 _mav_put_float(buf, 32, yawspeed);
77 _mav_put_float_array(buf, 8, q, 4);
78 _mav_put_float_array(buf, 36, covariance, 9);
79 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN);
81 mavlink_attitude_quaternion_cov_t packet;
82 packet.time_usec = time_usec;
83 packet.rollspeed = rollspeed;
84 packet.pitchspeed = pitchspeed;
85 packet.yawspeed = yawspeed;
86 mav_array_memcpy(packet.q, q,
sizeof(
float)*4);
87 mav_array_memcpy(packet.covariance, covariance,
sizeof(
float)*9);
88 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN);
91 msg->msgid = MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV;
92 return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
109static inline uint16_t mavlink_msg_attitude_quaternion_cov_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
110 mavlink_message_t* msg,
111 uint64_t time_usec,
const float *q,
float rollspeed,
float pitchspeed,
float yawspeed,
const float *covariance)
113#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
114 char buf[MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN];
115 _mav_put_uint64_t(buf, 0, time_usec);
116 _mav_put_float(buf, 24, rollspeed);
117 _mav_put_float(buf, 28, pitchspeed);
118 _mav_put_float(buf, 32, yawspeed);
119 _mav_put_float_array(buf, 8, q, 4);
120 _mav_put_float_array(buf, 36, covariance, 9);
121 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN);
123 mavlink_attitude_quaternion_cov_t packet;
124 packet.time_usec = time_usec;
125 packet.rollspeed = rollspeed;
126 packet.pitchspeed = pitchspeed;
127 packet.yawspeed = yawspeed;
128 mav_array_memcpy(packet.q, q,
sizeof(
float)*4);
129 mav_array_memcpy(packet.covariance, covariance,
sizeof(
float)*9);
130 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN);
133 msg->msgid = MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV;
134 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
145static inline uint16_t mavlink_msg_attitude_quaternion_cov_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
const mavlink_attitude_quaternion_cov_t* attitude_quaternion_cov)
147 return mavlink_msg_attitude_quaternion_cov_pack(system_id, component_id, msg, attitude_quaternion_cov->time_usec, attitude_quaternion_cov->q, attitude_quaternion_cov->rollspeed, attitude_quaternion_cov->pitchspeed, attitude_quaternion_cov->yawspeed, attitude_quaternion_cov->covariance);
159static inline uint16_t mavlink_msg_attitude_quaternion_cov_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg,
const mavlink_attitude_quaternion_cov_t* attitude_quaternion_cov)
161 return mavlink_msg_attitude_quaternion_cov_pack_chan(system_id, component_id, chan, msg, attitude_quaternion_cov->time_usec, attitude_quaternion_cov->q, attitude_quaternion_cov->rollspeed, attitude_quaternion_cov->pitchspeed, attitude_quaternion_cov->yawspeed, attitude_quaternion_cov->covariance);
175#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
177static inline void mavlink_msg_attitude_quaternion_cov_send(mavlink_channel_t chan, uint64_t time_usec,
const float *q,
float rollspeed,
float pitchspeed,
float yawspeed,
const float *covariance)
179#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
180 char buf[MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN];
181 _mav_put_uint64_t(buf, 0, time_usec);
182 _mav_put_float(buf, 24, rollspeed);
183 _mav_put_float(buf, 28, pitchspeed);
184 _mav_put_float(buf, 32, yawspeed);
185 _mav_put_float_array(buf, 8, q, 4);
186 _mav_put_float_array(buf, 36, covariance, 9);
187 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV, buf, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
189 mavlink_attitude_quaternion_cov_t packet;
190 packet.time_usec = time_usec;
191 packet.rollspeed = rollspeed;
192 packet.pitchspeed = pitchspeed;
193 packet.yawspeed = yawspeed;
194 mav_array_memcpy(packet.q, q,
sizeof(
float)*4);
195 mav_array_memcpy(packet.covariance, covariance,
sizeof(
float)*9);
196 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV, (
const char *)&packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
205static inline void mavlink_msg_attitude_quaternion_cov_send_struct(mavlink_channel_t chan,
const mavlink_attitude_quaternion_cov_t* attitude_quaternion_cov)
207#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
208 mavlink_msg_attitude_quaternion_cov_send(chan, attitude_quaternion_cov->time_usec, attitude_quaternion_cov->q, attitude_quaternion_cov->rollspeed, attitude_quaternion_cov->pitchspeed, attitude_quaternion_cov->yawspeed, attitude_quaternion_cov->covariance);
210 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV, (
const char *)attitude_quaternion_cov, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
214#if MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN <= MAVLINK_MAX_PAYLOAD_LEN
222static inline void mavlink_msg_attitude_quaternion_cov_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t time_usec,
const float *q,
float rollspeed,
float pitchspeed,
float yawspeed,
const float *covariance)
224#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
225 char *buf = (
char *)msgbuf;
226 _mav_put_uint64_t(buf, 0, time_usec);
227 _mav_put_float(buf, 24, rollspeed);
228 _mav_put_float(buf, 28, pitchspeed);
229 _mav_put_float(buf, 32, yawspeed);
230 _mav_put_float_array(buf, 8, q, 4);
231 _mav_put_float_array(buf, 36, covariance, 9);
232 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV, buf, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
234 mavlink_attitude_quaternion_cov_t *packet = (mavlink_attitude_quaternion_cov_t *)msgbuf;
235 packet->time_usec = time_usec;
236 packet->rollspeed = rollspeed;
237 packet->pitchspeed = pitchspeed;
238 packet->yawspeed = yawspeed;
239 mav_array_memcpy(packet->q, q,
sizeof(
float)*4);
240 mav_array_memcpy(packet->covariance, covariance,
sizeof(
float)*9);
241 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV, (
const char *)packet, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_MIN_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_CRC);
256static inline uint64_t mavlink_msg_attitude_quaternion_cov_get_time_usec(
const mavlink_message_t* msg)
258 return _MAV_RETURN_uint64_t(msg, 0);
266static inline uint16_t mavlink_msg_attitude_quaternion_cov_get_q(
const mavlink_message_t* msg,
float *q)
268 return _MAV_RETURN_float_array(msg, q, 4, 8);
276static inline float mavlink_msg_attitude_quaternion_cov_get_rollspeed(
const mavlink_message_t* msg)
278 return _MAV_RETURN_float(msg, 24);
286static inline float mavlink_msg_attitude_quaternion_cov_get_pitchspeed(
const mavlink_message_t* msg)
288 return _MAV_RETURN_float(msg, 28);
296static inline float mavlink_msg_attitude_quaternion_cov_get_yawspeed(
const mavlink_message_t* msg)
298 return _MAV_RETURN_float(msg, 32);
306static inline uint16_t mavlink_msg_attitude_quaternion_cov_get_covariance(
const mavlink_message_t* msg,
float *covariance)
308 return _MAV_RETURN_float_array(msg, covariance, 9, 36);
317static inline void mavlink_msg_attitude_quaternion_cov_decode(
const mavlink_message_t* msg, mavlink_attitude_quaternion_cov_t* attitude_quaternion_cov)
319#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
320 attitude_quaternion_cov->time_usec = mavlink_msg_attitude_quaternion_cov_get_time_usec(msg);
321 mavlink_msg_attitude_quaternion_cov_get_q(msg, attitude_quaternion_cov->q);
322 attitude_quaternion_cov->rollspeed = mavlink_msg_attitude_quaternion_cov_get_rollspeed(msg);
323 attitude_quaternion_cov->pitchspeed = mavlink_msg_attitude_quaternion_cov_get_pitchspeed(msg);
324 attitude_quaternion_cov->yawspeed = mavlink_msg_attitude_quaternion_cov_get_yawspeed(msg);
325 mavlink_msg_attitude_quaternion_cov_get_covariance(msg, attitude_quaternion_cov->covariance);
327 uint8_t len = msg->len < MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN? msg->len : MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN;
328 memset(attitude_quaternion_cov, 0, MAVLINK_MSG_ID_ATTITUDE_QUATERNION_COV_LEN);
329 memcpy(attitude_quaternion_cov, _MAV_PAYLOAD(msg), len);