3 #define MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV 64
19 #define MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN 181
20 #define MAVLINK_MSG_ID_64_LEN 181
22 #define MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_CRC 82
23 #define MAVLINK_MSG_ID_64_CRC 82
25 #define MAVLINK_MSG_LOCAL_POSITION_NED_COV_FIELD_COVARIANCE_LEN 36
27 #define MAVLINK_MESSAGE_INFO_LOCAL_POSITION_NED_COV { \
28 "LOCAL_POSITION_NED_COV", \
30 { { "time_utc", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_local_position_ned_cov_t, time_utc) }, \
31 { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_local_position_ned_cov_t, time_boot_ms) }, \
32 { "x", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_local_position_ned_cov_t, x) }, \
33 { "y", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_local_position_ned_cov_t, y) }, \
34 { "z", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_local_position_ned_cov_t, z) }, \
35 { "vx", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_local_position_ned_cov_t, vx) }, \
36 { "vy", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_local_position_ned_cov_t, vy) }, \
37 { "vz", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_local_position_ned_cov_t, vz) }, \
38 { "covariance", NULL, MAVLINK_TYPE_FLOAT, 36, 36, offsetof(mavlink_local_position_ned_cov_t, covariance) }, \
39 { "estimator_type", NULL, MAVLINK_TYPE_UINT8_T, 0, 180, offsetof(mavlink_local_position_ned_cov_t, estimator_type) }, \
62 static inline uint16_t mavlink_msg_local_position_ned_cov_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
63 uint32_t time_boot_ms, uint64_t time_utc, uint8_t estimator_type,
float x,
float y,
float z,
float vx,
float vy,
float vz,
const float *covariance)
65 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
66 char buf[MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN];
67 _mav_put_uint64_t(buf, 0, time_utc);
68 _mav_put_uint32_t(buf, 8, time_boot_ms);
69 _mav_put_float(buf, 12, x);
70 _mav_put_float(buf, 16, y);
71 _mav_put_float(buf, 20, z);
72 _mav_put_float(buf, 24, vx);
73 _mav_put_float(buf, 28, vy);
74 _mav_put_float(buf, 32, vz);
75 _mav_put_uint8_t(buf, 180, estimator_type);
76 _mav_put_float_array(buf, 36, covariance, 36);
77 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
89 mav_array_memcpy(packet.
covariance, covariance,
sizeof(
float)*36);
90 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
93 msg->msgid = MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV;
95 return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_CRC);
97 return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
119 static inline uint16_t mavlink_msg_local_position_ned_cov_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
120 mavlink_message_t* msg,
121 uint32_t time_boot_ms,uint64_t time_utc,uint8_t estimator_type,
float x,
float y,
float z,
float vx,
float vy,
float vz,
const float *covariance)
123 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
124 char buf[MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN];
125 _mav_put_uint64_t(buf, 0, time_utc);
126 _mav_put_uint32_t(buf, 8, time_boot_ms);
127 _mav_put_float(buf, 12, x);
128 _mav_put_float(buf, 16, y);
129 _mav_put_float(buf, 20, z);
130 _mav_put_float(buf, 24, vx);
131 _mav_put_float(buf, 28, vy);
132 _mav_put_float(buf, 32, vz);
133 _mav_put_uint8_t(buf, 180, estimator_type);
134 _mav_put_float_array(buf, 36, covariance, 36);
135 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
147 mav_array_memcpy(packet.
covariance, covariance,
sizeof(
float)*36);
148 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
151 msg->msgid = MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV;
152 #if MAVLINK_CRC_EXTRA
153 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_CRC);
155 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
167 static inline uint16_t mavlink_msg_local_position_ned_cov_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
const mavlink_local_position_ned_cov_t* local_position_ned_cov)
169 return mavlink_msg_local_position_ned_cov_pack(system_id, component_id, msg, local_position_ned_cov->
time_boot_ms, local_position_ned_cov->
time_utc, local_position_ned_cov->
estimator_type, local_position_ned_cov->
x, local_position_ned_cov->
y, local_position_ned_cov->
z, local_position_ned_cov->
vx, local_position_ned_cov->
vy, local_position_ned_cov->
vz, local_position_ned_cov->
covariance);
181 static inline uint16_t mavlink_msg_local_position_ned_cov_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg,
const mavlink_local_position_ned_cov_t* local_position_ned_cov)
183 return mavlink_msg_local_position_ned_cov_pack_chan(system_id, component_id, chan, msg, local_position_ned_cov->
time_boot_ms, local_position_ned_cov->
time_utc, local_position_ned_cov->
estimator_type, local_position_ned_cov->
x, local_position_ned_cov->
y, local_position_ned_cov->
z, local_position_ned_cov->
vx, local_position_ned_cov->
vy, local_position_ned_cov->
vz, local_position_ned_cov->
covariance);
201 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
203 static inline void mavlink_msg_local_position_ned_cov_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint64_t time_utc, uint8_t estimator_type,
float x,
float y,
float z,
float vx,
float vy,
float vz,
const float *covariance)
205 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
206 char buf[MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN];
207 _mav_put_uint64_t(buf, 0, time_utc);
208 _mav_put_uint32_t(buf, 8, time_boot_ms);
209 _mav_put_float(buf, 12, x);
210 _mav_put_float(buf, 16, y);
211 _mav_put_float(buf, 20, z);
212 _mav_put_float(buf, 24, vx);
213 _mav_put_float(buf, 28, vy);
214 _mav_put_float(buf, 32, vz);
215 _mav_put_uint8_t(buf, 180, estimator_type);
216 _mav_put_float_array(buf, 36, covariance, 36);
217 #if MAVLINK_CRC_EXTRA
218 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, buf, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_CRC);
220 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, buf, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
233 mav_array_memcpy(packet.
covariance, covariance,
sizeof(
float)*36);
234 #if MAVLINK_CRC_EXTRA
235 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, (
const char *)&packet, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_CRC);
237 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, (
const char *)&packet, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
242 #if MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN <= MAVLINK_MAX_PAYLOAD_LEN
250 static inline void mavlink_msg_local_position_ned_cov_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint32_t time_boot_ms, uint64_t time_utc, uint8_t estimator_type,
float x,
float y,
float z,
float vx,
float vy,
float vz,
const float *covariance)
252 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
253 char *buf = (
char *)msgbuf;
254 _mav_put_uint64_t(buf, 0, time_utc);
255 _mav_put_uint32_t(buf, 8, time_boot_ms);
256 _mav_put_float(buf, 12, x);
257 _mav_put_float(buf, 16, y);
258 _mav_put_float(buf, 20, z);
259 _mav_put_float(buf, 24, vx);
260 _mav_put_float(buf, 28, vy);
261 _mav_put_float(buf, 32, vz);
262 _mav_put_uint8_t(buf, 180, estimator_type);
263 _mav_put_float_array(buf, 36, covariance, 36);
264 #if MAVLINK_CRC_EXTRA
265 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, buf, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_CRC);
267 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, buf, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
280 mav_array_memcpy(packet->
covariance, covariance,
sizeof(
float)*36);
281 #if MAVLINK_CRC_EXTRA
282 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, (
const char *)packet, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_CRC);
284 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV, (
const char *)packet, MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
300 static inline uint32_t mavlink_msg_local_position_ned_cov_get_time_boot_ms(
const mavlink_message_t* msg)
302 return _MAV_RETURN_uint32_t(msg, 8);
310 static inline uint64_t mavlink_msg_local_position_ned_cov_get_time_utc(
const mavlink_message_t* msg)
312 return _MAV_RETURN_uint64_t(msg, 0);
320 static inline uint8_t mavlink_msg_local_position_ned_cov_get_estimator_type(
const mavlink_message_t* msg)
322 return _MAV_RETURN_uint8_t(msg, 180);
330 static inline float mavlink_msg_local_position_ned_cov_get_x(
const mavlink_message_t* msg)
332 return _MAV_RETURN_float(msg, 12);
340 static inline float mavlink_msg_local_position_ned_cov_get_y(
const mavlink_message_t* msg)
342 return _MAV_RETURN_float(msg, 16);
350 static inline float mavlink_msg_local_position_ned_cov_get_z(
const mavlink_message_t* msg)
352 return _MAV_RETURN_float(msg, 20);
360 static inline float mavlink_msg_local_position_ned_cov_get_vx(
const mavlink_message_t* msg)
362 return _MAV_RETURN_float(msg, 24);
370 static inline float mavlink_msg_local_position_ned_cov_get_vy(
const mavlink_message_t* msg)
372 return _MAV_RETURN_float(msg, 28);
380 static inline float mavlink_msg_local_position_ned_cov_get_vz(
const mavlink_message_t* msg)
382 return _MAV_RETURN_float(msg, 32);
390 static inline uint16_t mavlink_msg_local_position_ned_cov_get_covariance(
const mavlink_message_t* msg,
float *covariance)
392 return _MAV_RETURN_float_array(msg, covariance, 36, 36);
403 #if MAVLINK_NEED_BYTE_SWAP
404 local_position_ned_cov->
time_utc = mavlink_msg_local_position_ned_cov_get_time_utc(msg);
405 local_position_ned_cov->
time_boot_ms = mavlink_msg_local_position_ned_cov_get_time_boot_ms(msg);
406 local_position_ned_cov->
x = mavlink_msg_local_position_ned_cov_get_x(msg);
407 local_position_ned_cov->
y = mavlink_msg_local_position_ned_cov_get_y(msg);
408 local_position_ned_cov->
z = mavlink_msg_local_position_ned_cov_get_z(msg);
409 local_position_ned_cov->
vx = mavlink_msg_local_position_ned_cov_get_vx(msg);
410 local_position_ned_cov->
vy = mavlink_msg_local_position_ned_cov_get_vy(msg);
411 local_position_ned_cov->
vz = mavlink_msg_local_position_ned_cov_get_vz(msg);
412 mavlink_msg_local_position_ned_cov_get_covariance(msg, local_position_ned_cov->
covariance);
413 local_position_ned_cov->
estimator_type = mavlink_msg_local_position_ned_cov_get_estimator_type(msg);
415 memcpy(local_position_ned_cov, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_LOCAL_POSITION_NED_COV_LEN);
uint32_t time_boot_ms
Timestamp (milliseconds since system boot)
Definition: mavlink_msg_local_position_ned_cov.h:8
float vy
Y Speed.
Definition: mavlink_msg_local_position_ned_cov.h:13
float z
Z Position.
Definition: mavlink_msg_local_position_ned_cov.h:11
float vx
X Speed.
Definition: mavlink_msg_local_position_ned_cov.h:12
float x
X Position.
Definition: mavlink_msg_local_position_ned_cov.h:9
uint8_t estimator_type
Class id of the estimator this estimate originated from.
Definition: mavlink_msg_local_position_ned_cov.h:16
float y
Y Position.
Definition: mavlink_msg_local_position_ned_cov.h:10
float vz
Z Speed.
Definition: mavlink_msg_local_position_ned_cov.h:14
uint64_t time_utc
Timestamp (microseconds since UNIX epoch) in UTC. 0 for unknown. Commonly filled by the precision tim...
Definition: mavlink_msg_local_position_ned_cov.h:7
Definition: mavlink_msg_local_position_ned_cov.h:5
float covariance[36]
Covariance matrix (first six entries are the first ROW, next six entries are the second row...
Definition: mavlink_msg_local_position_ned_cov.h:15