static void print_one_field(mavlink_message_t *msg, const mavlink_field_info_t *f, int idx) { #define PRINT_FORMAT(f, def) (f->print_format?f->print_format:def) switch (f->type) { case MAVLINK_TYPE_CHAR: printf(PRINT_FORMAT(f, "%c"), _MAV_RETURN_char(msg, f->wire_offset+idx*1)); break; case MAVLINK_TYPE_UINT8_T: printf(PRINT_FORMAT(f, "%u"), _MAV_RETURN_uint8_t(msg, f->wire_offset+idx*1)); break; case MAVLINK_TYPE_INT8_T: printf(PRINT_FORMAT(f, "%d"), _MAV_RETURN_int8_t(msg, f->wire_offset+idx*1)); break; case MAVLINK_TYPE_UINT16_T: printf(PRINT_FORMAT(f, "%u"), _MAV_RETURN_uint16_t(msg, f->wire_offset+idx*2)); break; case MAVLINK_TYPE_INT16_T: printf(PRINT_FORMAT(f, "%d"), _MAV_RETURN_int16_t(msg, f->wire_offset+idx*2)); break; case MAVLINK_TYPE_UINT32_T: printf(PRINT_FORMAT(f, "%lu"), (unsigned long)_MAV_RETURN_uint32_t(msg, f->wire_offset+idx*4)); break; case MAVLINK_TYPE_INT32_T: printf(PRINT_FORMAT(f, "%ld"), (long)_MAV_RETURN_int32_t(msg, f->wire_offset+idx*4)); break; case MAVLINK_TYPE_UINT64_T: printf(PRINT_FORMAT(f, "%llu"), (unsigned long long)_MAV_RETURN_uint64_t(msg, f->wire_offset+idx*8)); break; case MAVLINK_TYPE_INT64_T: printf(PRINT_FORMAT(f, "%lld"), (long long)_MAV_RETURN_int64_t(msg, f->wire_offset+idx*8)); break; case MAVLINK_TYPE_FLOAT: printf(PRINT_FORMAT(f, "%f"), (double)_MAV_RETURN_float(msg, f->wire_offset+idx*4)); break; case MAVLINK_TYPE_DOUBLE: printf(PRINT_FORMAT(f, "%f"), _MAV_RETURN_double(msg, f->wire_offset+idx*8)); break; } }
/** * @brief Get field errors_count4 from sys_status message * * @return Autopilot-specific errors */ uint16_t mavlink_msg_sys_status_get_errors_count4(const mavlink_message_t* msg) { return _MAV_RETURN_uint16_t(msg, 28); }
/** * @brief Get field seq from mission_request message * * @return Sequence */ uint16_t mavlink_msg_mission_request_get_seq(const mavlink_message_t* msg) { return _MAV_RETURN_uint16_t(msg, 0); }
/** * @brief Get field drop_rate_comm from sys_status message * * @return Communication drops in percent, (0%: 0, 100%: 10'000), (UART, I2C, SPI, CAN), dropped packets on all links (packets that were corrupted on reception on the MAV) */ uint16_t mavlink_msg_sys_status_get_drop_rate_comm(const mavlink_message_t* msg) { return _MAV_RETURN_uint16_t(msg, 18); }
/** * @brief Get field voltage_battery from sys_status message * * @return Battery voltage, in millivolts (1 = 1 millivolt) */ uint16_t mavlink_msg_sys_status_get_voltage_battery(const mavlink_message_t* msg) { return _MAV_RETURN_uint16_t(msg, 14); }
/** * @brief Get field load from sys_status message * * @return Maximum usage in percent of the mainloop time, (0%: 0, 100%: 1000) should be always below 1000 */ uint16_t mavlink_msg_sys_status_get_load(const mavlink_message_t* msg) { return _MAV_RETURN_uint16_t(msg, 12); }
/** * @brief Get field throttle from vfr_hud message * * @return Current throttle setting in integer percent, 0 to 100 */ uint16_t _get_throttle(const mavlink_message_t* msg) { return _MAV_RETURN_uint16_t(msg, 18); }
/* additional helper functions */ unsigned int mavlink_msg_rc_channels_raw_get_chan(mavlink_message_t *msg, unsigned char ch) { return _MAV_RETURN_uint16_t(msg, 4 + ch*2); }