| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876 |
- #pragma once
- // MESSAGE SHANGFEI_BMS PACKING
- #define MAVLINK_MSG_ID_SHANGFEI_BMS 53310
- typedef struct __mavlink_shangfei_bms_t {
- uint32_t time_boot_ms; /*< [ms] Timestamp in ms from system boot.*/
- uint16_t bat_voltage; /*< [dV] Battery voltage.*/
- int16_t bat_current; /*< [dA] Battery current.*/
- uint16_t cell_max_volt; /*< [mV] Cell max voltage.*/
- uint16_t cell_min_volt; /*< [mV] Cell min voltage.*/
- uint16_t dc28_volt; /*< [dV] High volt-box voltage.*/
- uint16_t hvb_voltage; /*< [dV] High volt-box voltage.*/
- int8_t bat_maxtemp; /*< Battery Max_temperature.*/
- int8_t bat_mintemp; /*< Battery Min_temperature.*/
- uint8_t contactor_sta; /*< Contactor status.*/
- uint8_t soh_value; /*< [%] Battery SOH value.*/
- uint8_t max_volt_id; /*< Cell max voltage id.*/
- uint8_t min_volt_id; /*< Cell min voltage id.*/
- int8_t max_temp_id; /*< Cell max temperature id.*/
- int8_t min_temp_id; /*< Cell min temperature id.*/
- uint8_t fault_level; /*< Fault level.*/
- uint8_t irt_status; /*< Insulation Resistance Tester status.*/
- uint8_t cap_percent; /*< [%] Battery capacity.*/
- uint8_t bat_id; /*< Battery id.*/
- uint8_t err_code; /*< Error code.*/
- uint8_t dc28_current; /*< [A] High volt-box current.*/
- int8_t hvb_temp; /*< High volt-box temperature.*/
- uint8_t hvb_status; /*< High volt-box status.*/
- } mavlink_shangfei_bms_t;
- #define MAVLINK_MSG_ID_SHANGFEI_BMS_LEN 32
- #define MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN 32
- #define MAVLINK_MSG_ID_53310_LEN 32
- #define MAVLINK_MSG_ID_53310_MIN_LEN 32
- #define MAVLINK_MSG_ID_SHANGFEI_BMS_CRC 203
- #define MAVLINK_MSG_ID_53310_CRC 203
- #if MAVLINK_COMMAND_24BIT
- #define MAVLINK_MESSAGE_INFO_SHANGFEI_BMS { \
- 53310, \
- "SHANGFEI_BMS", \
- 23, \
- { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_shangfei_bms_t, time_boot_ms) }, \
- { "bat_voltage", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_shangfei_bms_t, bat_voltage) }, \
- { "bat_current", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_shangfei_bms_t, bat_current) }, \
- { "cell_max_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_shangfei_bms_t, cell_max_volt) }, \
- { "cell_min_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_shangfei_bms_t, cell_min_volt) }, \
- { "bat_maxtemp", NULL, MAVLINK_TYPE_INT8_T, 0, 16, offsetof(mavlink_shangfei_bms_t, bat_maxtemp) }, \
- { "bat_mintemp", NULL, MAVLINK_TYPE_INT8_T, 0, 17, offsetof(mavlink_shangfei_bms_t, bat_mintemp) }, \
- { "contactor_sta", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_shangfei_bms_t, contactor_sta) }, \
- { "soh_value", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_shangfei_bms_t, soh_value) }, \
- { "max_volt_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_shangfei_bms_t, max_volt_id) }, \
- { "min_volt_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_shangfei_bms_t, min_volt_id) }, \
- { "max_temp_id", NULL, MAVLINK_TYPE_INT8_T, 0, 22, offsetof(mavlink_shangfei_bms_t, max_temp_id) }, \
- { "min_temp_id", NULL, MAVLINK_TYPE_INT8_T, 0, 23, offsetof(mavlink_shangfei_bms_t, min_temp_id) }, \
- { "fault_level", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_shangfei_bms_t, fault_level) }, \
- { "irt_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 25, offsetof(mavlink_shangfei_bms_t, irt_status) }, \
- { "cap_percent", NULL, MAVLINK_TYPE_UINT8_T, 0, 26, offsetof(mavlink_shangfei_bms_t, cap_percent) }, \
- { "bat_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 27, offsetof(mavlink_shangfei_bms_t, bat_id) }, \
- { "err_code", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_shangfei_bms_t, err_code) }, \
- { "dc28_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_shangfei_bms_t, dc28_volt) }, \
- { "dc28_current", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_shangfei_bms_t, dc28_current) }, \
- { "hvb_voltage", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_shangfei_bms_t, hvb_voltage) }, \
- { "hvb_temp", NULL, MAVLINK_TYPE_INT8_T, 0, 30, offsetof(mavlink_shangfei_bms_t, hvb_temp) }, \
- { "hvb_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 31, offsetof(mavlink_shangfei_bms_t, hvb_status) }, \
- } \
- }
- #else
- #define MAVLINK_MESSAGE_INFO_SHANGFEI_BMS { \
- "SHANGFEI_BMS", \
- 23, \
- { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_shangfei_bms_t, time_boot_ms) }, \
- { "bat_voltage", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_shangfei_bms_t, bat_voltage) }, \
- { "bat_current", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_shangfei_bms_t, bat_current) }, \
- { "cell_max_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_shangfei_bms_t, cell_max_volt) }, \
- { "cell_min_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_shangfei_bms_t, cell_min_volt) }, \
- { "bat_maxtemp", NULL, MAVLINK_TYPE_INT8_T, 0, 16, offsetof(mavlink_shangfei_bms_t, bat_maxtemp) }, \
- { "bat_mintemp", NULL, MAVLINK_TYPE_INT8_T, 0, 17, offsetof(mavlink_shangfei_bms_t, bat_mintemp) }, \
- { "contactor_sta", NULL, MAVLINK_TYPE_UINT8_T, 0, 18, offsetof(mavlink_shangfei_bms_t, contactor_sta) }, \
- { "soh_value", NULL, MAVLINK_TYPE_UINT8_T, 0, 19, offsetof(mavlink_shangfei_bms_t, soh_value) }, \
- { "max_volt_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_shangfei_bms_t, max_volt_id) }, \
- { "min_volt_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_shangfei_bms_t, min_volt_id) }, \
- { "max_temp_id", NULL, MAVLINK_TYPE_INT8_T, 0, 22, offsetof(mavlink_shangfei_bms_t, max_temp_id) }, \
- { "min_temp_id", NULL, MAVLINK_TYPE_INT8_T, 0, 23, offsetof(mavlink_shangfei_bms_t, min_temp_id) }, \
- { "fault_level", NULL, MAVLINK_TYPE_UINT8_T, 0, 24, offsetof(mavlink_shangfei_bms_t, fault_level) }, \
- { "irt_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 25, offsetof(mavlink_shangfei_bms_t, irt_status) }, \
- { "cap_percent", NULL, MAVLINK_TYPE_UINT8_T, 0, 26, offsetof(mavlink_shangfei_bms_t, cap_percent) }, \
- { "bat_id", NULL, MAVLINK_TYPE_UINT8_T, 0, 27, offsetof(mavlink_shangfei_bms_t, bat_id) }, \
- { "err_code", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_shangfei_bms_t, err_code) }, \
- { "dc28_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_shangfei_bms_t, dc28_volt) }, \
- { "dc28_current", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_shangfei_bms_t, dc28_current) }, \
- { "hvb_voltage", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_shangfei_bms_t, hvb_voltage) }, \
- { "hvb_temp", NULL, MAVLINK_TYPE_INT8_T, 0, 30, offsetof(mavlink_shangfei_bms_t, hvb_temp) }, \
- { "hvb_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 31, offsetof(mavlink_shangfei_bms_t, hvb_status) }, \
- } \
- }
- #endif
- /**
- * @brief Pack a shangfei_bms 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 bat_voltage [dV] Battery voltage.
- * @param bat_current [dA] Battery current.
- * @param cell_max_volt [mV] Cell max voltage.
- * @param cell_min_volt [mV] Cell min voltage.
- * @param bat_maxtemp Battery Max_temperature.
- * @param bat_mintemp Battery Min_temperature.
- * @param contactor_sta Contactor status.
- * @param soh_value [%] Battery SOH value.
- * @param max_volt_id Cell max voltage id.
- * @param min_volt_id Cell min voltage id.
- * @param max_temp_id Cell max temperature id.
- * @param min_temp_id Cell min temperature id.
- * @param fault_level Fault level.
- * @param irt_status Insulation Resistance Tester status.
- * @param cap_percent [%] Battery capacity.
- * @param bat_id Battery id.
- * @param err_code Error code.
- * @param dc28_volt [dV] High volt-box voltage.
- * @param dc28_current [A] High volt-box current.
- * @param hvb_voltage [dV] High volt-box voltage.
- * @param hvb_temp High volt-box temperature.
- * @param hvb_status High volt-box status.
- * @return length of the message in bytes (excluding serial stream start sign)
- */
- static inline uint16_t mavlink_msg_shangfei_bms_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
- uint32_t time_boot_ms, uint16_t bat_voltage, int16_t bat_current, uint16_t cell_max_volt, uint16_t cell_min_volt, int8_t bat_maxtemp, int8_t bat_mintemp, uint8_t contactor_sta, uint8_t soh_value, uint8_t max_volt_id, uint8_t min_volt_id, int8_t max_temp_id, int8_t min_temp_id, uint8_t fault_level, uint8_t irt_status, uint8_t cap_percent, uint8_t bat_id, uint8_t err_code, uint16_t dc28_volt, uint8_t dc28_current, uint16_t hvb_voltage, int8_t hvb_temp, uint8_t hvb_status)
- {
- #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
- char buf[MAVLINK_MSG_ID_SHANGFEI_BMS_LEN];
- _mav_put_uint32_t(buf, 0, time_boot_ms);
- _mav_put_uint16_t(buf, 4, bat_voltage);
- _mav_put_int16_t(buf, 6, bat_current);
- _mav_put_uint16_t(buf, 8, cell_max_volt);
- _mav_put_uint16_t(buf, 10, cell_min_volt);
- _mav_put_uint16_t(buf, 12, dc28_volt);
- _mav_put_uint16_t(buf, 14, hvb_voltage);
- _mav_put_int8_t(buf, 16, bat_maxtemp);
- _mav_put_int8_t(buf, 17, bat_mintemp);
- _mav_put_uint8_t(buf, 18, contactor_sta);
- _mav_put_uint8_t(buf, 19, soh_value);
- _mav_put_uint8_t(buf, 20, max_volt_id);
- _mav_put_uint8_t(buf, 21, min_volt_id);
- _mav_put_int8_t(buf, 22, max_temp_id);
- _mav_put_int8_t(buf, 23, min_temp_id);
- _mav_put_uint8_t(buf, 24, fault_level);
- _mav_put_uint8_t(buf, 25, irt_status);
- _mav_put_uint8_t(buf, 26, cap_percent);
- _mav_put_uint8_t(buf, 27, bat_id);
- _mav_put_uint8_t(buf, 28, err_code);
- _mav_put_uint8_t(buf, 29, dc28_current);
- _mav_put_int8_t(buf, 30, hvb_temp);
- _mav_put_uint8_t(buf, 31, hvb_status);
- memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- #else
- mavlink_shangfei_bms_t packet;
- packet.time_boot_ms = time_boot_ms;
- packet.bat_voltage = bat_voltage;
- packet.bat_current = bat_current;
- packet.cell_max_volt = cell_max_volt;
- packet.cell_min_volt = cell_min_volt;
- packet.dc28_volt = dc28_volt;
- packet.hvb_voltage = hvb_voltage;
- packet.bat_maxtemp = bat_maxtemp;
- packet.bat_mintemp = bat_mintemp;
- packet.contactor_sta = contactor_sta;
- packet.soh_value = soh_value;
- packet.max_volt_id = max_volt_id;
- packet.min_volt_id = min_volt_id;
- packet.max_temp_id = max_temp_id;
- packet.min_temp_id = min_temp_id;
- packet.fault_level = fault_level;
- packet.irt_status = irt_status;
- packet.cap_percent = cap_percent;
- packet.bat_id = bat_id;
- packet.err_code = err_code;
- packet.dc28_current = dc28_current;
- packet.hvb_temp = hvb_temp;
- packet.hvb_status = hvb_status;
- memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- #endif
- msg->msgid = MAVLINK_MSG_ID_SHANGFEI_BMS;
- return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- }
- /**
- * @brief Pack a shangfei_bms 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 bat_voltage [dV] Battery voltage.
- * @param bat_current [dA] Battery current.
- * @param cell_max_volt [mV] Cell max voltage.
- * @param cell_min_volt [mV] Cell min voltage.
- * @param bat_maxtemp Battery Max_temperature.
- * @param bat_mintemp Battery Min_temperature.
- * @param contactor_sta Contactor status.
- * @param soh_value [%] Battery SOH value.
- * @param max_volt_id Cell max voltage id.
- * @param min_volt_id Cell min voltage id.
- * @param max_temp_id Cell max temperature id.
- * @param min_temp_id Cell min temperature id.
- * @param fault_level Fault level.
- * @param irt_status Insulation Resistance Tester status.
- * @param cap_percent [%] Battery capacity.
- * @param bat_id Battery id.
- * @param err_code Error code.
- * @param dc28_volt [dV] High volt-box voltage.
- * @param dc28_current [A] High volt-box current.
- * @param hvb_voltage [dV] High volt-box voltage.
- * @param hvb_temp High volt-box temperature.
- * @param hvb_status High volt-box status.
- * @return length of the message in bytes (excluding serial stream start sign)
- */
- static inline uint16_t mavlink_msg_shangfei_bms_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
- uint32_t time_boot_ms, uint16_t bat_voltage, int16_t bat_current, uint16_t cell_max_volt, uint16_t cell_min_volt, int8_t bat_maxtemp, int8_t bat_mintemp, uint8_t contactor_sta, uint8_t soh_value, uint8_t max_volt_id, uint8_t min_volt_id, int8_t max_temp_id, int8_t min_temp_id, uint8_t fault_level, uint8_t irt_status, uint8_t cap_percent, uint8_t bat_id, uint8_t err_code, uint16_t dc28_volt, uint8_t dc28_current, uint16_t hvb_voltage, int8_t hvb_temp, uint8_t hvb_status)
- {
- #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
- char buf[MAVLINK_MSG_ID_SHANGFEI_BMS_LEN];
- _mav_put_uint32_t(buf, 0, time_boot_ms);
- _mav_put_uint16_t(buf, 4, bat_voltage);
- _mav_put_int16_t(buf, 6, bat_current);
- _mav_put_uint16_t(buf, 8, cell_max_volt);
- _mav_put_uint16_t(buf, 10, cell_min_volt);
- _mav_put_uint16_t(buf, 12, dc28_volt);
- _mav_put_uint16_t(buf, 14, hvb_voltage);
- _mav_put_int8_t(buf, 16, bat_maxtemp);
- _mav_put_int8_t(buf, 17, bat_mintemp);
- _mav_put_uint8_t(buf, 18, contactor_sta);
- _mav_put_uint8_t(buf, 19, soh_value);
- _mav_put_uint8_t(buf, 20, max_volt_id);
- _mav_put_uint8_t(buf, 21, min_volt_id);
- _mav_put_int8_t(buf, 22, max_temp_id);
- _mav_put_int8_t(buf, 23, min_temp_id);
- _mav_put_uint8_t(buf, 24, fault_level);
- _mav_put_uint8_t(buf, 25, irt_status);
- _mav_put_uint8_t(buf, 26, cap_percent);
- _mav_put_uint8_t(buf, 27, bat_id);
- _mav_put_uint8_t(buf, 28, err_code);
- _mav_put_uint8_t(buf, 29, dc28_current);
- _mav_put_int8_t(buf, 30, hvb_temp);
- _mav_put_uint8_t(buf, 31, hvb_status);
- memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- #else
- mavlink_shangfei_bms_t packet;
- packet.time_boot_ms = time_boot_ms;
- packet.bat_voltage = bat_voltage;
- packet.bat_current = bat_current;
- packet.cell_max_volt = cell_max_volt;
- packet.cell_min_volt = cell_min_volt;
- packet.dc28_volt = dc28_volt;
- packet.hvb_voltage = hvb_voltage;
- packet.bat_maxtemp = bat_maxtemp;
- packet.bat_mintemp = bat_mintemp;
- packet.contactor_sta = contactor_sta;
- packet.soh_value = soh_value;
- packet.max_volt_id = max_volt_id;
- packet.min_volt_id = min_volt_id;
- packet.max_temp_id = max_temp_id;
- packet.min_temp_id = min_temp_id;
- packet.fault_level = fault_level;
- packet.irt_status = irt_status;
- packet.cap_percent = cap_percent;
- packet.bat_id = bat_id;
- packet.err_code = err_code;
- packet.dc28_current = dc28_current;
- packet.hvb_temp = hvb_temp;
- packet.hvb_status = hvb_status;
- memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- #endif
- msg->msgid = MAVLINK_MSG_ID_SHANGFEI_BMS;
- #if MAVLINK_CRC_EXTRA
- return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- #else
- return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- #endif
- }
- /**
- * @brief Pack a shangfei_bms 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 bat_voltage [dV] Battery voltage.
- * @param bat_current [dA] Battery current.
- * @param cell_max_volt [mV] Cell max voltage.
- * @param cell_min_volt [mV] Cell min voltage.
- * @param bat_maxtemp Battery Max_temperature.
- * @param bat_mintemp Battery Min_temperature.
- * @param contactor_sta Contactor status.
- * @param soh_value [%] Battery SOH value.
- * @param max_volt_id Cell max voltage id.
- * @param min_volt_id Cell min voltage id.
- * @param max_temp_id Cell max temperature id.
- * @param min_temp_id Cell min temperature id.
- * @param fault_level Fault level.
- * @param irt_status Insulation Resistance Tester status.
- * @param cap_percent [%] Battery capacity.
- * @param bat_id Battery id.
- * @param err_code Error code.
- * @param dc28_volt [dV] High volt-box voltage.
- * @param dc28_current [A] High volt-box current.
- * @param hvb_voltage [dV] High volt-box voltage.
- * @param hvb_temp High volt-box temperature.
- * @param hvb_status High volt-box status.
- * @return length of the message in bytes (excluding serial stream start sign)
- */
- static inline uint16_t mavlink_msg_shangfei_bms_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
- mavlink_message_t* msg,
- uint32_t time_boot_ms,uint16_t bat_voltage,int16_t bat_current,uint16_t cell_max_volt,uint16_t cell_min_volt,int8_t bat_maxtemp,int8_t bat_mintemp,uint8_t contactor_sta,uint8_t soh_value,uint8_t max_volt_id,uint8_t min_volt_id,int8_t max_temp_id,int8_t min_temp_id,uint8_t fault_level,uint8_t irt_status,uint8_t cap_percent,uint8_t bat_id,uint8_t err_code,uint16_t dc28_volt,uint8_t dc28_current,uint16_t hvb_voltage,int8_t hvb_temp,uint8_t hvb_status)
- {
- #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
- char buf[MAVLINK_MSG_ID_SHANGFEI_BMS_LEN];
- _mav_put_uint32_t(buf, 0, time_boot_ms);
- _mav_put_uint16_t(buf, 4, bat_voltage);
- _mav_put_int16_t(buf, 6, bat_current);
- _mav_put_uint16_t(buf, 8, cell_max_volt);
- _mav_put_uint16_t(buf, 10, cell_min_volt);
- _mav_put_uint16_t(buf, 12, dc28_volt);
- _mav_put_uint16_t(buf, 14, hvb_voltage);
- _mav_put_int8_t(buf, 16, bat_maxtemp);
- _mav_put_int8_t(buf, 17, bat_mintemp);
- _mav_put_uint8_t(buf, 18, contactor_sta);
- _mav_put_uint8_t(buf, 19, soh_value);
- _mav_put_uint8_t(buf, 20, max_volt_id);
- _mav_put_uint8_t(buf, 21, min_volt_id);
- _mav_put_int8_t(buf, 22, max_temp_id);
- _mav_put_int8_t(buf, 23, min_temp_id);
- _mav_put_uint8_t(buf, 24, fault_level);
- _mav_put_uint8_t(buf, 25, irt_status);
- _mav_put_uint8_t(buf, 26, cap_percent);
- _mav_put_uint8_t(buf, 27, bat_id);
- _mav_put_uint8_t(buf, 28, err_code);
- _mav_put_uint8_t(buf, 29, dc28_current);
- _mav_put_int8_t(buf, 30, hvb_temp);
- _mav_put_uint8_t(buf, 31, hvb_status);
- memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- #else
- mavlink_shangfei_bms_t packet;
- packet.time_boot_ms = time_boot_ms;
- packet.bat_voltage = bat_voltage;
- packet.bat_current = bat_current;
- packet.cell_max_volt = cell_max_volt;
- packet.cell_min_volt = cell_min_volt;
- packet.dc28_volt = dc28_volt;
- packet.hvb_voltage = hvb_voltage;
- packet.bat_maxtemp = bat_maxtemp;
- packet.bat_mintemp = bat_mintemp;
- packet.contactor_sta = contactor_sta;
- packet.soh_value = soh_value;
- packet.max_volt_id = max_volt_id;
- packet.min_volt_id = min_volt_id;
- packet.max_temp_id = max_temp_id;
- packet.min_temp_id = min_temp_id;
- packet.fault_level = fault_level;
- packet.irt_status = irt_status;
- packet.cap_percent = cap_percent;
- packet.bat_id = bat_id;
- packet.err_code = err_code;
- packet.dc28_current = dc28_current;
- packet.hvb_temp = hvb_temp;
- packet.hvb_status = hvb_status;
- memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- #endif
- msg->msgid = MAVLINK_MSG_ID_SHANGFEI_BMS;
- return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- }
- /**
- * @brief Encode a shangfei_bms 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 shangfei_bms C-struct to read the message contents from
- */
- static inline uint16_t mavlink_msg_shangfei_bms_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_shangfei_bms_t* shangfei_bms)
- {
- return mavlink_msg_shangfei_bms_pack(system_id, component_id, msg, shangfei_bms->time_boot_ms, shangfei_bms->bat_voltage, shangfei_bms->bat_current, shangfei_bms->cell_max_volt, shangfei_bms->cell_min_volt, shangfei_bms->bat_maxtemp, shangfei_bms->bat_mintemp, shangfei_bms->contactor_sta, shangfei_bms->soh_value, shangfei_bms->max_volt_id, shangfei_bms->min_volt_id, shangfei_bms->max_temp_id, shangfei_bms->min_temp_id, shangfei_bms->fault_level, shangfei_bms->irt_status, shangfei_bms->cap_percent, shangfei_bms->bat_id, shangfei_bms->err_code, shangfei_bms->dc28_volt, shangfei_bms->dc28_current, shangfei_bms->hvb_voltage, shangfei_bms->hvb_temp, shangfei_bms->hvb_status);
- }
- /**
- * @brief Encode a shangfei_bms 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 shangfei_bms C-struct to read the message contents from
- */
- static inline uint16_t mavlink_msg_shangfei_bms_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_shangfei_bms_t* shangfei_bms)
- {
- return mavlink_msg_shangfei_bms_pack_chan(system_id, component_id, chan, msg, shangfei_bms->time_boot_ms, shangfei_bms->bat_voltage, shangfei_bms->bat_current, shangfei_bms->cell_max_volt, shangfei_bms->cell_min_volt, shangfei_bms->bat_maxtemp, shangfei_bms->bat_mintemp, shangfei_bms->contactor_sta, shangfei_bms->soh_value, shangfei_bms->max_volt_id, shangfei_bms->min_volt_id, shangfei_bms->max_temp_id, shangfei_bms->min_temp_id, shangfei_bms->fault_level, shangfei_bms->irt_status, shangfei_bms->cap_percent, shangfei_bms->bat_id, shangfei_bms->err_code, shangfei_bms->dc28_volt, shangfei_bms->dc28_current, shangfei_bms->hvb_voltage, shangfei_bms->hvb_temp, shangfei_bms->hvb_status);
- }
- /**
- * @brief Encode a shangfei_bms 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 shangfei_bms C-struct to read the message contents from
- */
- static inline uint16_t mavlink_msg_shangfei_bms_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_shangfei_bms_t* shangfei_bms)
- {
- return mavlink_msg_shangfei_bms_pack_status(system_id, component_id, _status, msg, shangfei_bms->time_boot_ms, shangfei_bms->bat_voltage, shangfei_bms->bat_current, shangfei_bms->cell_max_volt, shangfei_bms->cell_min_volt, shangfei_bms->bat_maxtemp, shangfei_bms->bat_mintemp, shangfei_bms->contactor_sta, shangfei_bms->soh_value, shangfei_bms->max_volt_id, shangfei_bms->min_volt_id, shangfei_bms->max_temp_id, shangfei_bms->min_temp_id, shangfei_bms->fault_level, shangfei_bms->irt_status, shangfei_bms->cap_percent, shangfei_bms->bat_id, shangfei_bms->err_code, shangfei_bms->dc28_volt, shangfei_bms->dc28_current, shangfei_bms->hvb_voltage, shangfei_bms->hvb_temp, shangfei_bms->hvb_status);
- }
- /**
- * @brief Send a shangfei_bms message
- * @param chan MAVLink channel to send the message
- *
- * @param time_boot_ms [ms] Timestamp in ms from system boot.
- * @param bat_voltage [dV] Battery voltage.
- * @param bat_current [dA] Battery current.
- * @param cell_max_volt [mV] Cell max voltage.
- * @param cell_min_volt [mV] Cell min voltage.
- * @param bat_maxtemp Battery Max_temperature.
- * @param bat_mintemp Battery Min_temperature.
- * @param contactor_sta Contactor status.
- * @param soh_value [%] Battery SOH value.
- * @param max_volt_id Cell max voltage id.
- * @param min_volt_id Cell min voltage id.
- * @param max_temp_id Cell max temperature id.
- * @param min_temp_id Cell min temperature id.
- * @param fault_level Fault level.
- * @param irt_status Insulation Resistance Tester status.
- * @param cap_percent [%] Battery capacity.
- * @param bat_id Battery id.
- * @param err_code Error code.
- * @param dc28_volt [dV] High volt-box voltage.
- * @param dc28_current [A] High volt-box current.
- * @param hvb_voltage [dV] High volt-box voltage.
- * @param hvb_temp High volt-box temperature.
- * @param hvb_status High volt-box status.
- */
- #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
- static inline void mavlink_msg_shangfei_bms_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint16_t bat_voltage, int16_t bat_current, uint16_t cell_max_volt, uint16_t cell_min_volt, int8_t bat_maxtemp, int8_t bat_mintemp, uint8_t contactor_sta, uint8_t soh_value, uint8_t max_volt_id, uint8_t min_volt_id, int8_t max_temp_id, int8_t min_temp_id, uint8_t fault_level, uint8_t irt_status, uint8_t cap_percent, uint8_t bat_id, uint8_t err_code, uint16_t dc28_volt, uint8_t dc28_current, uint16_t hvb_voltage, int8_t hvb_temp, uint8_t hvb_status)
- {
- #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
- char buf[MAVLINK_MSG_ID_SHANGFEI_BMS_LEN];
- _mav_put_uint32_t(buf, 0, time_boot_ms);
- _mav_put_uint16_t(buf, 4, bat_voltage);
- _mav_put_int16_t(buf, 6, bat_current);
- _mav_put_uint16_t(buf, 8, cell_max_volt);
- _mav_put_uint16_t(buf, 10, cell_min_volt);
- _mav_put_uint16_t(buf, 12, dc28_volt);
- _mav_put_uint16_t(buf, 14, hvb_voltage);
- _mav_put_int8_t(buf, 16, bat_maxtemp);
- _mav_put_int8_t(buf, 17, bat_mintemp);
- _mav_put_uint8_t(buf, 18, contactor_sta);
- _mav_put_uint8_t(buf, 19, soh_value);
- _mav_put_uint8_t(buf, 20, max_volt_id);
- _mav_put_uint8_t(buf, 21, min_volt_id);
- _mav_put_int8_t(buf, 22, max_temp_id);
- _mav_put_int8_t(buf, 23, min_temp_id);
- _mav_put_uint8_t(buf, 24, fault_level);
- _mav_put_uint8_t(buf, 25, irt_status);
- _mav_put_uint8_t(buf, 26, cap_percent);
- _mav_put_uint8_t(buf, 27, bat_id);
- _mav_put_uint8_t(buf, 28, err_code);
- _mav_put_uint8_t(buf, 29, dc28_current);
- _mav_put_int8_t(buf, 30, hvb_temp);
- _mav_put_uint8_t(buf, 31, hvb_status);
- _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SHANGFEI_BMS, buf, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- #else
- mavlink_shangfei_bms_t packet;
- packet.time_boot_ms = time_boot_ms;
- packet.bat_voltage = bat_voltage;
- packet.bat_current = bat_current;
- packet.cell_max_volt = cell_max_volt;
- packet.cell_min_volt = cell_min_volt;
- packet.dc28_volt = dc28_volt;
- packet.hvb_voltage = hvb_voltage;
- packet.bat_maxtemp = bat_maxtemp;
- packet.bat_mintemp = bat_mintemp;
- packet.contactor_sta = contactor_sta;
- packet.soh_value = soh_value;
- packet.max_volt_id = max_volt_id;
- packet.min_volt_id = min_volt_id;
- packet.max_temp_id = max_temp_id;
- packet.min_temp_id = min_temp_id;
- packet.fault_level = fault_level;
- packet.irt_status = irt_status;
- packet.cap_percent = cap_percent;
- packet.bat_id = bat_id;
- packet.err_code = err_code;
- packet.dc28_current = dc28_current;
- packet.hvb_temp = hvb_temp;
- packet.hvb_status = hvb_status;
- _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SHANGFEI_BMS, (const char *)&packet, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- #endif
- }
- /**
- * @brief Send a shangfei_bms message
- * @param chan MAVLink channel to send the message
- * @param struct The MAVLink struct to serialize
- */
- static inline void mavlink_msg_shangfei_bms_send_struct(mavlink_channel_t chan, const mavlink_shangfei_bms_t* shangfei_bms)
- {
- #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
- mavlink_msg_shangfei_bms_send(chan, shangfei_bms->time_boot_ms, shangfei_bms->bat_voltage, shangfei_bms->bat_current, shangfei_bms->cell_max_volt, shangfei_bms->cell_min_volt, shangfei_bms->bat_maxtemp, shangfei_bms->bat_mintemp, shangfei_bms->contactor_sta, shangfei_bms->soh_value, shangfei_bms->max_volt_id, shangfei_bms->min_volt_id, shangfei_bms->max_temp_id, shangfei_bms->min_temp_id, shangfei_bms->fault_level, shangfei_bms->irt_status, shangfei_bms->cap_percent, shangfei_bms->bat_id, shangfei_bms->err_code, shangfei_bms->dc28_volt, shangfei_bms->dc28_current, shangfei_bms->hvb_voltage, shangfei_bms->hvb_temp, shangfei_bms->hvb_status);
- #else
- _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SHANGFEI_BMS, (const char *)shangfei_bms, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- #endif
- }
- #if MAVLINK_MSG_ID_SHANGFEI_BMS_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_shangfei_bms_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint32_t time_boot_ms, uint16_t bat_voltage, int16_t bat_current, uint16_t cell_max_volt, uint16_t cell_min_volt, int8_t bat_maxtemp, int8_t bat_mintemp, uint8_t contactor_sta, uint8_t soh_value, uint8_t max_volt_id, uint8_t min_volt_id, int8_t max_temp_id, int8_t min_temp_id, uint8_t fault_level, uint8_t irt_status, uint8_t cap_percent, uint8_t bat_id, uint8_t err_code, uint16_t dc28_volt, uint8_t dc28_current, uint16_t hvb_voltage, int8_t hvb_temp, uint8_t hvb_status)
- {
- #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
- char *buf = (char *)msgbuf;
- _mav_put_uint32_t(buf, 0, time_boot_ms);
- _mav_put_uint16_t(buf, 4, bat_voltage);
- _mav_put_int16_t(buf, 6, bat_current);
- _mav_put_uint16_t(buf, 8, cell_max_volt);
- _mav_put_uint16_t(buf, 10, cell_min_volt);
- _mav_put_uint16_t(buf, 12, dc28_volt);
- _mav_put_uint16_t(buf, 14, hvb_voltage);
- _mav_put_int8_t(buf, 16, bat_maxtemp);
- _mav_put_int8_t(buf, 17, bat_mintemp);
- _mav_put_uint8_t(buf, 18, contactor_sta);
- _mav_put_uint8_t(buf, 19, soh_value);
- _mav_put_uint8_t(buf, 20, max_volt_id);
- _mav_put_uint8_t(buf, 21, min_volt_id);
- _mav_put_int8_t(buf, 22, max_temp_id);
- _mav_put_int8_t(buf, 23, min_temp_id);
- _mav_put_uint8_t(buf, 24, fault_level);
- _mav_put_uint8_t(buf, 25, irt_status);
- _mav_put_uint8_t(buf, 26, cap_percent);
- _mav_put_uint8_t(buf, 27, bat_id);
- _mav_put_uint8_t(buf, 28, err_code);
- _mav_put_uint8_t(buf, 29, dc28_current);
- _mav_put_int8_t(buf, 30, hvb_temp);
- _mav_put_uint8_t(buf, 31, hvb_status);
- _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SHANGFEI_BMS, buf, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- #else
- mavlink_shangfei_bms_t *packet = (mavlink_shangfei_bms_t *)msgbuf;
- packet->time_boot_ms = time_boot_ms;
- packet->bat_voltage = bat_voltage;
- packet->bat_current = bat_current;
- packet->cell_max_volt = cell_max_volt;
- packet->cell_min_volt = cell_min_volt;
- packet->dc28_volt = dc28_volt;
- packet->hvb_voltage = hvb_voltage;
- packet->bat_maxtemp = bat_maxtemp;
- packet->bat_mintemp = bat_mintemp;
- packet->contactor_sta = contactor_sta;
- packet->soh_value = soh_value;
- packet->max_volt_id = max_volt_id;
- packet->min_volt_id = min_volt_id;
- packet->max_temp_id = max_temp_id;
- packet->min_temp_id = min_temp_id;
- packet->fault_level = fault_level;
- packet->irt_status = irt_status;
- packet->cap_percent = cap_percent;
- packet->bat_id = bat_id;
- packet->err_code = err_code;
- packet->dc28_current = dc28_current;
- packet->hvb_temp = hvb_temp;
- packet->hvb_status = hvb_status;
- _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SHANGFEI_BMS, (const char *)packet, MAVLINK_MSG_ID_SHANGFEI_BMS_MIN_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN, MAVLINK_MSG_ID_SHANGFEI_BMS_CRC);
- #endif
- }
- #endif
- #endif
- // MESSAGE SHANGFEI_BMS UNPACKING
- /**
- * @brief Get field time_boot_ms from shangfei_bms message
- *
- * @return [ms] Timestamp in ms from system boot.
- */
- static inline uint32_t mavlink_msg_shangfei_bms_get_time_boot_ms(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint32_t(msg, 0);
- }
- /**
- * @brief Get field bat_voltage from shangfei_bms message
- *
- * @return [dV] Battery voltage.
- */
- static inline uint16_t mavlink_msg_shangfei_bms_get_bat_voltage(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint16_t(msg, 4);
- }
- /**
- * @brief Get field bat_current from shangfei_bms message
- *
- * @return [dA] Battery current.
- */
- static inline int16_t mavlink_msg_shangfei_bms_get_bat_current(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_int16_t(msg, 6);
- }
- /**
- * @brief Get field cell_max_volt from shangfei_bms message
- *
- * @return [mV] Cell max voltage.
- */
- static inline uint16_t mavlink_msg_shangfei_bms_get_cell_max_volt(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint16_t(msg, 8);
- }
- /**
- * @brief Get field cell_min_volt from shangfei_bms message
- *
- * @return [mV] Cell min voltage.
- */
- static inline uint16_t mavlink_msg_shangfei_bms_get_cell_min_volt(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint16_t(msg, 10);
- }
- /**
- * @brief Get field bat_maxtemp from shangfei_bms message
- *
- * @return Battery Max_temperature.
- */
- static inline int8_t mavlink_msg_shangfei_bms_get_bat_maxtemp(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_int8_t(msg, 16);
- }
- /**
- * @brief Get field bat_mintemp from shangfei_bms message
- *
- * @return Battery Min_temperature.
- */
- static inline int8_t mavlink_msg_shangfei_bms_get_bat_mintemp(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_int8_t(msg, 17);
- }
- /**
- * @brief Get field contactor_sta from shangfei_bms message
- *
- * @return Contactor status.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_contactor_sta(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 18);
- }
- /**
- * @brief Get field soh_value from shangfei_bms message
- *
- * @return [%] Battery SOH value.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_soh_value(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 19);
- }
- /**
- * @brief Get field max_volt_id from shangfei_bms message
- *
- * @return Cell max voltage id.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_max_volt_id(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 20);
- }
- /**
- * @brief Get field min_volt_id from shangfei_bms message
- *
- * @return Cell min voltage id.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_min_volt_id(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 21);
- }
- /**
- * @brief Get field max_temp_id from shangfei_bms message
- *
- * @return Cell max temperature id.
- */
- static inline int8_t mavlink_msg_shangfei_bms_get_max_temp_id(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_int8_t(msg, 22);
- }
- /**
- * @brief Get field min_temp_id from shangfei_bms message
- *
- * @return Cell min temperature id.
- */
- static inline int8_t mavlink_msg_shangfei_bms_get_min_temp_id(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_int8_t(msg, 23);
- }
- /**
- * @brief Get field fault_level from shangfei_bms message
- *
- * @return Fault level.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_fault_level(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 24);
- }
- /**
- * @brief Get field irt_status from shangfei_bms message
- *
- * @return Insulation Resistance Tester status.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_irt_status(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 25);
- }
- /**
- * @brief Get field cap_percent from shangfei_bms message
- *
- * @return [%] Battery capacity.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_cap_percent(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 26);
- }
- /**
- * @brief Get field bat_id from shangfei_bms message
- *
- * @return Battery id.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_bat_id(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 27);
- }
- /**
- * @brief Get field err_code from shangfei_bms message
- *
- * @return Error code.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_err_code(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 28);
- }
- /**
- * @brief Get field dc28_volt from shangfei_bms message
- *
- * @return [dV] High volt-box voltage.
- */
- static inline uint16_t mavlink_msg_shangfei_bms_get_dc28_volt(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint16_t(msg, 12);
- }
- /**
- * @brief Get field dc28_current from shangfei_bms message
- *
- * @return [A] High volt-box current.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_dc28_current(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 29);
- }
- /**
- * @brief Get field hvb_voltage from shangfei_bms message
- *
- * @return [dV] High volt-box voltage.
- */
- static inline uint16_t mavlink_msg_shangfei_bms_get_hvb_voltage(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint16_t(msg, 14);
- }
- /**
- * @brief Get field hvb_temp from shangfei_bms message
- *
- * @return High volt-box temperature.
- */
- static inline int8_t mavlink_msg_shangfei_bms_get_hvb_temp(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_int8_t(msg, 30);
- }
- /**
- * @brief Get field hvb_status from shangfei_bms message
- *
- * @return High volt-box status.
- */
- static inline uint8_t mavlink_msg_shangfei_bms_get_hvb_status(const mavlink_message_t* msg)
- {
- return _MAV_RETURN_uint8_t(msg, 31);
- }
- /**
- * @brief Decode a shangfei_bms message into a struct
- *
- * @param msg The message to decode
- * @param shangfei_bms C-struct to decode the message contents into
- */
- static inline void mavlink_msg_shangfei_bms_decode(const mavlink_message_t* msg, mavlink_shangfei_bms_t* shangfei_bms)
- {
- #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
- shangfei_bms->time_boot_ms = mavlink_msg_shangfei_bms_get_time_boot_ms(msg);
- shangfei_bms->bat_voltage = mavlink_msg_shangfei_bms_get_bat_voltage(msg);
- shangfei_bms->bat_current = mavlink_msg_shangfei_bms_get_bat_current(msg);
- shangfei_bms->cell_max_volt = mavlink_msg_shangfei_bms_get_cell_max_volt(msg);
- shangfei_bms->cell_min_volt = mavlink_msg_shangfei_bms_get_cell_min_volt(msg);
- shangfei_bms->dc28_volt = mavlink_msg_shangfei_bms_get_dc28_volt(msg);
- shangfei_bms->hvb_voltage = mavlink_msg_shangfei_bms_get_hvb_voltage(msg);
- shangfei_bms->bat_maxtemp = mavlink_msg_shangfei_bms_get_bat_maxtemp(msg);
- shangfei_bms->bat_mintemp = mavlink_msg_shangfei_bms_get_bat_mintemp(msg);
- shangfei_bms->contactor_sta = mavlink_msg_shangfei_bms_get_contactor_sta(msg);
- shangfei_bms->soh_value = mavlink_msg_shangfei_bms_get_soh_value(msg);
- shangfei_bms->max_volt_id = mavlink_msg_shangfei_bms_get_max_volt_id(msg);
- shangfei_bms->min_volt_id = mavlink_msg_shangfei_bms_get_min_volt_id(msg);
- shangfei_bms->max_temp_id = mavlink_msg_shangfei_bms_get_max_temp_id(msg);
- shangfei_bms->min_temp_id = mavlink_msg_shangfei_bms_get_min_temp_id(msg);
- shangfei_bms->fault_level = mavlink_msg_shangfei_bms_get_fault_level(msg);
- shangfei_bms->irt_status = mavlink_msg_shangfei_bms_get_irt_status(msg);
- shangfei_bms->cap_percent = mavlink_msg_shangfei_bms_get_cap_percent(msg);
- shangfei_bms->bat_id = mavlink_msg_shangfei_bms_get_bat_id(msg);
- shangfei_bms->err_code = mavlink_msg_shangfei_bms_get_err_code(msg);
- shangfei_bms->dc28_current = mavlink_msg_shangfei_bms_get_dc28_current(msg);
- shangfei_bms->hvb_temp = mavlink_msg_shangfei_bms_get_hvb_temp(msg);
- shangfei_bms->hvb_status = mavlink_msg_shangfei_bms_get_hvb_status(msg);
- #else
- uint8_t len = msg->len < MAVLINK_MSG_ID_SHANGFEI_BMS_LEN? msg->len : MAVLINK_MSG_ID_SHANGFEI_BMS_LEN;
- memset(shangfei_bms, 0, MAVLINK_MSG_ID_SHANGFEI_BMS_LEN);
- memcpy(shangfei_bms, _MAV_PAYLOAD(msg), len);
- #endif
- }
|