4#define MAVLINK_MSG_ID_SENS_BATMON 209
7typedef struct __mavlink_sens_batmon_t {
11 uint16_t batterystatus;
12 uint16_t serialnumber;
13 uint16_t hostfetcontrol;
14 uint16_t cellvoltage1;
15 uint16_t cellvoltage2;
16 uint16_t cellvoltage3;
17 uint16_t cellvoltage4;
18 uint16_t cellvoltage5;
19 uint16_t cellvoltage6;
21}) mavlink_sens_batmon_t;
23#define MAVLINK_MSG_ID_SENS_BATMON_LEN 27
24#define MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN 27
25#define MAVLINK_MSG_ID_209_LEN 27
26#define MAVLINK_MSG_ID_209_MIN_LEN 27
28#define MAVLINK_MSG_ID_SENS_BATMON_CRC 62
29#define MAVLINK_MSG_ID_209_CRC 62
33#if MAVLINK_COMMAND_24BIT
34#define MAVLINK_MESSAGE_INFO_SENS_BATMON { \
38 { { "temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_sens_batmon_t, temperature) }, \
39 { "voltage", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_sens_batmon_t, voltage) }, \
40 { "current", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_sens_batmon_t, current) }, \
41 { "SoC", NULL, MAVLINK_TYPE_UINT8_T, 0, 26, offsetof(mavlink_sens_batmon_t, SoC) }, \
42 { "batterystatus", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_sens_batmon_t, batterystatus) }, \
43 { "serialnumber", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_sens_batmon_t, serialnumber) }, \
44 { "hostfetcontrol", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_sens_batmon_t, hostfetcontrol) }, \
45 { "cellvoltage1", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_sens_batmon_t, cellvoltage1) }, \
46 { "cellvoltage2", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_sens_batmon_t, cellvoltage2) }, \
47 { "cellvoltage3", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_sens_batmon_t, cellvoltage3) }, \
48 { "cellvoltage4", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_sens_batmon_t, cellvoltage4) }, \
49 { "cellvoltage5", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_sens_batmon_t, cellvoltage5) }, \
50 { "cellvoltage6", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_sens_batmon_t, cellvoltage6) }, \
54#define MAVLINK_MESSAGE_INFO_SENS_BATMON { \
57 { { "temperature", NULL, MAVLINK_TYPE_FLOAT, 0, 0, offsetof(mavlink_sens_batmon_t, temperature) }, \
58 { "voltage", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_sens_batmon_t, voltage) }, \
59 { "current", NULL, MAVLINK_TYPE_INT16_T, 0, 6, offsetof(mavlink_sens_batmon_t, current) }, \
60 { "SoC", NULL, MAVLINK_TYPE_UINT8_T, 0, 26, offsetof(mavlink_sens_batmon_t, SoC) }, \
61 { "batterystatus", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_sens_batmon_t, batterystatus) }, \
62 { "serialnumber", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_sens_batmon_t, serialnumber) }, \
63 { "hostfetcontrol", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_sens_batmon_t, hostfetcontrol) }, \
64 { "cellvoltage1", NULL, MAVLINK_TYPE_UINT16_T, 0, 14, offsetof(mavlink_sens_batmon_t, cellvoltage1) }, \
65 { "cellvoltage2", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_sens_batmon_t, cellvoltage2) }, \
66 { "cellvoltage3", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_sens_batmon_t, cellvoltage3) }, \
67 { "cellvoltage4", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_sens_batmon_t, cellvoltage4) }, \
68 { "cellvoltage5", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_sens_batmon_t, cellvoltage5) }, \
69 { "cellvoltage6", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_sens_batmon_t, cellvoltage6) }, \
95static inline uint16_t mavlink_msg_sens_batmon_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
96 float temperature, uint16_t voltage, int16_t current, uint8_t SoC, uint16_t batterystatus, uint16_t serialnumber, uint16_t hostfetcontrol, uint16_t cellvoltage1, uint16_t cellvoltage2, uint16_t cellvoltage3, uint16_t cellvoltage4, uint16_t cellvoltage5, uint16_t cellvoltage6)
98#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
99 char buf[MAVLINK_MSG_ID_SENS_BATMON_LEN];
100 _mav_put_float(buf, 0, temperature);
101 _mav_put_uint16_t(buf, 4, voltage);
102 _mav_put_int16_t(buf, 6, current);
103 _mav_put_uint16_t(buf, 8, batterystatus);
104 _mav_put_uint16_t(buf, 10, serialnumber);
105 _mav_put_uint16_t(buf, 12, hostfetcontrol);
106 _mav_put_uint16_t(buf, 14, cellvoltage1);
107 _mav_put_uint16_t(buf, 16, cellvoltage2);
108 _mav_put_uint16_t(buf, 18, cellvoltage3);
109 _mav_put_uint16_t(buf, 20, cellvoltage4);
110 _mav_put_uint16_t(buf, 22, cellvoltage5);
111 _mav_put_uint16_t(buf, 24, cellvoltage6);
112 _mav_put_uint8_t(buf, 26, SoC);
114 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SENS_BATMON_LEN);
116 mavlink_sens_batmon_t packet;
117 packet.temperature = temperature;
118 packet.voltage = voltage;
119 packet.current = current;
120 packet.batterystatus = batterystatus;
121 packet.serialnumber = serialnumber;
122 packet.hostfetcontrol = hostfetcontrol;
123 packet.cellvoltage1 = cellvoltage1;
124 packet.cellvoltage2 = cellvoltage2;
125 packet.cellvoltage3 = cellvoltage3;
126 packet.cellvoltage4 = cellvoltage4;
127 packet.cellvoltage5 = cellvoltage5;
128 packet.cellvoltage6 = cellvoltage6;
131 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SENS_BATMON_LEN);
134 msg->msgid = MAVLINK_MSG_ID_SENS_BATMON;
135 return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN, MAVLINK_MSG_ID_SENS_BATMON_LEN, MAVLINK_MSG_ID_SENS_BATMON_CRC);
159static inline uint16_t mavlink_msg_sens_batmon_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
160 mavlink_message_t* msg,
161 float temperature,uint16_t voltage,int16_t current,uint8_t SoC,uint16_t batterystatus,uint16_t serialnumber,uint16_t hostfetcontrol,uint16_t cellvoltage1,uint16_t cellvoltage2,uint16_t cellvoltage3,uint16_t cellvoltage4,uint16_t cellvoltage5,uint16_t cellvoltage6)
163#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
164 char buf[MAVLINK_MSG_ID_SENS_BATMON_LEN];
165 _mav_put_float(buf, 0, temperature);
166 _mav_put_uint16_t(buf, 4, voltage);
167 _mav_put_int16_t(buf, 6, current);
168 _mav_put_uint16_t(buf, 8, batterystatus);
169 _mav_put_uint16_t(buf, 10, serialnumber);
170 _mav_put_uint16_t(buf, 12, hostfetcontrol);
171 _mav_put_uint16_t(buf, 14, cellvoltage1);
172 _mav_put_uint16_t(buf, 16, cellvoltage2);
173 _mav_put_uint16_t(buf, 18, cellvoltage3);
174 _mav_put_uint16_t(buf, 20, cellvoltage4);
175 _mav_put_uint16_t(buf, 22, cellvoltage5);
176 _mav_put_uint16_t(buf, 24, cellvoltage6);
177 _mav_put_uint8_t(buf, 26, SoC);
179 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SENS_BATMON_LEN);
181 mavlink_sens_batmon_t packet;
182 packet.temperature = temperature;
183 packet.voltage = voltage;
184 packet.current = current;
185 packet.batterystatus = batterystatus;
186 packet.serialnumber = serialnumber;
187 packet.hostfetcontrol = hostfetcontrol;
188 packet.cellvoltage1 = cellvoltage1;
189 packet.cellvoltage2 = cellvoltage2;
190 packet.cellvoltage3 = cellvoltage3;
191 packet.cellvoltage4 = cellvoltage4;
192 packet.cellvoltage5 = cellvoltage5;
193 packet.cellvoltage6 = cellvoltage6;
196 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SENS_BATMON_LEN);
199 msg->msgid = MAVLINK_MSG_ID_SENS_BATMON;
200 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN, MAVLINK_MSG_ID_SENS_BATMON_LEN, MAVLINK_MSG_ID_SENS_BATMON_CRC);
211static inline uint16_t mavlink_msg_sens_batmon_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
const mavlink_sens_batmon_t* sens_batmon)
213 return mavlink_msg_sens_batmon_pack(system_id, component_id, msg, sens_batmon->temperature, sens_batmon->voltage, sens_batmon->current, sens_batmon->SoC, sens_batmon->batterystatus, sens_batmon->serialnumber, sens_batmon->hostfetcontrol, sens_batmon->cellvoltage1, sens_batmon->cellvoltage2, sens_batmon->cellvoltage3, sens_batmon->cellvoltage4, sens_batmon->cellvoltage5, sens_batmon->cellvoltage6);
225static inline uint16_t mavlink_msg_sens_batmon_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg,
const mavlink_sens_batmon_t* sens_batmon)
227 return mavlink_msg_sens_batmon_pack_chan(system_id, component_id, chan, msg, sens_batmon->temperature, sens_batmon->voltage, sens_batmon->current, sens_batmon->SoC, sens_batmon->batterystatus, sens_batmon->serialnumber, sens_batmon->hostfetcontrol, sens_batmon->cellvoltage1, sens_batmon->cellvoltage2, sens_batmon->cellvoltage3, sens_batmon->cellvoltage4, sens_batmon->cellvoltage5, sens_batmon->cellvoltage6);
248#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
250static inline void mavlink_msg_sens_batmon_send(mavlink_channel_t chan,
float temperature, uint16_t voltage, int16_t current, uint8_t SoC, uint16_t batterystatus, uint16_t serialnumber, uint16_t hostfetcontrol, uint16_t cellvoltage1, uint16_t cellvoltage2, uint16_t cellvoltage3, uint16_t cellvoltage4, uint16_t cellvoltage5, uint16_t cellvoltage6)
252#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
253 char buf[MAVLINK_MSG_ID_SENS_BATMON_LEN];
254 _mav_put_float(buf, 0, temperature);
255 _mav_put_uint16_t(buf, 4, voltage);
256 _mav_put_int16_t(buf, 6, current);
257 _mav_put_uint16_t(buf, 8, batterystatus);
258 _mav_put_uint16_t(buf, 10, serialnumber);
259 _mav_put_uint16_t(buf, 12, hostfetcontrol);
260 _mav_put_uint16_t(buf, 14, cellvoltage1);
261 _mav_put_uint16_t(buf, 16, cellvoltage2);
262 _mav_put_uint16_t(buf, 18, cellvoltage3);
263 _mav_put_uint16_t(buf, 20, cellvoltage4);
264 _mav_put_uint16_t(buf, 22, cellvoltage5);
265 _mav_put_uint16_t(buf, 24, cellvoltage6);
266 _mav_put_uint8_t(buf, 26, SoC);
268 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_BATMON, buf, MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN, MAVLINK_MSG_ID_SENS_BATMON_LEN, MAVLINK_MSG_ID_SENS_BATMON_CRC);
270 mavlink_sens_batmon_t packet;
271 packet.temperature = temperature;
272 packet.voltage = voltage;
273 packet.current = current;
274 packet.batterystatus = batterystatus;
275 packet.serialnumber = serialnumber;
276 packet.hostfetcontrol = hostfetcontrol;
277 packet.cellvoltage1 = cellvoltage1;
278 packet.cellvoltage2 = cellvoltage2;
279 packet.cellvoltage3 = cellvoltage3;
280 packet.cellvoltage4 = cellvoltage4;
281 packet.cellvoltage5 = cellvoltage5;
282 packet.cellvoltage6 = cellvoltage6;
285 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_BATMON, (
const char *)&packet, MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN, MAVLINK_MSG_ID_SENS_BATMON_LEN, MAVLINK_MSG_ID_SENS_BATMON_CRC);
294static inline void mavlink_msg_sens_batmon_send_struct(mavlink_channel_t chan,
const mavlink_sens_batmon_t* sens_batmon)
296#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
297 mavlink_msg_sens_batmon_send(chan, sens_batmon->temperature, sens_batmon->voltage, sens_batmon->current, sens_batmon->SoC, sens_batmon->batterystatus, sens_batmon->serialnumber, sens_batmon->hostfetcontrol, sens_batmon->cellvoltage1, sens_batmon->cellvoltage2, sens_batmon->cellvoltage3, sens_batmon->cellvoltage4, sens_batmon->cellvoltage5, sens_batmon->cellvoltage6);
299 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_BATMON, (
const char *)sens_batmon, MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN, MAVLINK_MSG_ID_SENS_BATMON_LEN, MAVLINK_MSG_ID_SENS_BATMON_CRC);
303#if MAVLINK_MSG_ID_SENS_BATMON_LEN <= MAVLINK_MAX_PAYLOAD_LEN
311static inline void mavlink_msg_sens_batmon_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,
float temperature, uint16_t voltage, int16_t current, uint8_t SoC, uint16_t batterystatus, uint16_t serialnumber, uint16_t hostfetcontrol, uint16_t cellvoltage1, uint16_t cellvoltage2, uint16_t cellvoltage3, uint16_t cellvoltage4, uint16_t cellvoltage5, uint16_t cellvoltage6)
313#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
314 char *buf = (
char *)msgbuf;
315 _mav_put_float(buf, 0, temperature);
316 _mav_put_uint16_t(buf, 4, voltage);
317 _mav_put_int16_t(buf, 6, current);
318 _mav_put_uint16_t(buf, 8, batterystatus);
319 _mav_put_uint16_t(buf, 10, serialnumber);
320 _mav_put_uint16_t(buf, 12, hostfetcontrol);
321 _mav_put_uint16_t(buf, 14, cellvoltage1);
322 _mav_put_uint16_t(buf, 16, cellvoltage2);
323 _mav_put_uint16_t(buf, 18, cellvoltage3);
324 _mav_put_uint16_t(buf, 20, cellvoltage4);
325 _mav_put_uint16_t(buf, 22, cellvoltage5);
326 _mav_put_uint16_t(buf, 24, cellvoltage6);
327 _mav_put_uint8_t(buf, 26, SoC);
329 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_BATMON, buf, MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN, MAVLINK_MSG_ID_SENS_BATMON_LEN, MAVLINK_MSG_ID_SENS_BATMON_CRC);
331 mavlink_sens_batmon_t *packet = (mavlink_sens_batmon_t *)msgbuf;
332 packet->temperature = temperature;
333 packet->voltage = voltage;
334 packet->current = current;
335 packet->batterystatus = batterystatus;
336 packet->serialnumber = serialnumber;
337 packet->hostfetcontrol = hostfetcontrol;
338 packet->cellvoltage1 = cellvoltage1;
339 packet->cellvoltage2 = cellvoltage2;
340 packet->cellvoltage3 = cellvoltage3;
341 packet->cellvoltage4 = cellvoltage4;
342 packet->cellvoltage5 = cellvoltage5;
343 packet->cellvoltage6 = cellvoltage6;
346 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_BATMON, (
const char *)packet, MAVLINK_MSG_ID_SENS_BATMON_MIN_LEN, MAVLINK_MSG_ID_SENS_BATMON_LEN, MAVLINK_MSG_ID_SENS_BATMON_CRC);
361static inline float mavlink_msg_sens_batmon_get_temperature(
const mavlink_message_t* msg)
363 return _MAV_RETURN_float(msg, 0);
371static inline uint16_t mavlink_msg_sens_batmon_get_voltage(
const mavlink_message_t* msg)
373 return _MAV_RETURN_uint16_t(msg, 4);
381static inline int16_t mavlink_msg_sens_batmon_get_current(
const mavlink_message_t* msg)
383 return _MAV_RETURN_int16_t(msg, 6);
391static inline uint8_t mavlink_msg_sens_batmon_get_SoC(
const mavlink_message_t* msg)
393 return _MAV_RETURN_uint8_t(msg, 26);
401static inline uint16_t mavlink_msg_sens_batmon_get_batterystatus(
const mavlink_message_t* msg)
403 return _MAV_RETURN_uint16_t(msg, 8);
411static inline uint16_t mavlink_msg_sens_batmon_get_serialnumber(
const mavlink_message_t* msg)
413 return _MAV_RETURN_uint16_t(msg, 10);
421static inline uint16_t mavlink_msg_sens_batmon_get_hostfetcontrol(
const mavlink_message_t* msg)
423 return _MAV_RETURN_uint16_t(msg, 12);
431static inline uint16_t mavlink_msg_sens_batmon_get_cellvoltage1(
const mavlink_message_t* msg)
433 return _MAV_RETURN_uint16_t(msg, 14);
441static inline uint16_t mavlink_msg_sens_batmon_get_cellvoltage2(
const mavlink_message_t* msg)
443 return _MAV_RETURN_uint16_t(msg, 16);
451static inline uint16_t mavlink_msg_sens_batmon_get_cellvoltage3(
const mavlink_message_t* msg)
453 return _MAV_RETURN_uint16_t(msg, 18);
461static inline uint16_t mavlink_msg_sens_batmon_get_cellvoltage4(
const mavlink_message_t* msg)
463 return _MAV_RETURN_uint16_t(msg, 20);
471static inline uint16_t mavlink_msg_sens_batmon_get_cellvoltage5(
const mavlink_message_t* msg)
473 return _MAV_RETURN_uint16_t(msg, 22);
481static inline uint16_t mavlink_msg_sens_batmon_get_cellvoltage6(
const mavlink_message_t* msg)
483 return _MAV_RETURN_uint16_t(msg, 24);
492static inline void mavlink_msg_sens_batmon_decode(
const mavlink_message_t* msg, mavlink_sens_batmon_t* sens_batmon)
494#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
495 sens_batmon->temperature = mavlink_msg_sens_batmon_get_temperature(msg);
496 sens_batmon->voltage = mavlink_msg_sens_batmon_get_voltage(msg);
497 sens_batmon->current = mavlink_msg_sens_batmon_get_current(msg);
498 sens_batmon->batterystatus = mavlink_msg_sens_batmon_get_batterystatus(msg);
499 sens_batmon->serialnumber = mavlink_msg_sens_batmon_get_serialnumber(msg);
500 sens_batmon->hostfetcontrol = mavlink_msg_sens_batmon_get_hostfetcontrol(msg);
501 sens_batmon->cellvoltage1 = mavlink_msg_sens_batmon_get_cellvoltage1(msg);
502 sens_batmon->cellvoltage2 = mavlink_msg_sens_batmon_get_cellvoltage2(msg);
503 sens_batmon->cellvoltage3 = mavlink_msg_sens_batmon_get_cellvoltage3(msg);
504 sens_batmon->cellvoltage4 = mavlink_msg_sens_batmon_get_cellvoltage4(msg);
505 sens_batmon->cellvoltage5 = mavlink_msg_sens_batmon_get_cellvoltage5(msg);
506 sens_batmon->cellvoltage6 = mavlink_msg_sens_batmon_get_cellvoltage6(msg);
507 sens_batmon->SoC = mavlink_msg_sens_batmon_get_SoC(msg);
509 uint8_t len = msg->len < MAVLINK_MSG_ID_SENS_BATMON_LEN? msg->len : MAVLINK_MSG_ID_SENS_BATMON_LEN;
510 memset(sens_batmon, 0, MAVLINK_MSG_ID_SENS_BATMON_LEN);
511 memcpy(sens_batmon, _MAV_PAYLOAD(msg), len);