#pragma once // MESSAGE VKINS_STATUS PACKING #define MAVLINK_MSG_ID_VKINS_STATUS 53000 typedef struct __mavlink_vkins_status_t { uint32_t time_boot_ms; /*< [ms] Timestamp in ms from system boot.*/ float g0; /*< [m/s/s] vkins initial calibrated gravitation acceleration.*/ int32_t raw_latitude; /*< [degE7] raw longitude for data fusion*/ int32_t raw_longitude; /*< [degE7] raw latitidue for data fusion*/ float baro_alt; /*< [m] raw baromoter altitude for data fusion*/ float raw_gps_alt; /*< [m] gps amsl altitude for data fusion*/ int16_t temperature; /*< [cdegC] temperature*/ uint8_t nav_status; /*< VKINS navigation status flag.*/ uint8_t s_flag1; /*< vinks flag1*/ uint8_t s_flag2; /*< vinks flag2.*/ uint8_t s_flag3; /*< vinks flag3.*/ uint8_t s_flag4; /*< vinks flag4.*/ uint8_t s_flag5; /*< vinks flag5.*/ uint8_t s_flag6; /*< vinks flag6.*/ uint8_t mag_calib_stage; /*< vkins mag calib stage.*/ uint8_t solv_psat_num; /*< satelites number for position*/ uint8_t solv_hsat_num; /*< satelites number for heading*/ uint8_t vibe_coe; /*< */ } mavlink_vkins_status_t; #define MAVLINK_MSG_ID_VKINS_STATUS_LEN 37 #define MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN 37 #define MAVLINK_MSG_ID_53000_LEN 37 #define MAVLINK_MSG_ID_53000_MIN_LEN 37 #define MAVLINK_MSG_ID_VKINS_STATUS_CRC 22 #define MAVLINK_MSG_ID_53000_CRC 22 #if MAVLINK_COMMAND_24BIT #define MAVLINK_MESSAGE_INFO_VKINS_STATUS { \ 53000, \ "VKINS_STATUS", \ 18, \ { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vkins_status_t, time_boot_ms) }, \ { "nav_status", "0x%02x", MAVLINK_TYPE_UINT8_T, 0, 26, offsetof(mavlink_vkins_status_t, nav_status) }, \ { "s_flag1", NULL, MAVLINK_TYPE_UINT8_T, 0, 27, offsetof(mavlink_vkins_status_t, s_flag1) }, \ { "s_flag2", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_vkins_status_t, s_flag2) }, \ { "s_flag3", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_vkins_status_t, s_flag3) }, \ { "s_flag4", NULL, MAVLINK_TYPE_UINT8_T, 0, 30, offsetof(mavlink_vkins_status_t, s_flag4) }, \ { "s_flag5", NULL, MAVLINK_TYPE_UINT8_T, 0, 31, offsetof(mavlink_vkins_status_t, s_flag5) }, \ { "s_flag6", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_vkins_status_t, s_flag6) }, \ { "mag_calib_stage", NULL, MAVLINK_TYPE_UINT8_T, 0, 33, offsetof(mavlink_vkins_status_t, mag_calib_stage) }, \ { "g0", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_vkins_status_t, g0) }, \ { "raw_latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_vkins_status_t, raw_latitude) }, \ { "raw_longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 12, offsetof(mavlink_vkins_status_t, raw_longitude) }, \ { "baro_alt", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_vkins_status_t, baro_alt) }, \ { "raw_gps_alt", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_vkins_status_t, raw_gps_alt) }, \ { "solv_psat_num", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_vkins_status_t, solv_psat_num) }, \ { "solv_hsat_num", NULL, MAVLINK_TYPE_UINT8_T, 0, 35, offsetof(mavlink_vkins_status_t, solv_hsat_num) }, \ { "temperature", NULL, MAVLINK_TYPE_INT16_T, 0, 24, offsetof(mavlink_vkins_status_t, temperature) }, \ { "vibe_coe", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_vkins_status_t, vibe_coe) }, \ } \ } #else #define MAVLINK_MESSAGE_INFO_VKINS_STATUS { \ "VKINS_STATUS", \ 18, \ { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vkins_status_t, time_boot_ms) }, \ { "nav_status", "0x%02x", MAVLINK_TYPE_UINT8_T, 0, 26, offsetof(mavlink_vkins_status_t, nav_status) }, \ { "s_flag1", NULL, MAVLINK_TYPE_UINT8_T, 0, 27, offsetof(mavlink_vkins_status_t, s_flag1) }, \ { "s_flag2", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_vkins_status_t, s_flag2) }, \ { "s_flag3", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_vkins_status_t, s_flag3) }, \ { "s_flag4", NULL, MAVLINK_TYPE_UINT8_T, 0, 30, offsetof(mavlink_vkins_status_t, s_flag4) }, \ { "s_flag5", NULL, MAVLINK_TYPE_UINT8_T, 0, 31, offsetof(mavlink_vkins_status_t, s_flag5) }, \ { "s_flag6", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_vkins_status_t, s_flag6) }, \ { "mag_calib_stage", NULL, MAVLINK_TYPE_UINT8_T, 0, 33, offsetof(mavlink_vkins_status_t, mag_calib_stage) }, \ { "g0", NULL, MAVLINK_TYPE_FLOAT, 0, 4, offsetof(mavlink_vkins_status_t, g0) }, \ { "raw_latitude", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_vkins_status_t, raw_latitude) }, \ { "raw_longitude", NULL, MAVLINK_TYPE_INT32_T, 0, 12, offsetof(mavlink_vkins_status_t, raw_longitude) }, \ { "baro_alt", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_vkins_status_t, baro_alt) }, \ { "raw_gps_alt", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_vkins_status_t, raw_gps_alt) }, \ { "solv_psat_num", NULL, MAVLINK_TYPE_UINT8_T, 0, 34, offsetof(mavlink_vkins_status_t, solv_psat_num) }, \ { "solv_hsat_num", NULL, MAVLINK_TYPE_UINT8_T, 0, 35, offsetof(mavlink_vkins_status_t, solv_hsat_num) }, \ { "temperature", NULL, MAVLINK_TYPE_INT16_T, 0, 24, offsetof(mavlink_vkins_status_t, temperature) }, \ { "vibe_coe", NULL, MAVLINK_TYPE_UINT8_T, 0, 36, offsetof(mavlink_vkins_status_t, vibe_coe) }, \ } \ } #endif /** * @brief Pack a vkins_status message * @param system_id ID of this system * @param component_id ID of this component (e.g. 200 for IMU) * @param msg The MAVLink message to compress the data into * * @param time_boot_ms [ms] Timestamp in ms from system boot. * @param nav_status VKINS navigation status flag. * @param s_flag1 vinks flag1 * @param s_flag2 vinks flag2. * @param s_flag3 vinks flag3. * @param s_flag4 vinks flag4. * @param s_flag5 vinks flag5. * @param s_flag6 vinks flag6. * @param mag_calib_stage vkins mag calib stage. * @param g0 [m/s/s] vkins initial calibrated gravitation acceleration. * @param raw_latitude [degE7] raw longitude for data fusion * @param raw_longitude [degE7] raw latitidue for data fusion * @param baro_alt [m] raw baromoter altitude for data fusion * @param raw_gps_alt [m] gps amsl altitude for data fusion * @param solv_psat_num satelites number for position * @param solv_hsat_num satelites number for heading * @param temperature [cdegC] temperature * @param vibe_coe * @return length of the message in bytes (excluding serial stream start sign) */ static inline uint16_t mavlink_msg_vkins_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, uint32_t time_boot_ms, uint8_t nav_status, uint8_t s_flag1, uint8_t s_flag2, uint8_t s_flag3, uint8_t s_flag4, uint8_t s_flag5, uint8_t s_flag6, uint8_t mag_calib_stage, float g0, int32_t raw_latitude, int32_t raw_longitude, float baro_alt, float raw_gps_alt, uint8_t solv_psat_num, uint8_t solv_hsat_num, int16_t temperature, uint8_t vibe_coe) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS char buf[MAVLINK_MSG_ID_VKINS_STATUS_LEN]; _mav_put_uint32_t(buf, 0, time_boot_ms); _mav_put_float(buf, 4, g0); _mav_put_int32_t(buf, 8, raw_latitude); _mav_put_int32_t(buf, 12, raw_longitude); _mav_put_float(buf, 16, baro_alt); _mav_put_float(buf, 20, raw_gps_alt); _mav_put_int16_t(buf, 24, temperature); _mav_put_uint8_t(buf, 26, nav_status); _mav_put_uint8_t(buf, 27, s_flag1); _mav_put_uint8_t(buf, 28, s_flag2); _mav_put_uint8_t(buf, 29, s_flag3); _mav_put_uint8_t(buf, 30, s_flag4); _mav_put_uint8_t(buf, 31, s_flag5); _mav_put_uint8_t(buf, 32, s_flag6); _mav_put_uint8_t(buf, 33, mag_calib_stage); _mav_put_uint8_t(buf, 34, solv_psat_num); _mav_put_uint8_t(buf, 35, solv_hsat_num); _mav_put_uint8_t(buf, 36, vibe_coe); memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKINS_STATUS_LEN); #else mavlink_vkins_status_t packet; packet.time_boot_ms = time_boot_ms; packet.g0 = g0; packet.raw_latitude = raw_latitude; packet.raw_longitude = raw_longitude; packet.baro_alt = baro_alt; packet.raw_gps_alt = raw_gps_alt; packet.temperature = temperature; packet.nav_status = nav_status; packet.s_flag1 = s_flag1; packet.s_flag2 = s_flag2; packet.s_flag3 = s_flag3; packet.s_flag4 = s_flag4; packet.s_flag5 = s_flag5; packet.s_flag6 = s_flag6; packet.mag_calib_stage = mag_calib_stage; packet.solv_psat_num = solv_psat_num; packet.solv_hsat_num = solv_hsat_num; packet.vibe_coe = vibe_coe; memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKINS_STATUS_LEN); #endif msg->msgid = MAVLINK_MSG_ID_VKINS_STATUS; return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); } /** * @brief Pack a vkins_status message * @param system_id ID of this system * @param component_id ID of this component (e.g. 200 for IMU) * @param status MAVLink status structure * @param msg The MAVLink message to compress the data into * * @param time_boot_ms [ms] Timestamp in ms from system boot. * @param nav_status VKINS navigation status flag. * @param s_flag1 vinks flag1 * @param s_flag2 vinks flag2. * @param s_flag3 vinks flag3. * @param s_flag4 vinks flag4. * @param s_flag5 vinks flag5. * @param s_flag6 vinks flag6. * @param mag_calib_stage vkins mag calib stage. * @param g0 [m/s/s] vkins initial calibrated gravitation acceleration. * @param raw_latitude [degE7] raw longitude for data fusion * @param raw_longitude [degE7] raw latitidue for data fusion * @param baro_alt [m] raw baromoter altitude for data fusion * @param raw_gps_alt [m] gps amsl altitude for data fusion * @param solv_psat_num satelites number for position * @param solv_hsat_num satelites number for heading * @param temperature [cdegC] temperature * @param vibe_coe * @return length of the message in bytes (excluding serial stream start sign) */ static inline uint16_t mavlink_msg_vkins_status_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg, uint32_t time_boot_ms, uint8_t nav_status, uint8_t s_flag1, uint8_t s_flag2, uint8_t s_flag3, uint8_t s_flag4, uint8_t s_flag5, uint8_t s_flag6, uint8_t mag_calib_stage, float g0, int32_t raw_latitude, int32_t raw_longitude, float baro_alt, float raw_gps_alt, uint8_t solv_psat_num, uint8_t solv_hsat_num, int16_t temperature, uint8_t vibe_coe) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS char buf[MAVLINK_MSG_ID_VKINS_STATUS_LEN]; _mav_put_uint32_t(buf, 0, time_boot_ms); _mav_put_float(buf, 4, g0); _mav_put_int32_t(buf, 8, raw_latitude); _mav_put_int32_t(buf, 12, raw_longitude); _mav_put_float(buf, 16, baro_alt); _mav_put_float(buf, 20, raw_gps_alt); _mav_put_int16_t(buf, 24, temperature); _mav_put_uint8_t(buf, 26, nav_status); _mav_put_uint8_t(buf, 27, s_flag1); _mav_put_uint8_t(buf, 28, s_flag2); _mav_put_uint8_t(buf, 29, s_flag3); _mav_put_uint8_t(buf, 30, s_flag4); _mav_put_uint8_t(buf, 31, s_flag5); _mav_put_uint8_t(buf, 32, s_flag6); _mav_put_uint8_t(buf, 33, mag_calib_stage); _mav_put_uint8_t(buf, 34, solv_psat_num); _mav_put_uint8_t(buf, 35, solv_hsat_num); _mav_put_uint8_t(buf, 36, vibe_coe); memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKINS_STATUS_LEN); #else mavlink_vkins_status_t packet; packet.time_boot_ms = time_boot_ms; packet.g0 = g0; packet.raw_latitude = raw_latitude; packet.raw_longitude = raw_longitude; packet.baro_alt = baro_alt; packet.raw_gps_alt = raw_gps_alt; packet.temperature = temperature; packet.nav_status = nav_status; packet.s_flag1 = s_flag1; packet.s_flag2 = s_flag2; packet.s_flag3 = s_flag3; packet.s_flag4 = s_flag4; packet.s_flag5 = s_flag5; packet.s_flag6 = s_flag6; packet.mag_calib_stage = mag_calib_stage; packet.solv_psat_num = solv_psat_num; packet.solv_hsat_num = solv_hsat_num; packet.vibe_coe = vibe_coe; memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKINS_STATUS_LEN); #endif msg->msgid = MAVLINK_MSG_ID_VKINS_STATUS; #if MAVLINK_CRC_EXTRA return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); #else return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN); #endif } /** * @brief Pack a vkins_status message on a channel * @param system_id ID of this system * @param component_id ID of this component (e.g. 200 for IMU) * @param chan The MAVLink channel this message will be sent over * @param msg The MAVLink message to compress the data into * @param time_boot_ms [ms] Timestamp in ms from system boot. * @param nav_status VKINS navigation status flag. * @param s_flag1 vinks flag1 * @param s_flag2 vinks flag2. * @param s_flag3 vinks flag3. * @param s_flag4 vinks flag4. * @param s_flag5 vinks flag5. * @param s_flag6 vinks flag6. * @param mag_calib_stage vkins mag calib stage. * @param g0 [m/s/s] vkins initial calibrated gravitation acceleration. * @param raw_latitude [degE7] raw longitude for data fusion * @param raw_longitude [degE7] raw latitidue for data fusion * @param baro_alt [m] raw baromoter altitude for data fusion * @param raw_gps_alt [m] gps amsl altitude for data fusion * @param solv_psat_num satelites number for position * @param solv_hsat_num satelites number for heading * @param temperature [cdegC] temperature * @param vibe_coe * @return length of the message in bytes (excluding serial stream start sign) */ static inline uint16_t mavlink_msg_vkins_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, uint32_t time_boot_ms,uint8_t nav_status,uint8_t s_flag1,uint8_t s_flag2,uint8_t s_flag3,uint8_t s_flag4,uint8_t s_flag5,uint8_t s_flag6,uint8_t mag_calib_stage,float g0,int32_t raw_latitude,int32_t raw_longitude,float baro_alt,float raw_gps_alt,uint8_t solv_psat_num,uint8_t solv_hsat_num,int16_t temperature,uint8_t vibe_coe) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS char buf[MAVLINK_MSG_ID_VKINS_STATUS_LEN]; _mav_put_uint32_t(buf, 0, time_boot_ms); _mav_put_float(buf, 4, g0); _mav_put_int32_t(buf, 8, raw_latitude); _mav_put_int32_t(buf, 12, raw_longitude); _mav_put_float(buf, 16, baro_alt); _mav_put_float(buf, 20, raw_gps_alt); _mav_put_int16_t(buf, 24, temperature); _mav_put_uint8_t(buf, 26, nav_status); _mav_put_uint8_t(buf, 27, s_flag1); _mav_put_uint8_t(buf, 28, s_flag2); _mav_put_uint8_t(buf, 29, s_flag3); _mav_put_uint8_t(buf, 30, s_flag4); _mav_put_uint8_t(buf, 31, s_flag5); _mav_put_uint8_t(buf, 32, s_flag6); _mav_put_uint8_t(buf, 33, mag_calib_stage); _mav_put_uint8_t(buf, 34, solv_psat_num); _mav_put_uint8_t(buf, 35, solv_hsat_num); _mav_put_uint8_t(buf, 36, vibe_coe); memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKINS_STATUS_LEN); #else mavlink_vkins_status_t packet; packet.time_boot_ms = time_boot_ms; packet.g0 = g0; packet.raw_latitude = raw_latitude; packet.raw_longitude = raw_longitude; packet.baro_alt = baro_alt; packet.raw_gps_alt = raw_gps_alt; packet.temperature = temperature; packet.nav_status = nav_status; packet.s_flag1 = s_flag1; packet.s_flag2 = s_flag2; packet.s_flag3 = s_flag3; packet.s_flag4 = s_flag4; packet.s_flag5 = s_flag5; packet.s_flag6 = s_flag6; packet.mag_calib_stage = mag_calib_stage; packet.solv_psat_num = solv_psat_num; packet.solv_hsat_num = solv_hsat_num; packet.vibe_coe = vibe_coe; memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKINS_STATUS_LEN); #endif msg->msgid = MAVLINK_MSG_ID_VKINS_STATUS; return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); } /** * @brief Encode a vkins_status struct * * @param system_id ID of this system * @param component_id ID of this component (e.g. 200 for IMU) * @param msg The MAVLink message to compress the data into * @param vkins_status C-struct to read the message contents from */ static inline uint16_t mavlink_msg_vkins_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vkins_status_t* vkins_status) { return mavlink_msg_vkins_status_pack(system_id, component_id, msg, vkins_status->time_boot_ms, vkins_status->nav_status, vkins_status->s_flag1, vkins_status->s_flag2, vkins_status->s_flag3, vkins_status->s_flag4, vkins_status->s_flag5, vkins_status->s_flag6, vkins_status->mag_calib_stage, vkins_status->g0, vkins_status->raw_latitude, vkins_status->raw_longitude, vkins_status->baro_alt, vkins_status->raw_gps_alt, vkins_status->solv_psat_num, vkins_status->solv_hsat_num, vkins_status->temperature, vkins_status->vibe_coe); } /** * @brief Encode a vkins_status struct on a channel * * @param system_id ID of this system * @param component_id ID of this component (e.g. 200 for IMU) * @param chan The MAVLink channel this message will be sent over * @param msg The MAVLink message to compress the data into * @param vkins_status C-struct to read the message contents from */ static inline uint16_t mavlink_msg_vkins_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vkins_status_t* vkins_status) { return mavlink_msg_vkins_status_pack_chan(system_id, component_id, chan, msg, vkins_status->time_boot_ms, vkins_status->nav_status, vkins_status->s_flag1, vkins_status->s_flag2, vkins_status->s_flag3, vkins_status->s_flag4, vkins_status->s_flag5, vkins_status->s_flag6, vkins_status->mag_calib_stage, vkins_status->g0, vkins_status->raw_latitude, vkins_status->raw_longitude, vkins_status->baro_alt, vkins_status->raw_gps_alt, vkins_status->solv_psat_num, vkins_status->solv_hsat_num, vkins_status->temperature, vkins_status->vibe_coe); } /** * @brief Encode a vkins_status struct with provided status structure * * @param system_id ID of this system * @param component_id ID of this component (e.g. 200 for IMU) * @param status MAVLink status structure * @param msg The MAVLink message to compress the data into * @param vkins_status C-struct to read the message contents from */ static inline uint16_t mavlink_msg_vkins_status_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vkins_status_t* vkins_status) { return mavlink_msg_vkins_status_pack_status(system_id, component_id, _status, msg, vkins_status->time_boot_ms, vkins_status->nav_status, vkins_status->s_flag1, vkins_status->s_flag2, vkins_status->s_flag3, vkins_status->s_flag4, vkins_status->s_flag5, vkins_status->s_flag6, vkins_status->mag_calib_stage, vkins_status->g0, vkins_status->raw_latitude, vkins_status->raw_longitude, vkins_status->baro_alt, vkins_status->raw_gps_alt, vkins_status->solv_psat_num, vkins_status->solv_hsat_num, vkins_status->temperature, vkins_status->vibe_coe); } /** * @brief Send a vkins_status message * @param chan MAVLink channel to send the message * * @param time_boot_ms [ms] Timestamp in ms from system boot. * @param nav_status VKINS navigation status flag. * @param s_flag1 vinks flag1 * @param s_flag2 vinks flag2. * @param s_flag3 vinks flag3. * @param s_flag4 vinks flag4. * @param s_flag5 vinks flag5. * @param s_flag6 vinks flag6. * @param mag_calib_stage vkins mag calib stage. * @param g0 [m/s/s] vkins initial calibrated gravitation acceleration. * @param raw_latitude [degE7] raw longitude for data fusion * @param raw_longitude [degE7] raw latitidue for data fusion * @param baro_alt [m] raw baromoter altitude for data fusion * @param raw_gps_alt [m] gps amsl altitude for data fusion * @param solv_psat_num satelites number for position * @param solv_hsat_num satelites number for heading * @param temperature [cdegC] temperature * @param vibe_coe */ #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS static inline void mavlink_msg_vkins_status_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint8_t nav_status, uint8_t s_flag1, uint8_t s_flag2, uint8_t s_flag3, uint8_t s_flag4, uint8_t s_flag5, uint8_t s_flag6, uint8_t mag_calib_stage, float g0, int32_t raw_latitude, int32_t raw_longitude, float baro_alt, float raw_gps_alt, uint8_t solv_psat_num, uint8_t solv_hsat_num, int16_t temperature, uint8_t vibe_coe) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS char buf[MAVLINK_MSG_ID_VKINS_STATUS_LEN]; _mav_put_uint32_t(buf, 0, time_boot_ms); _mav_put_float(buf, 4, g0); _mav_put_int32_t(buf, 8, raw_latitude); _mav_put_int32_t(buf, 12, raw_longitude); _mav_put_float(buf, 16, baro_alt); _mav_put_float(buf, 20, raw_gps_alt); _mav_put_int16_t(buf, 24, temperature); _mav_put_uint8_t(buf, 26, nav_status); _mav_put_uint8_t(buf, 27, s_flag1); _mav_put_uint8_t(buf, 28, s_flag2); _mav_put_uint8_t(buf, 29, s_flag3); _mav_put_uint8_t(buf, 30, s_flag4); _mav_put_uint8_t(buf, 31, s_flag5); _mav_put_uint8_t(buf, 32, s_flag6); _mav_put_uint8_t(buf, 33, mag_calib_stage); _mav_put_uint8_t(buf, 34, solv_psat_num); _mav_put_uint8_t(buf, 35, solv_hsat_num); _mav_put_uint8_t(buf, 36, vibe_coe); _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKINS_STATUS, buf, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); #else mavlink_vkins_status_t packet; packet.time_boot_ms = time_boot_ms; packet.g0 = g0; packet.raw_latitude = raw_latitude; packet.raw_longitude = raw_longitude; packet.baro_alt = baro_alt; packet.raw_gps_alt = raw_gps_alt; packet.temperature = temperature; packet.nav_status = nav_status; packet.s_flag1 = s_flag1; packet.s_flag2 = s_flag2; packet.s_flag3 = s_flag3; packet.s_flag4 = s_flag4; packet.s_flag5 = s_flag5; packet.s_flag6 = s_flag6; packet.mag_calib_stage = mag_calib_stage; packet.solv_psat_num = solv_psat_num; packet.solv_hsat_num = solv_hsat_num; packet.vibe_coe = vibe_coe; _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKINS_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); #endif } /** * @brief Send a vkins_status message * @param chan MAVLink channel to send the message * @param struct The MAVLink struct to serialize */ static inline void mavlink_msg_vkins_status_send_struct(mavlink_channel_t chan, const mavlink_vkins_status_t* vkins_status) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS mavlink_msg_vkins_status_send(chan, vkins_status->time_boot_ms, vkins_status->nav_status, vkins_status->s_flag1, vkins_status->s_flag2, vkins_status->s_flag3, vkins_status->s_flag4, vkins_status->s_flag5, vkins_status->s_flag6, vkins_status->mag_calib_stage, vkins_status->g0, vkins_status->raw_latitude, vkins_status->raw_longitude, vkins_status->baro_alt, vkins_status->raw_gps_alt, vkins_status->solv_psat_num, vkins_status->solv_hsat_num, vkins_status->temperature, vkins_status->vibe_coe); #else _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKINS_STATUS, (const char *)vkins_status, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); #endif } #if MAVLINK_MSG_ID_VKINS_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN /* This variant of _send() can be used to save stack space by re-using memory from the receive buffer. The caller provides a mavlink_message_t which is the size of a full mavlink message. This is usually the receive buffer for the channel, and allows a reply to an incoming message with minimum stack space usage. */ static inline void mavlink_msg_vkins_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint32_t time_boot_ms, uint8_t nav_status, uint8_t s_flag1, uint8_t s_flag2, uint8_t s_flag3, uint8_t s_flag4, uint8_t s_flag5, uint8_t s_flag6, uint8_t mag_calib_stage, float g0, int32_t raw_latitude, int32_t raw_longitude, float baro_alt, float raw_gps_alt, uint8_t solv_psat_num, uint8_t solv_hsat_num, int16_t temperature, uint8_t vibe_coe) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS char *buf = (char *)msgbuf; _mav_put_uint32_t(buf, 0, time_boot_ms); _mav_put_float(buf, 4, g0); _mav_put_int32_t(buf, 8, raw_latitude); _mav_put_int32_t(buf, 12, raw_longitude); _mav_put_float(buf, 16, baro_alt); _mav_put_float(buf, 20, raw_gps_alt); _mav_put_int16_t(buf, 24, temperature); _mav_put_uint8_t(buf, 26, nav_status); _mav_put_uint8_t(buf, 27, s_flag1); _mav_put_uint8_t(buf, 28, s_flag2); _mav_put_uint8_t(buf, 29, s_flag3); _mav_put_uint8_t(buf, 30, s_flag4); _mav_put_uint8_t(buf, 31, s_flag5); _mav_put_uint8_t(buf, 32, s_flag6); _mav_put_uint8_t(buf, 33, mag_calib_stage); _mav_put_uint8_t(buf, 34, solv_psat_num); _mav_put_uint8_t(buf, 35, solv_hsat_num); _mav_put_uint8_t(buf, 36, vibe_coe); _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKINS_STATUS, buf, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); #else mavlink_vkins_status_t *packet = (mavlink_vkins_status_t *)msgbuf; packet->time_boot_ms = time_boot_ms; packet->g0 = g0; packet->raw_latitude = raw_latitude; packet->raw_longitude = raw_longitude; packet->baro_alt = baro_alt; packet->raw_gps_alt = raw_gps_alt; packet->temperature = temperature; packet->nav_status = nav_status; packet->s_flag1 = s_flag1; packet->s_flag2 = s_flag2; packet->s_flag3 = s_flag3; packet->s_flag4 = s_flag4; packet->s_flag5 = s_flag5; packet->s_flag6 = s_flag6; packet->mag_calib_stage = mag_calib_stage; packet->solv_psat_num = solv_psat_num; packet->solv_hsat_num = solv_hsat_num; packet->vibe_coe = vibe_coe; _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKINS_STATUS, (const char *)packet, MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKINS_STATUS_LEN, MAVLINK_MSG_ID_VKINS_STATUS_CRC); #endif } #endif #endif // MESSAGE VKINS_STATUS UNPACKING /** * @brief Get field time_boot_ms from vkins_status message * * @return [ms] Timestamp in ms from system boot. */ static inline uint32_t mavlink_msg_vkins_status_get_time_boot_ms(const mavlink_message_t* msg) { return _MAV_RETURN_uint32_t(msg, 0); } /** * @brief Get field nav_status from vkins_status message * * @return VKINS navigation status flag. */ static inline uint8_t mavlink_msg_vkins_status_get_nav_status(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 26); } /** * @brief Get field s_flag1 from vkins_status message * * @return vinks flag1 */ static inline uint8_t mavlink_msg_vkins_status_get_s_flag1(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 27); } /** * @brief Get field s_flag2 from vkins_status message * * @return vinks flag2. */ static inline uint8_t mavlink_msg_vkins_status_get_s_flag2(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 28); } /** * @brief Get field s_flag3 from vkins_status message * * @return vinks flag3. */ static inline uint8_t mavlink_msg_vkins_status_get_s_flag3(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 29); } /** * @brief Get field s_flag4 from vkins_status message * * @return vinks flag4. */ static inline uint8_t mavlink_msg_vkins_status_get_s_flag4(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 30); } /** * @brief Get field s_flag5 from vkins_status message * * @return vinks flag5. */ static inline uint8_t mavlink_msg_vkins_status_get_s_flag5(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 31); } /** * @brief Get field s_flag6 from vkins_status message * * @return vinks flag6. */ static inline uint8_t mavlink_msg_vkins_status_get_s_flag6(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 32); } /** * @brief Get field mag_calib_stage from vkins_status message * * @return vkins mag calib stage. */ static inline uint8_t mavlink_msg_vkins_status_get_mag_calib_stage(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 33); } /** * @brief Get field g0 from vkins_status message * * @return [m/s/s] vkins initial calibrated gravitation acceleration. */ static inline float mavlink_msg_vkins_status_get_g0(const mavlink_message_t* msg) { return _MAV_RETURN_float(msg, 4); } /** * @brief Get field raw_latitude from vkins_status message * * @return [degE7] raw longitude for data fusion */ static inline int32_t mavlink_msg_vkins_status_get_raw_latitude(const mavlink_message_t* msg) { return _MAV_RETURN_int32_t(msg, 8); } /** * @brief Get field raw_longitude from vkins_status message * * @return [degE7] raw latitidue for data fusion */ static inline int32_t mavlink_msg_vkins_status_get_raw_longitude(const mavlink_message_t* msg) { return _MAV_RETURN_int32_t(msg, 12); } /** * @brief Get field baro_alt from vkins_status message * * @return [m] raw baromoter altitude for data fusion */ static inline float mavlink_msg_vkins_status_get_baro_alt(const mavlink_message_t* msg) { return _MAV_RETURN_float(msg, 16); } /** * @brief Get field raw_gps_alt from vkins_status message * * @return [m] gps amsl altitude for data fusion */ static inline float mavlink_msg_vkins_status_get_raw_gps_alt(const mavlink_message_t* msg) { return _MAV_RETURN_float(msg, 20); } /** * @brief Get field solv_psat_num from vkins_status message * * @return satelites number for position */ static inline uint8_t mavlink_msg_vkins_status_get_solv_psat_num(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 34); } /** * @brief Get field solv_hsat_num from vkins_status message * * @return satelites number for heading */ static inline uint8_t mavlink_msg_vkins_status_get_solv_hsat_num(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 35); } /** * @brief Get field temperature from vkins_status message * * @return [cdegC] temperature */ static inline int16_t mavlink_msg_vkins_status_get_temperature(const mavlink_message_t* msg) { return _MAV_RETURN_int16_t(msg, 24); } /** * @brief Get field vibe_coe from vkins_status message * * @return */ static inline uint8_t mavlink_msg_vkins_status_get_vibe_coe(const mavlink_message_t* msg) { return _MAV_RETURN_uint8_t(msg, 36); } /** * @brief Decode a vkins_status message into a struct * * @param msg The message to decode * @param vkins_status C-struct to decode the message contents into */ static inline void mavlink_msg_vkins_status_decode(const mavlink_message_t* msg, mavlink_vkins_status_t* vkins_status) { #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS vkins_status->time_boot_ms = mavlink_msg_vkins_status_get_time_boot_ms(msg); vkins_status->g0 = mavlink_msg_vkins_status_get_g0(msg); vkins_status->raw_latitude = mavlink_msg_vkins_status_get_raw_latitude(msg); vkins_status->raw_longitude = mavlink_msg_vkins_status_get_raw_longitude(msg); vkins_status->baro_alt = mavlink_msg_vkins_status_get_baro_alt(msg); vkins_status->raw_gps_alt = mavlink_msg_vkins_status_get_raw_gps_alt(msg); vkins_status->temperature = mavlink_msg_vkins_status_get_temperature(msg); vkins_status->nav_status = mavlink_msg_vkins_status_get_nav_status(msg); vkins_status->s_flag1 = mavlink_msg_vkins_status_get_s_flag1(msg); vkins_status->s_flag2 = mavlink_msg_vkins_status_get_s_flag2(msg); vkins_status->s_flag3 = mavlink_msg_vkins_status_get_s_flag3(msg); vkins_status->s_flag4 = mavlink_msg_vkins_status_get_s_flag4(msg); vkins_status->s_flag5 = mavlink_msg_vkins_status_get_s_flag5(msg); vkins_status->s_flag6 = mavlink_msg_vkins_status_get_s_flag6(msg); vkins_status->mag_calib_stage = mavlink_msg_vkins_status_get_mag_calib_stage(msg); vkins_status->solv_psat_num = mavlink_msg_vkins_status_get_solv_psat_num(msg); vkins_status->solv_hsat_num = mavlink_msg_vkins_status_get_solv_hsat_num(msg); vkins_status->vibe_coe = mavlink_msg_vkins_status_get_vibe_coe(msg); #else uint8_t len = msg->len < MAVLINK_MSG_ID_VKINS_STATUS_LEN? msg->len : MAVLINK_MSG_ID_VKINS_STATUS_LEN; memset(vkins_status, 0, MAVLINK_MSG_ID_VKINS_STATUS_LEN); memcpy(vkins_status, _MAV_PAYLOAD(msg), len); #endif }