Merge pull request #10476 from radiolinkW/RADIOLINKF722
[inav.git] / lib / main / MAVLink / common / mavlink_msg_isbd_link_status.h
bloba0c53745f973d895ae5aef202b9210a677f11b9e
1 #pragma once
2 // MESSAGE ISBD_LINK_STATUS PACKING
4 #define MAVLINK_MSG_ID_ISBD_LINK_STATUS 335
7 typedef struct __mavlink_isbd_link_status_t {
8 uint64_t timestamp; /*< [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.*/
9 uint64_t last_heartbeat; /*< [us] Timestamp of the last successful sbd session. The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.*/
10 uint16_t failed_sessions; /*< Number of failed SBD sessions.*/
11 uint16_t successful_sessions; /*< Number of successful SBD sessions.*/
12 uint8_t signal_quality; /*< Signal quality equal to the number of bars displayed on the ISU signal strength indicator. Range is 0 to 5, where 0 indicates no signal and 5 indicates maximum signal strength.*/
13 uint8_t ring_pending; /*< 1: Ring call pending, 0: No call pending.*/
14 uint8_t tx_session_pending; /*< 1: Transmission session pending, 0: No transmission session pending.*/
15 uint8_t rx_session_pending; /*< 1: Receiving session pending, 0: No receiving session pending.*/
16 } mavlink_isbd_link_status_t;
18 #define MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN 24
19 #define MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN 24
20 #define MAVLINK_MSG_ID_335_LEN 24
21 #define MAVLINK_MSG_ID_335_MIN_LEN 24
23 #define MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC 225
24 #define MAVLINK_MSG_ID_335_CRC 225
28 #if MAVLINK_COMMAND_24BIT
29 #define MAVLINK_MESSAGE_INFO_ISBD_LINK_STATUS { \
30 335, \
31 "ISBD_LINK_STATUS", \
32 8, \
33 { { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_isbd_link_status_t, timestamp) }, \
34 { "last_heartbeat", NULL, MAVLINK_TYPE_UINT64_T, 0, 8, offsetof(mavlink_isbd_link_status_t, last_heartbeat) }, \
35 { "failed_sessions", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_isbd_link_status_t, failed_sessions) }, \
36 { "successful_sessions", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_isbd_link_status_t, successful_sessions) }, \
37 { "signal_quality", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_isbd_link_status_t, signal_quality) }, \
38 { "ring_pending", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_isbd_link_status_t, ring_pending) }, \
39 { "tx_session_pending", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_isbd_link_status_t, tx_session_pending) }, \
40 { "rx_session_pending", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_isbd_link_status_t, rx_session_pending) }, \
41 } \
43 #else
44 #define MAVLINK_MESSAGE_INFO_ISBD_LINK_STATUS { \
45 "ISBD_LINK_STATUS", \
46 8, \
47 { { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_isbd_link_status_t, timestamp) }, \
48 { "last_heartbeat", NULL, MAVLINK_TYPE_UINT64_T, 0, 8, offsetof(mavlink_isbd_link_status_t, last_heartbeat) }, \
49 { "failed_sessions", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_isbd_link_status_t, failed_sessions) }, \
50 { "successful_sessions", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_isbd_link_status_t, successful_sessions) }, \
51 { "signal_quality", NULL, MAVLINK_TYPE_UINT8_T, 0, 20, offsetof(mavlink_isbd_link_status_t, signal_quality) }, \
52 { "ring_pending", NULL, MAVLINK_TYPE_UINT8_T, 0, 21, offsetof(mavlink_isbd_link_status_t, ring_pending) }, \
53 { "tx_session_pending", NULL, MAVLINK_TYPE_UINT8_T, 0, 22, offsetof(mavlink_isbd_link_status_t, tx_session_pending) }, \
54 { "rx_session_pending", NULL, MAVLINK_TYPE_UINT8_T, 0, 23, offsetof(mavlink_isbd_link_status_t, rx_session_pending) }, \
55 } \
57 #endif
59 /**
60 * @brief Pack a isbd_link_status message
61 * @param system_id ID of this system
62 * @param component_id ID of this component (e.g. 200 for IMU)
63 * @param msg The MAVLink message to compress the data into
65 * @param timestamp [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
66 * @param last_heartbeat [us] Timestamp of the last successful sbd session. The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
67 * @param failed_sessions Number of failed SBD sessions.
68 * @param successful_sessions Number of successful SBD sessions.
69 * @param signal_quality Signal quality equal to the number of bars displayed on the ISU signal strength indicator. Range is 0 to 5, where 0 indicates no signal and 5 indicates maximum signal strength.
70 * @param ring_pending 1: Ring call pending, 0: No call pending.
71 * @param tx_session_pending 1: Transmission session pending, 0: No transmission session pending.
72 * @param rx_session_pending 1: Receiving session pending, 0: No receiving session pending.
73 * @return length of the message in bytes (excluding serial stream start sign)
75 static inline uint16_t mavlink_msg_isbd_link_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
76 uint64_t timestamp, uint64_t last_heartbeat, uint16_t failed_sessions, uint16_t successful_sessions, uint8_t signal_quality, uint8_t ring_pending, uint8_t tx_session_pending, uint8_t rx_session_pending)
78 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
79 char buf[MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN];
80 _mav_put_uint64_t(buf, 0, timestamp);
81 _mav_put_uint64_t(buf, 8, last_heartbeat);
82 _mav_put_uint16_t(buf, 16, failed_sessions);
83 _mav_put_uint16_t(buf, 18, successful_sessions);
84 _mav_put_uint8_t(buf, 20, signal_quality);
85 _mav_put_uint8_t(buf, 21, ring_pending);
86 _mav_put_uint8_t(buf, 22, tx_session_pending);
87 _mav_put_uint8_t(buf, 23, rx_session_pending);
89 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN);
90 #else
91 mavlink_isbd_link_status_t packet;
92 packet.timestamp = timestamp;
93 packet.last_heartbeat = last_heartbeat;
94 packet.failed_sessions = failed_sessions;
95 packet.successful_sessions = successful_sessions;
96 packet.signal_quality = signal_quality;
97 packet.ring_pending = ring_pending;
98 packet.tx_session_pending = tx_session_pending;
99 packet.rx_session_pending = rx_session_pending;
101 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN);
102 #endif
104 msg->msgid = MAVLINK_MSG_ID_ISBD_LINK_STATUS;
105 return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC);
109 * @brief Pack a isbd_link_status message on a channel
110 * @param system_id ID of this system
111 * @param component_id ID of this component (e.g. 200 for IMU)
112 * @param chan The MAVLink channel this message will be sent over
113 * @param msg The MAVLink message to compress the data into
114 * @param timestamp [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
115 * @param last_heartbeat [us] Timestamp of the last successful sbd session. The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
116 * @param failed_sessions Number of failed SBD sessions.
117 * @param successful_sessions Number of successful SBD sessions.
118 * @param signal_quality Signal quality equal to the number of bars displayed on the ISU signal strength indicator. Range is 0 to 5, where 0 indicates no signal and 5 indicates maximum signal strength.
119 * @param ring_pending 1: Ring call pending, 0: No call pending.
120 * @param tx_session_pending 1: Transmission session pending, 0: No transmission session pending.
121 * @param rx_session_pending 1: Receiving session pending, 0: No receiving session pending.
122 * @return length of the message in bytes (excluding serial stream start sign)
124 static inline uint16_t mavlink_msg_isbd_link_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
125 mavlink_message_t* msg,
126 uint64_t timestamp,uint64_t last_heartbeat,uint16_t failed_sessions,uint16_t successful_sessions,uint8_t signal_quality,uint8_t ring_pending,uint8_t tx_session_pending,uint8_t rx_session_pending)
128 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
129 char buf[MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN];
130 _mav_put_uint64_t(buf, 0, timestamp);
131 _mav_put_uint64_t(buf, 8, last_heartbeat);
132 _mav_put_uint16_t(buf, 16, failed_sessions);
133 _mav_put_uint16_t(buf, 18, successful_sessions);
134 _mav_put_uint8_t(buf, 20, signal_quality);
135 _mav_put_uint8_t(buf, 21, ring_pending);
136 _mav_put_uint8_t(buf, 22, tx_session_pending);
137 _mav_put_uint8_t(buf, 23, rx_session_pending);
139 memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN);
140 #else
141 mavlink_isbd_link_status_t packet;
142 packet.timestamp = timestamp;
143 packet.last_heartbeat = last_heartbeat;
144 packet.failed_sessions = failed_sessions;
145 packet.successful_sessions = successful_sessions;
146 packet.signal_quality = signal_quality;
147 packet.ring_pending = ring_pending;
148 packet.tx_session_pending = tx_session_pending;
149 packet.rx_session_pending = rx_session_pending;
151 memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN);
152 #endif
154 msg->msgid = MAVLINK_MSG_ID_ISBD_LINK_STATUS;
155 return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC);
159 * @brief Encode a isbd_link_status struct
161 * @param system_id ID of this system
162 * @param component_id ID of this component (e.g. 200 for IMU)
163 * @param msg The MAVLink message to compress the data into
164 * @param isbd_link_status C-struct to read the message contents from
166 static inline uint16_t mavlink_msg_isbd_link_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_isbd_link_status_t* isbd_link_status)
168 return mavlink_msg_isbd_link_status_pack(system_id, component_id, msg, isbd_link_status->timestamp, isbd_link_status->last_heartbeat, isbd_link_status->failed_sessions, isbd_link_status->successful_sessions, isbd_link_status->signal_quality, isbd_link_status->ring_pending, isbd_link_status->tx_session_pending, isbd_link_status->rx_session_pending);
172 * @brief Encode a isbd_link_status struct on a channel
174 * @param system_id ID of this system
175 * @param component_id ID of this component (e.g. 200 for IMU)
176 * @param chan The MAVLink channel this message will be sent over
177 * @param msg The MAVLink message to compress the data into
178 * @param isbd_link_status C-struct to read the message contents from
180 static inline uint16_t mavlink_msg_isbd_link_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_isbd_link_status_t* isbd_link_status)
182 return mavlink_msg_isbd_link_status_pack_chan(system_id, component_id, chan, msg, isbd_link_status->timestamp, isbd_link_status->last_heartbeat, isbd_link_status->failed_sessions, isbd_link_status->successful_sessions, isbd_link_status->signal_quality, isbd_link_status->ring_pending, isbd_link_status->tx_session_pending, isbd_link_status->rx_session_pending);
186 * @brief Send a isbd_link_status message
187 * @param chan MAVLink channel to send the message
189 * @param timestamp [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
190 * @param last_heartbeat [us] Timestamp of the last successful sbd session. The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
191 * @param failed_sessions Number of failed SBD sessions.
192 * @param successful_sessions Number of successful SBD sessions.
193 * @param signal_quality Signal quality equal to the number of bars displayed on the ISU signal strength indicator. Range is 0 to 5, where 0 indicates no signal and 5 indicates maximum signal strength.
194 * @param ring_pending 1: Ring call pending, 0: No call pending.
195 * @param tx_session_pending 1: Transmission session pending, 0: No transmission session pending.
196 * @param rx_session_pending 1: Receiving session pending, 0: No receiving session pending.
198 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
200 static inline void mavlink_msg_isbd_link_status_send(mavlink_channel_t chan, uint64_t timestamp, uint64_t last_heartbeat, uint16_t failed_sessions, uint16_t successful_sessions, uint8_t signal_quality, uint8_t ring_pending, uint8_t tx_session_pending, uint8_t rx_session_pending)
202 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
203 char buf[MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN];
204 _mav_put_uint64_t(buf, 0, timestamp);
205 _mav_put_uint64_t(buf, 8, last_heartbeat);
206 _mav_put_uint16_t(buf, 16, failed_sessions);
207 _mav_put_uint16_t(buf, 18, successful_sessions);
208 _mav_put_uint8_t(buf, 20, signal_quality);
209 _mav_put_uint8_t(buf, 21, ring_pending);
210 _mav_put_uint8_t(buf, 22, tx_session_pending);
211 _mav_put_uint8_t(buf, 23, rx_session_pending);
213 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ISBD_LINK_STATUS, buf, MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC);
214 #else
215 mavlink_isbd_link_status_t packet;
216 packet.timestamp = timestamp;
217 packet.last_heartbeat = last_heartbeat;
218 packet.failed_sessions = failed_sessions;
219 packet.successful_sessions = successful_sessions;
220 packet.signal_quality = signal_quality;
221 packet.ring_pending = ring_pending;
222 packet.tx_session_pending = tx_session_pending;
223 packet.rx_session_pending = rx_session_pending;
225 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ISBD_LINK_STATUS, (const char *)&packet, MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC);
226 #endif
230 * @brief Send a isbd_link_status message
231 * @param chan MAVLink channel to send the message
232 * @param struct The MAVLink struct to serialize
234 static inline void mavlink_msg_isbd_link_status_send_struct(mavlink_channel_t chan, const mavlink_isbd_link_status_t* isbd_link_status)
236 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
237 mavlink_msg_isbd_link_status_send(chan, isbd_link_status->timestamp, isbd_link_status->last_heartbeat, isbd_link_status->failed_sessions, isbd_link_status->successful_sessions, isbd_link_status->signal_quality, isbd_link_status->ring_pending, isbd_link_status->tx_session_pending, isbd_link_status->rx_session_pending);
238 #else
239 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ISBD_LINK_STATUS, (const char *)isbd_link_status, MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC);
240 #endif
243 #if MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
245 This varient of _send() can be used to save stack space by re-using
246 memory from the receive buffer. The caller provides a
247 mavlink_message_t which is the size of a full mavlink message. This
248 is usually the receive buffer for the channel, and allows a reply to an
249 incoming message with minimum stack space usage.
251 static inline void mavlink_msg_isbd_link_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t timestamp, uint64_t last_heartbeat, uint16_t failed_sessions, uint16_t successful_sessions, uint8_t signal_quality, uint8_t ring_pending, uint8_t tx_session_pending, uint8_t rx_session_pending)
253 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
254 char *buf = (char *)msgbuf;
255 _mav_put_uint64_t(buf, 0, timestamp);
256 _mav_put_uint64_t(buf, 8, last_heartbeat);
257 _mav_put_uint16_t(buf, 16, failed_sessions);
258 _mav_put_uint16_t(buf, 18, successful_sessions);
259 _mav_put_uint8_t(buf, 20, signal_quality);
260 _mav_put_uint8_t(buf, 21, ring_pending);
261 _mav_put_uint8_t(buf, 22, tx_session_pending);
262 _mav_put_uint8_t(buf, 23, rx_session_pending);
264 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ISBD_LINK_STATUS, buf, MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC);
265 #else
266 mavlink_isbd_link_status_t *packet = (mavlink_isbd_link_status_t *)msgbuf;
267 packet->timestamp = timestamp;
268 packet->last_heartbeat = last_heartbeat;
269 packet->failed_sessions = failed_sessions;
270 packet->successful_sessions = successful_sessions;
271 packet->signal_quality = signal_quality;
272 packet->ring_pending = ring_pending;
273 packet->tx_session_pending = tx_session_pending;
274 packet->rx_session_pending = rx_session_pending;
276 _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ISBD_LINK_STATUS, (const char *)packet, MAVLINK_MSG_ID_ISBD_LINK_STATUS_MIN_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN, MAVLINK_MSG_ID_ISBD_LINK_STATUS_CRC);
277 #endif
279 #endif
281 #endif
283 // MESSAGE ISBD_LINK_STATUS UNPACKING
287 * @brief Get field timestamp from isbd_link_status message
289 * @return [us] Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
291 static inline uint64_t mavlink_msg_isbd_link_status_get_timestamp(const mavlink_message_t* msg)
293 return _MAV_RETURN_uint64_t(msg, 0);
297 * @brief Get field last_heartbeat from isbd_link_status message
299 * @return [us] Timestamp of the last successful sbd session. The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.
301 static inline uint64_t mavlink_msg_isbd_link_status_get_last_heartbeat(const mavlink_message_t* msg)
303 return _MAV_RETURN_uint64_t(msg, 8);
307 * @brief Get field failed_sessions from isbd_link_status message
309 * @return Number of failed SBD sessions.
311 static inline uint16_t mavlink_msg_isbd_link_status_get_failed_sessions(const mavlink_message_t* msg)
313 return _MAV_RETURN_uint16_t(msg, 16);
317 * @brief Get field successful_sessions from isbd_link_status message
319 * @return Number of successful SBD sessions.
321 static inline uint16_t mavlink_msg_isbd_link_status_get_successful_sessions(const mavlink_message_t* msg)
323 return _MAV_RETURN_uint16_t(msg, 18);
327 * @brief Get field signal_quality from isbd_link_status message
329 * @return Signal quality equal to the number of bars displayed on the ISU signal strength indicator. Range is 0 to 5, where 0 indicates no signal and 5 indicates maximum signal strength.
331 static inline uint8_t mavlink_msg_isbd_link_status_get_signal_quality(const mavlink_message_t* msg)
333 return _MAV_RETURN_uint8_t(msg, 20);
337 * @brief Get field ring_pending from isbd_link_status message
339 * @return 1: Ring call pending, 0: No call pending.
341 static inline uint8_t mavlink_msg_isbd_link_status_get_ring_pending(const mavlink_message_t* msg)
343 return _MAV_RETURN_uint8_t(msg, 21);
347 * @brief Get field tx_session_pending from isbd_link_status message
349 * @return 1: Transmission session pending, 0: No transmission session pending.
351 static inline uint8_t mavlink_msg_isbd_link_status_get_tx_session_pending(const mavlink_message_t* msg)
353 return _MAV_RETURN_uint8_t(msg, 22);
357 * @brief Get field rx_session_pending from isbd_link_status message
359 * @return 1: Receiving session pending, 0: No receiving session pending.
361 static inline uint8_t mavlink_msg_isbd_link_status_get_rx_session_pending(const mavlink_message_t* msg)
363 return _MAV_RETURN_uint8_t(msg, 23);
367 * @brief Decode a isbd_link_status message into a struct
369 * @param msg The message to decode
370 * @param isbd_link_status C-struct to decode the message contents into
372 static inline void mavlink_msg_isbd_link_status_decode(const mavlink_message_t* msg, mavlink_isbd_link_status_t* isbd_link_status)
374 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
375 isbd_link_status->timestamp = mavlink_msg_isbd_link_status_get_timestamp(msg);
376 isbd_link_status->last_heartbeat = mavlink_msg_isbd_link_status_get_last_heartbeat(msg);
377 isbd_link_status->failed_sessions = mavlink_msg_isbd_link_status_get_failed_sessions(msg);
378 isbd_link_status->successful_sessions = mavlink_msg_isbd_link_status_get_successful_sessions(msg);
379 isbd_link_status->signal_quality = mavlink_msg_isbd_link_status_get_signal_quality(msg);
380 isbd_link_status->ring_pending = mavlink_msg_isbd_link_status_get_ring_pending(msg);
381 isbd_link_status->tx_session_pending = mavlink_msg_isbd_link_status_get_tx_session_pending(msg);
382 isbd_link_status->rx_session_pending = mavlink_msg_isbd_link_status_get_rx_session_pending(msg);
383 #else
384 uint8_t len = msg->len < MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN? msg->len : MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN;
385 memset(isbd_link_status, 0, MAVLINK_MSG_ID_ISBD_LINK_STATUS_LEN);
386 memcpy(isbd_link_status, _MAV_PAYLOAD(msg), len);
387 #endif