NinjaFlight
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mavlink_msg_log_entry.h
Go to the documentation of this file.
1 // MESSAGE LOG_ENTRY PACKING
2 
3 #define MAVLINK_MSG_ID_LOG_ENTRY 118
4 
5 typedef struct __mavlink_log_entry_t
6 {
7  uint32_t time_utc;
8  uint32_t size;
9  uint16_t id;
10  uint16_t num_logs;
11  uint16_t last_log_num;
13 
14 #define MAVLINK_MSG_ID_LOG_ENTRY_LEN 14
15 #define MAVLINK_MSG_ID_118_LEN 14
16 
17 #define MAVLINK_MSG_ID_LOG_ENTRY_CRC 56
18 #define MAVLINK_MSG_ID_118_CRC 56
19 
20 
21 
22 #define MAVLINK_MESSAGE_INFO_LOG_ENTRY { \
23  "LOG_ENTRY", \
24  5, \
25  { { "time_utc", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_log_entry_t, time_utc) }, \
26  { "size", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_log_entry_t, size) }, \
27  { "id", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_log_entry_t, id) }, \
28  { "num_logs", NULL, MAVLINK_TYPE_UINT16_T, 0, 10, offsetof(mavlink_log_entry_t, num_logs) }, \
29  { "last_log_num", NULL, MAVLINK_TYPE_UINT16_T, 0, 12, offsetof(mavlink_log_entry_t, last_log_num) }, \
30  } \
31 }
32 
33 
47 static inline uint16_t mavlink_msg_log_entry_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
48  uint16_t id, uint16_t num_logs, uint16_t last_log_num, uint32_t time_utc, uint32_t size)
49 {
50 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
52  _mav_put_uint32_t(buf, 0, time_utc);
53  _mav_put_uint32_t(buf, 4, size);
54  _mav_put_uint16_t(buf, 8, id);
55  _mav_put_uint16_t(buf, 10, num_logs);
56  _mav_put_uint16_t(buf, 12, last_log_num);
57 
59 #else
60  mavlink_log_entry_t packet;
61  packet.time_utc = time_utc;
62  packet.size = size;
63  packet.id = id;
64  packet.num_logs = num_logs;
65  packet.last_log_num = last_log_num;
66 
68 #endif
69 
70  msg->msgid = MAVLINK_MSG_ID_LOG_ENTRY;
71 #if MAVLINK_CRC_EXTRA
73 #else
74  return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_LOG_ENTRY_LEN);
75 #endif
76 }
77 
91 static inline uint16_t mavlink_msg_log_entry_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
92  mavlink_message_t* msg,
93  uint16_t id,uint16_t num_logs,uint16_t last_log_num,uint32_t time_utc,uint32_t size)
94 {
95 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
97  _mav_put_uint32_t(buf, 0, time_utc);
98  _mav_put_uint32_t(buf, 4, size);
99  _mav_put_uint16_t(buf, 8, id);
100  _mav_put_uint16_t(buf, 10, num_logs);
101  _mav_put_uint16_t(buf, 12, last_log_num);
102 
104 #else
105  mavlink_log_entry_t packet;
106  packet.time_utc = time_utc;
107  packet.size = size;
108  packet.id = id;
109  packet.num_logs = num_logs;
110  packet.last_log_num = last_log_num;
111 
113 #endif
114 
115  msg->msgid = MAVLINK_MSG_ID_LOG_ENTRY;
116 #if MAVLINK_CRC_EXTRA
118 #else
119  return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_LOG_ENTRY_LEN);
120 #endif
121 }
122 
131 static inline uint16_t mavlink_msg_log_entry_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_log_entry_t* log_entry)
132 {
133  return mavlink_msg_log_entry_pack(system_id, component_id, msg, log_entry->id, log_entry->num_logs, log_entry->last_log_num, log_entry->time_utc, log_entry->size);
134 }
135 
145 static inline uint16_t mavlink_msg_log_entry_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_log_entry_t* log_entry)
146 {
147  return mavlink_msg_log_entry_pack_chan(system_id, component_id, chan, msg, log_entry->id, log_entry->num_logs, log_entry->last_log_num, log_entry->time_utc, log_entry->size);
148 }
149 
160 #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
161 
162 static inline void mavlink_msg_log_entry_send(mavlink_channel_t chan, uint16_t id, uint16_t num_logs, uint16_t last_log_num, uint32_t time_utc, uint32_t size)
163 {
164 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
166  _mav_put_uint32_t(buf, 0, time_utc);
167  _mav_put_uint32_t(buf, 4, size);
168  _mav_put_uint16_t(buf, 8, id);
169  _mav_put_uint16_t(buf, 10, num_logs);
170  _mav_put_uint16_t(buf, 12, last_log_num);
171 
172 #if MAVLINK_CRC_EXTRA
173  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, buf, MAVLINK_MSG_ID_LOG_ENTRY_LEN, MAVLINK_MSG_ID_LOG_ENTRY_CRC);
174 #else
175  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, buf, MAVLINK_MSG_ID_LOG_ENTRY_LEN);
176 #endif
177 #else
178  mavlink_log_entry_t packet;
179  packet.time_utc = time_utc;
180  packet.size = size;
181  packet.id = id;
182  packet.num_logs = num_logs;
183  packet.last_log_num = last_log_num;
184 
185 #if MAVLINK_CRC_EXTRA
186  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, (const char *)&packet, MAVLINK_MSG_ID_LOG_ENTRY_LEN, MAVLINK_MSG_ID_LOG_ENTRY_CRC);
187 #else
188  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, (const char *)&packet, MAVLINK_MSG_ID_LOG_ENTRY_LEN);
189 #endif
190 #endif
191 }
192 
193 #if MAVLINK_MSG_ID_LOG_ENTRY_LEN <= MAVLINK_MAX_PAYLOAD_LEN
194 /*
195  This varient of _send() can be used to save stack space by re-using
196  memory from the receive buffer. The caller provides a
197  mavlink_message_t which is the size of a full mavlink message. This
198  is usually the receive buffer for the channel, and allows a reply to an
199  incoming message with minimum stack space usage.
200  */
201 static inline void mavlink_msg_log_entry_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint16_t id, uint16_t num_logs, uint16_t last_log_num, uint32_t time_utc, uint32_t size)
202 {
203 #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
204  char *buf = (char *)msgbuf;
205  _mav_put_uint32_t(buf, 0, time_utc);
206  _mav_put_uint32_t(buf, 4, size);
207  _mav_put_uint16_t(buf, 8, id);
208  _mav_put_uint16_t(buf, 10, num_logs);
209  _mav_put_uint16_t(buf, 12, last_log_num);
210 
211 #if MAVLINK_CRC_EXTRA
212  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, buf, MAVLINK_MSG_ID_LOG_ENTRY_LEN, MAVLINK_MSG_ID_LOG_ENTRY_CRC);
213 #else
214  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, buf, MAVLINK_MSG_ID_LOG_ENTRY_LEN);
215 #endif
216 #else
217  mavlink_log_entry_t *packet = (mavlink_log_entry_t *)msgbuf;
218  packet->time_utc = time_utc;
219  packet->size = size;
220  packet->id = id;
221  packet->num_logs = num_logs;
222  packet->last_log_num = last_log_num;
223 
224 #if MAVLINK_CRC_EXTRA
225  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, (const char *)packet, MAVLINK_MSG_ID_LOG_ENTRY_LEN, MAVLINK_MSG_ID_LOG_ENTRY_CRC);
226 #else
227  _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_LOG_ENTRY, (const char *)packet, MAVLINK_MSG_ID_LOG_ENTRY_LEN);
228 #endif
229 #endif
230 }
231 #endif
232 
233 #endif
234 
235 // MESSAGE LOG_ENTRY UNPACKING
236 
237 
243 static inline uint16_t mavlink_msg_log_entry_get_id(const mavlink_message_t* msg)
244 {
245  return _MAV_RETURN_uint16_t(msg, 8);
246 }
247 
253 static inline uint16_t mavlink_msg_log_entry_get_num_logs(const mavlink_message_t* msg)
254 {
255  return _MAV_RETURN_uint16_t(msg, 10);
256 }
257 
263 static inline uint16_t mavlink_msg_log_entry_get_last_log_num(const mavlink_message_t* msg)
264 {
265  return _MAV_RETURN_uint16_t(msg, 12);
266 }
267 
273 static inline uint32_t mavlink_msg_log_entry_get_time_utc(const mavlink_message_t* msg)
274 {
275  return _MAV_RETURN_uint32_t(msg, 0);
276 }
277 
283 static inline uint32_t mavlink_msg_log_entry_get_size(const mavlink_message_t* msg)
284 {
285  return _MAV_RETURN_uint32_t(msg, 4);
286 }
287 
294 static inline void mavlink_msg_log_entry_decode(const mavlink_message_t* msg, mavlink_log_entry_t* log_entry)
295 {
296 #if MAVLINK_NEED_BYTE_SWAP
297  log_entry->time_utc = mavlink_msg_log_entry_get_time_utc(msg);
298  log_entry->size = mavlink_msg_log_entry_get_size(msg);
299  log_entry->id = mavlink_msg_log_entry_get_id(msg);
300  log_entry->num_logs = mavlink_msg_log_entry_get_num_logs(msg);
301  log_entry->last_log_num = mavlink_msg_log_entry_get_last_log_num(msg);
302 #else
303  memcpy(log_entry, _MAV_PAYLOAD(msg), MAVLINK_MSG_ID_LOG_ENTRY_LEN);
304 #endif
305 }
uint16_t last_log_num
High log number.
Definition: mavlink_msg_log_entry.h:11
struct __mavlink_log_entry_t mavlink_log_entry_t
uint16_t num_logs
Total number of logs.
Definition: mavlink_msg_log_entry.h:10
#define MAVLINK_MSG_ID_LOG_ENTRY
Definition: mavlink_msg_log_entry.h:3
#define MAVLINK_MSG_ID_LOG_ENTRY_LEN
Definition: mavlink_msg_log_entry.h:14
#define _mav_put_uint16_t(buf, wire_offset, b)
Definition: protocol.h:139
#define MAVLINK_MSG_ID_LOG_ENTRY_CRC
Definition: mavlink_msg_log_entry.h:17
Definition: mavlink_msg_log_entry.h:5
uint32_t time_utc
UTC timestamp of log in seconds since 1970, or 0 if not available.
Definition: mavlink_msg_log_entry.h:7
uint16_t id
Log id.
Definition: mavlink_msg_log_entry.h:9
uint32_t size
Size of the log (may be approximate) in bytes.
Definition: mavlink_msg_log_entry.h:8
#define _mav_put_uint32_t(buf, wire_offset, b)
Definition: protocol.h:141