RflySimSDK v3.08
RflySimSDK说明文档
载入中...
搜索中...
未找到
mavlink_msg_sens_power_board.h
1#pragma once
2// MESSAGE SENS_POWER_BOARD PACKING
3
4#define MAVLINK_MSG_ID_SENS_POWER_BOARD 212
5
6MAVPACKED(
7typedef struct __mavlink_sens_power_board_t {
8 uint64_t timestamp; /*< Timestamp*/
9 float pwr_brd_system_volt; /*< Power board system voltage*/
10 float pwr_brd_servo_volt; /*< Power board servo voltage*/
11 float pwr_brd_mot_l_amp; /*< Power board left motor current sensor*/
12 float pwr_brd_mot_r_amp; /*< Power board right motor current sensor*/
13 float pwr_brd_servo_1_amp; /*< Power board servo1 current sensor*/
14 float pwr_brd_servo_2_amp; /*< Power board servo1 current sensor*/
15 float pwr_brd_servo_3_amp; /*< Power board servo1 current sensor*/
16 float pwr_brd_servo_4_amp; /*< Power board servo1 current sensor*/
17 float pwr_brd_aux_amp; /*< Power board aux current sensor*/
18 uint8_t pwr_brd_status; /*< Power board status register*/
19 uint8_t pwr_brd_led_status; /*< Power board leds status*/
20}) mavlink_sens_power_board_t;
21
22#define MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN 46
23#define MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN 46
24#define MAVLINK_MSG_ID_212_LEN 46
25#define MAVLINK_MSG_ID_212_MIN_LEN 46
26
27#define MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC 242
28#define MAVLINK_MSG_ID_212_CRC 242
29
30
31
32#if MAVLINK_COMMAND_24BIT
33#define MAVLINK_MESSAGE_INFO_SENS_POWER_BOARD { \
34 212, \
35 "SENS_POWER_BOARD", \
36 12, \
37 { { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_sens_power_board_t, timestamp) }, \
38 { "pwr_brd_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 44, offsetof(mavlink_sens_power_board_t, pwr_brd_status) }, \
39 { "pwr_brd_led_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 45, offsetof(mavlink_sens_power_board_t, pwr_brd_led_status) }, \
40 { "pwr_brd_system_volt", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_sens_power_board_t, pwr_brd_system_volt) }, \
41 { "pwr_brd_servo_volt", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_volt) }, \
42 { "pwr_brd_mot_l_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_sens_power_board_t, pwr_brd_mot_l_amp) }, \
43 { "pwr_brd_mot_r_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_sens_power_board_t, pwr_brd_mot_r_amp) }, \
44 { "pwr_brd_servo_1_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_1_amp) }, \
45 { "pwr_brd_servo_2_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_2_amp) }, \
46 { "pwr_brd_servo_3_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_3_amp) }, \
47 { "pwr_brd_servo_4_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 36, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_4_amp) }, \
48 { "pwr_brd_aux_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 40, offsetof(mavlink_sens_power_board_t, pwr_brd_aux_amp) }, \
49 } \
50}
51#else
52#define MAVLINK_MESSAGE_INFO_SENS_POWER_BOARD { \
53 "SENS_POWER_BOARD", \
54 12, \
55 { { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_sens_power_board_t, timestamp) }, \
56 { "pwr_brd_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 44, offsetof(mavlink_sens_power_board_t, pwr_brd_status) }, \
57 { "pwr_brd_led_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 45, offsetof(mavlink_sens_power_board_t, pwr_brd_led_status) }, \
58 { "pwr_brd_system_volt", NULL, MAVLINK_TYPE_FLOAT, 0, 8, offsetof(mavlink_sens_power_board_t, pwr_brd_system_volt) }, \
59 { "pwr_brd_servo_volt", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_volt) }, \
60 { "pwr_brd_mot_l_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 16, offsetof(mavlink_sens_power_board_t, pwr_brd_mot_l_amp) }, \
61 { "pwr_brd_mot_r_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 20, offsetof(mavlink_sens_power_board_t, pwr_brd_mot_r_amp) }, \
62 { "pwr_brd_servo_1_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 24, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_1_amp) }, \
63 { "pwr_brd_servo_2_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 28, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_2_amp) }, \
64 { "pwr_brd_servo_3_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 32, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_3_amp) }, \
65 { "pwr_brd_servo_4_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 36, offsetof(mavlink_sens_power_board_t, pwr_brd_servo_4_amp) }, \
66 { "pwr_brd_aux_amp", NULL, MAVLINK_TYPE_FLOAT, 0, 40, offsetof(mavlink_sens_power_board_t, pwr_brd_aux_amp) }, \
67 } \
68}
69#endif
70
71/**
72 * @brief Pack a sens_power_board message
73 * @param system_id ID of this system
74 * @param component_id ID of this component (e.g. 200 for IMU)
75 * @param msg The MAVLink message to compress the data into
76 *
77 * @param timestamp Timestamp
78 * @param pwr_brd_status Power board status register
79 * @param pwr_brd_led_status Power board leds status
80 * @param pwr_brd_system_volt Power board system voltage
81 * @param pwr_brd_servo_volt Power board servo voltage
82 * @param pwr_brd_mot_l_amp Power board left motor current sensor
83 * @param pwr_brd_mot_r_amp Power board right motor current sensor
84 * @param pwr_brd_servo_1_amp Power board servo1 current sensor
85 * @param pwr_brd_servo_2_amp Power board servo1 current sensor
86 * @param pwr_brd_servo_3_amp Power board servo1 current sensor
87 * @param pwr_brd_servo_4_amp Power board servo1 current sensor
88 * @param pwr_brd_aux_amp Power board aux current sensor
89 * @return length of the message in bytes (excluding serial stream start sign)
90 */
91static inline uint16_t mavlink_msg_sens_power_board_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
92 uint64_t timestamp, uint8_t pwr_brd_status, uint8_t pwr_brd_led_status, float pwr_brd_system_volt, float pwr_brd_servo_volt, float pwr_brd_mot_l_amp, float pwr_brd_mot_r_amp, float pwr_brd_servo_1_amp, float pwr_brd_servo_2_amp, float pwr_brd_servo_3_amp, float pwr_brd_servo_4_amp, float pwr_brd_aux_amp)
93{
94#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
95 char buf[MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN];
96 _mav_put_uint64_t(buf, 0, timestamp);
97 _mav_put_float(buf, 8, pwr_brd_system_volt);
98 _mav_put_float(buf, 12, pwr_brd_servo_volt);
99 _mav_put_float(buf, 16, pwr_brd_mot_l_amp);
100 _mav_put_float(buf, 20, pwr_brd_mot_r_amp);
101 _mav_put_float(buf, 24, pwr_brd_servo_1_amp);
102 _mav_put_float(buf, 28, pwr_brd_servo_2_amp);
103 _mav_put_float(buf, 32, pwr_brd_servo_3_amp);
104 _mav_put_float(buf, 36, pwr_brd_servo_4_amp);
105 _mav_put_float(buf, 40, pwr_brd_aux_amp);
106 _mav_put_uint8_t(buf, 44, pwr_brd_status);
107 _mav_put_uint8_t(buf, 45, pwr_brd_led_status);
108
109 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN);
110#else
111 mavlink_sens_power_board_t packet;
112 packet.timestamp = timestamp;
113 packet.pwr_brd_system_volt = pwr_brd_system_volt;
114 packet.pwr_brd_servo_volt = pwr_brd_servo_volt;
115 packet.pwr_brd_mot_l_amp = pwr_brd_mot_l_amp;
116 packet.pwr_brd_mot_r_amp = pwr_brd_mot_r_amp;
117 packet.pwr_brd_servo_1_amp = pwr_brd_servo_1_amp;
118 packet.pwr_brd_servo_2_amp = pwr_brd_servo_2_amp;
119 packet.pwr_brd_servo_3_amp = pwr_brd_servo_3_amp;
120 packet.pwr_brd_servo_4_amp = pwr_brd_servo_4_amp;
121 packet.pwr_brd_aux_amp = pwr_brd_aux_amp;
122 packet.pwr_brd_status = pwr_brd_status;
123 packet.pwr_brd_led_status = pwr_brd_led_status;
124
125 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN);
126#endif
127
128 msg->msgid = MAVLINK_MSG_ID_SENS_POWER_BOARD;
129 return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC);
130}
131
132/**
133 * @brief Pack a sens_power_board message on a channel
134 * @param system_id ID of this system
135 * @param component_id ID of this component (e.g. 200 for IMU)
136 * @param chan The MAVLink channel this message will be sent over
137 * @param msg The MAVLink message to compress the data into
138 * @param timestamp Timestamp
139 * @param pwr_brd_status Power board status register
140 * @param pwr_brd_led_status Power board leds status
141 * @param pwr_brd_system_volt Power board system voltage
142 * @param pwr_brd_servo_volt Power board servo voltage
143 * @param pwr_brd_mot_l_amp Power board left motor current sensor
144 * @param pwr_brd_mot_r_amp Power board right motor current sensor
145 * @param pwr_brd_servo_1_amp Power board servo1 current sensor
146 * @param pwr_brd_servo_2_amp Power board servo1 current sensor
147 * @param pwr_brd_servo_3_amp Power board servo1 current sensor
148 * @param pwr_brd_servo_4_amp Power board servo1 current sensor
149 * @param pwr_brd_aux_amp Power board aux current sensor
150 * @return length of the message in bytes (excluding serial stream start sign)
151 */
152static inline uint16_t mavlink_msg_sens_power_board_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
153 mavlink_message_t* msg,
154 uint64_t timestamp,uint8_t pwr_brd_status,uint8_t pwr_brd_led_status,float pwr_brd_system_volt,float pwr_brd_servo_volt,float pwr_brd_mot_l_amp,float pwr_brd_mot_r_amp,float pwr_brd_servo_1_amp,float pwr_brd_servo_2_amp,float pwr_brd_servo_3_amp,float pwr_brd_servo_4_amp,float pwr_brd_aux_amp)
155{
156#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
157 char buf[MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN];
158 _mav_put_uint64_t(buf, 0, timestamp);
159 _mav_put_float(buf, 8, pwr_brd_system_volt);
160 _mav_put_float(buf, 12, pwr_brd_servo_volt);
161 _mav_put_float(buf, 16, pwr_brd_mot_l_amp);
162 _mav_put_float(buf, 20, pwr_brd_mot_r_amp);
163 _mav_put_float(buf, 24, pwr_brd_servo_1_amp);
164 _mav_put_float(buf, 28, pwr_brd_servo_2_amp);
165 _mav_put_float(buf, 32, pwr_brd_servo_3_amp);
166 _mav_put_float(buf, 36, pwr_brd_servo_4_amp);
167 _mav_put_float(buf, 40, pwr_brd_aux_amp);
168 _mav_put_uint8_t(buf, 44, pwr_brd_status);
169 _mav_put_uint8_t(buf, 45, pwr_brd_led_status);
170
171 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN);
172#else
173 mavlink_sens_power_board_t packet;
174 packet.timestamp = timestamp;
175 packet.pwr_brd_system_volt = pwr_brd_system_volt;
176 packet.pwr_brd_servo_volt = pwr_brd_servo_volt;
177 packet.pwr_brd_mot_l_amp = pwr_brd_mot_l_amp;
178 packet.pwr_brd_mot_r_amp = pwr_brd_mot_r_amp;
179 packet.pwr_brd_servo_1_amp = pwr_brd_servo_1_amp;
180 packet.pwr_brd_servo_2_amp = pwr_brd_servo_2_amp;
181 packet.pwr_brd_servo_3_amp = pwr_brd_servo_3_amp;
182 packet.pwr_brd_servo_4_amp = pwr_brd_servo_4_amp;
183 packet.pwr_brd_aux_amp = pwr_brd_aux_amp;
184 packet.pwr_brd_status = pwr_brd_status;
185 packet.pwr_brd_led_status = pwr_brd_led_status;
186
187 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN);
188#endif
189
190 msg->msgid = MAVLINK_MSG_ID_SENS_POWER_BOARD;
191 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC);
192}
193
194/**
195 * @brief Encode a sens_power_board struct
196 *
197 * @param system_id ID of this system
198 * @param component_id ID of this component (e.g. 200 for IMU)
199 * @param msg The MAVLink message to compress the data into
200 * @param sens_power_board C-struct to read the message contents from
201 */
202static inline uint16_t mavlink_msg_sens_power_board_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_sens_power_board_t* sens_power_board)
203{
204 return mavlink_msg_sens_power_board_pack(system_id, component_id, msg, sens_power_board->timestamp, sens_power_board->pwr_brd_status, sens_power_board->pwr_brd_led_status, sens_power_board->pwr_brd_system_volt, sens_power_board->pwr_brd_servo_volt, sens_power_board->pwr_brd_mot_l_amp, sens_power_board->pwr_brd_mot_r_amp, sens_power_board->pwr_brd_servo_1_amp, sens_power_board->pwr_brd_servo_2_amp, sens_power_board->pwr_brd_servo_3_amp, sens_power_board->pwr_brd_servo_4_amp, sens_power_board->pwr_brd_aux_amp);
205}
206
207/**
208 * @brief Encode a sens_power_board struct on a channel
209 *
210 * @param system_id ID of this system
211 * @param component_id ID of this component (e.g. 200 for IMU)
212 * @param chan The MAVLink channel this message will be sent over
213 * @param msg The MAVLink message to compress the data into
214 * @param sens_power_board C-struct to read the message contents from
215 */
216static inline uint16_t mavlink_msg_sens_power_board_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_sens_power_board_t* sens_power_board)
217{
218 return mavlink_msg_sens_power_board_pack_chan(system_id, component_id, chan, msg, sens_power_board->timestamp, sens_power_board->pwr_brd_status, sens_power_board->pwr_brd_led_status, sens_power_board->pwr_brd_system_volt, sens_power_board->pwr_brd_servo_volt, sens_power_board->pwr_brd_mot_l_amp, sens_power_board->pwr_brd_mot_r_amp, sens_power_board->pwr_brd_servo_1_amp, sens_power_board->pwr_brd_servo_2_amp, sens_power_board->pwr_brd_servo_3_amp, sens_power_board->pwr_brd_servo_4_amp, sens_power_board->pwr_brd_aux_amp);
219}
220
221/**
222 * @brief Send a sens_power_board message
223 * @param chan MAVLink channel to send the message
224 *
225 * @param timestamp Timestamp
226 * @param pwr_brd_status Power board status register
227 * @param pwr_brd_led_status Power board leds status
228 * @param pwr_brd_system_volt Power board system voltage
229 * @param pwr_brd_servo_volt Power board servo voltage
230 * @param pwr_brd_mot_l_amp Power board left motor current sensor
231 * @param pwr_brd_mot_r_amp Power board right motor current sensor
232 * @param pwr_brd_servo_1_amp Power board servo1 current sensor
233 * @param pwr_brd_servo_2_amp Power board servo1 current sensor
234 * @param pwr_brd_servo_3_amp Power board servo1 current sensor
235 * @param pwr_brd_servo_4_amp Power board servo1 current sensor
236 * @param pwr_brd_aux_amp Power board aux current sensor
237 */
238#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
239
240static inline void mavlink_msg_sens_power_board_send(mavlink_channel_t chan, uint64_t timestamp, uint8_t pwr_brd_status, uint8_t pwr_brd_led_status, float pwr_brd_system_volt, float pwr_brd_servo_volt, float pwr_brd_mot_l_amp, float pwr_brd_mot_r_amp, float pwr_brd_servo_1_amp, float pwr_brd_servo_2_amp, float pwr_brd_servo_3_amp, float pwr_brd_servo_4_amp, float pwr_brd_aux_amp)
241{
242#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
243 char buf[MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN];
244 _mav_put_uint64_t(buf, 0, timestamp);
245 _mav_put_float(buf, 8, pwr_brd_system_volt);
246 _mav_put_float(buf, 12, pwr_brd_servo_volt);
247 _mav_put_float(buf, 16, pwr_brd_mot_l_amp);
248 _mav_put_float(buf, 20, pwr_brd_mot_r_amp);
249 _mav_put_float(buf, 24, pwr_brd_servo_1_amp);
250 _mav_put_float(buf, 28, pwr_brd_servo_2_amp);
251 _mav_put_float(buf, 32, pwr_brd_servo_3_amp);
252 _mav_put_float(buf, 36, pwr_brd_servo_4_amp);
253 _mav_put_float(buf, 40, pwr_brd_aux_amp);
254 _mav_put_uint8_t(buf, 44, pwr_brd_status);
255 _mav_put_uint8_t(buf, 45, pwr_brd_led_status);
256
257 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_POWER_BOARD, buf, MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC);
258#else
259 mavlink_sens_power_board_t packet;
260 packet.timestamp = timestamp;
261 packet.pwr_brd_system_volt = pwr_brd_system_volt;
262 packet.pwr_brd_servo_volt = pwr_brd_servo_volt;
263 packet.pwr_brd_mot_l_amp = pwr_brd_mot_l_amp;
264 packet.pwr_brd_mot_r_amp = pwr_brd_mot_r_amp;
265 packet.pwr_brd_servo_1_amp = pwr_brd_servo_1_amp;
266 packet.pwr_brd_servo_2_amp = pwr_brd_servo_2_amp;
267 packet.pwr_brd_servo_3_amp = pwr_brd_servo_3_amp;
268 packet.pwr_brd_servo_4_amp = pwr_brd_servo_4_amp;
269 packet.pwr_brd_aux_amp = pwr_brd_aux_amp;
270 packet.pwr_brd_status = pwr_brd_status;
271 packet.pwr_brd_led_status = pwr_brd_led_status;
272
273 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_POWER_BOARD, (const char *)&packet, MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC);
274#endif
275}
276
277/**
278 * @brief Send a sens_power_board message
279 * @param chan MAVLink channel to send the message
280 * @param struct The MAVLink struct to serialize
281 */
282static inline void mavlink_msg_sens_power_board_send_struct(mavlink_channel_t chan, const mavlink_sens_power_board_t* sens_power_board)
283{
284#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
285 mavlink_msg_sens_power_board_send(chan, sens_power_board->timestamp, sens_power_board->pwr_brd_status, sens_power_board->pwr_brd_led_status, sens_power_board->pwr_brd_system_volt, sens_power_board->pwr_brd_servo_volt, sens_power_board->pwr_brd_mot_l_amp, sens_power_board->pwr_brd_mot_r_amp, sens_power_board->pwr_brd_servo_1_amp, sens_power_board->pwr_brd_servo_2_amp, sens_power_board->pwr_brd_servo_3_amp, sens_power_board->pwr_brd_servo_4_amp, sens_power_board->pwr_brd_aux_amp);
286#else
287 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_POWER_BOARD, (const char *)sens_power_board, MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC);
288#endif
289}
290
291#if MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN <= MAVLINK_MAX_PAYLOAD_LEN
292/*
293 This varient of _send() can be used to save stack space by re-using
294 memory from the receive buffer. The caller provides a
295 mavlink_message_t which is the size of a full mavlink message. This
296 is usually the receive buffer for the channel, and allows a reply to an
297 incoming message with minimum stack space usage.
298 */
299static inline void mavlink_msg_sens_power_board_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t timestamp, uint8_t pwr_brd_status, uint8_t pwr_brd_led_status, float pwr_brd_system_volt, float pwr_brd_servo_volt, float pwr_brd_mot_l_amp, float pwr_brd_mot_r_amp, float pwr_brd_servo_1_amp, float pwr_brd_servo_2_amp, float pwr_brd_servo_3_amp, float pwr_brd_servo_4_amp, float pwr_brd_aux_amp)
300{
301#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
302 char *buf = (char *)msgbuf;
303 _mav_put_uint64_t(buf, 0, timestamp);
304 _mav_put_float(buf, 8, pwr_brd_system_volt);
305 _mav_put_float(buf, 12, pwr_brd_servo_volt);
306 _mav_put_float(buf, 16, pwr_brd_mot_l_amp);
307 _mav_put_float(buf, 20, pwr_brd_mot_r_amp);
308 _mav_put_float(buf, 24, pwr_brd_servo_1_amp);
309 _mav_put_float(buf, 28, pwr_brd_servo_2_amp);
310 _mav_put_float(buf, 32, pwr_brd_servo_3_amp);
311 _mav_put_float(buf, 36, pwr_brd_servo_4_amp);
312 _mav_put_float(buf, 40, pwr_brd_aux_amp);
313 _mav_put_uint8_t(buf, 44, pwr_brd_status);
314 _mav_put_uint8_t(buf, 45, pwr_brd_led_status);
315
316 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_POWER_BOARD, buf, MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC);
317#else
318 mavlink_sens_power_board_t *packet = (mavlink_sens_power_board_t *)msgbuf;
319 packet->timestamp = timestamp;
320 packet->pwr_brd_system_volt = pwr_brd_system_volt;
321 packet->pwr_brd_servo_volt = pwr_brd_servo_volt;
322 packet->pwr_brd_mot_l_amp = pwr_brd_mot_l_amp;
323 packet->pwr_brd_mot_r_amp = pwr_brd_mot_r_amp;
324 packet->pwr_brd_servo_1_amp = pwr_brd_servo_1_amp;
325 packet->pwr_brd_servo_2_amp = pwr_brd_servo_2_amp;
326 packet->pwr_brd_servo_3_amp = pwr_brd_servo_3_amp;
327 packet->pwr_brd_servo_4_amp = pwr_brd_servo_4_amp;
328 packet->pwr_brd_aux_amp = pwr_brd_aux_amp;
329 packet->pwr_brd_status = pwr_brd_status;
330 packet->pwr_brd_led_status = pwr_brd_led_status;
331
332 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_SENS_POWER_BOARD, (const char *)packet, MAVLINK_MSG_ID_SENS_POWER_BOARD_MIN_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN, MAVLINK_MSG_ID_SENS_POWER_BOARD_CRC);
333#endif
334}
335#endif
336
337#endif
338
339// MESSAGE SENS_POWER_BOARD UNPACKING
340
341
342/**
343 * @brief Get field timestamp from sens_power_board message
344 *
345 * @return Timestamp
346 */
347static inline uint64_t mavlink_msg_sens_power_board_get_timestamp(const mavlink_message_t* msg)
348{
349 return _MAV_RETURN_uint64_t(msg, 0);
350}
351
352/**
353 * @brief Get field pwr_brd_status from sens_power_board message
354 *
355 * @return Power board status register
356 */
357static inline uint8_t mavlink_msg_sens_power_board_get_pwr_brd_status(const mavlink_message_t* msg)
358{
359 return _MAV_RETURN_uint8_t(msg, 44);
360}
361
362/**
363 * @brief Get field pwr_brd_led_status from sens_power_board message
364 *
365 * @return Power board leds status
366 */
367static inline uint8_t mavlink_msg_sens_power_board_get_pwr_brd_led_status(const mavlink_message_t* msg)
368{
369 return _MAV_RETURN_uint8_t(msg, 45);
370}
371
372/**
373 * @brief Get field pwr_brd_system_volt from sens_power_board message
374 *
375 * @return Power board system voltage
376 */
377static inline float mavlink_msg_sens_power_board_get_pwr_brd_system_volt(const mavlink_message_t* msg)
378{
379 return _MAV_RETURN_float(msg, 8);
380}
381
382/**
383 * @brief Get field pwr_brd_servo_volt from sens_power_board message
384 *
385 * @return Power board servo voltage
386 */
387static inline float mavlink_msg_sens_power_board_get_pwr_brd_servo_volt(const mavlink_message_t* msg)
388{
389 return _MAV_RETURN_float(msg, 12);
390}
391
392/**
393 * @brief Get field pwr_brd_mot_l_amp from sens_power_board message
394 *
395 * @return Power board left motor current sensor
396 */
397static inline float mavlink_msg_sens_power_board_get_pwr_brd_mot_l_amp(const mavlink_message_t* msg)
398{
399 return _MAV_RETURN_float(msg, 16);
400}
401
402/**
403 * @brief Get field pwr_brd_mot_r_amp from sens_power_board message
404 *
405 * @return Power board right motor current sensor
406 */
407static inline float mavlink_msg_sens_power_board_get_pwr_brd_mot_r_amp(const mavlink_message_t* msg)
408{
409 return _MAV_RETURN_float(msg, 20);
410}
411
412/**
413 * @brief Get field pwr_brd_servo_1_amp from sens_power_board message
414 *
415 * @return Power board servo1 current sensor
416 */
417static inline float mavlink_msg_sens_power_board_get_pwr_brd_servo_1_amp(const mavlink_message_t* msg)
418{
419 return _MAV_RETURN_float(msg, 24);
420}
421
422/**
423 * @brief Get field pwr_brd_servo_2_amp from sens_power_board message
424 *
425 * @return Power board servo1 current sensor
426 */
427static inline float mavlink_msg_sens_power_board_get_pwr_brd_servo_2_amp(const mavlink_message_t* msg)
428{
429 return _MAV_RETURN_float(msg, 28);
430}
431
432/**
433 * @brief Get field pwr_brd_servo_3_amp from sens_power_board message
434 *
435 * @return Power board servo1 current sensor
436 */
437static inline float mavlink_msg_sens_power_board_get_pwr_brd_servo_3_amp(const mavlink_message_t* msg)
438{
439 return _MAV_RETURN_float(msg, 32);
440}
441
442/**
443 * @brief Get field pwr_brd_servo_4_amp from sens_power_board message
444 *
445 * @return Power board servo1 current sensor
446 */
447static inline float mavlink_msg_sens_power_board_get_pwr_brd_servo_4_amp(const mavlink_message_t* msg)
448{
449 return _MAV_RETURN_float(msg, 36);
450}
451
452/**
453 * @brief Get field pwr_brd_aux_amp from sens_power_board message
454 *
455 * @return Power board aux current sensor
456 */
457static inline float mavlink_msg_sens_power_board_get_pwr_brd_aux_amp(const mavlink_message_t* msg)
458{
459 return _MAV_RETURN_float(msg, 40);
460}
461
462/**
463 * @brief Decode a sens_power_board message into a struct
464 *
465 * @param msg The message to decode
466 * @param sens_power_board C-struct to decode the message contents into
467 */
468static inline void mavlink_msg_sens_power_board_decode(const mavlink_message_t* msg, mavlink_sens_power_board_t* sens_power_board)
469{
470#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
471 sens_power_board->timestamp = mavlink_msg_sens_power_board_get_timestamp(msg);
472 sens_power_board->pwr_brd_system_volt = mavlink_msg_sens_power_board_get_pwr_brd_system_volt(msg);
473 sens_power_board->pwr_brd_servo_volt = mavlink_msg_sens_power_board_get_pwr_brd_servo_volt(msg);
474 sens_power_board->pwr_brd_mot_l_amp = mavlink_msg_sens_power_board_get_pwr_brd_mot_l_amp(msg);
475 sens_power_board->pwr_brd_mot_r_amp = mavlink_msg_sens_power_board_get_pwr_brd_mot_r_amp(msg);
476 sens_power_board->pwr_brd_servo_1_amp = mavlink_msg_sens_power_board_get_pwr_brd_servo_1_amp(msg);
477 sens_power_board->pwr_brd_servo_2_amp = mavlink_msg_sens_power_board_get_pwr_brd_servo_2_amp(msg);
478 sens_power_board->pwr_brd_servo_3_amp = mavlink_msg_sens_power_board_get_pwr_brd_servo_3_amp(msg);
479 sens_power_board->pwr_brd_servo_4_amp = mavlink_msg_sens_power_board_get_pwr_brd_servo_4_amp(msg);
480 sens_power_board->pwr_brd_aux_amp = mavlink_msg_sens_power_board_get_pwr_brd_aux_amp(msg);
481 sens_power_board->pwr_brd_status = mavlink_msg_sens_power_board_get_pwr_brd_status(msg);
482 sens_power_board->pwr_brd_led_status = mavlink_msg_sens_power_board_get_pwr_brd_led_status(msg);
483#else
484 uint8_t len = msg->len < MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN? msg->len : MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN;
485 memset(sens_power_board, 0, MAVLINK_MSG_ID_SENS_POWER_BOARD_LEN);
486 memcpy(sens_power_board, _MAV_PAYLOAD(msg), len);
487#endif
488}