mavlink_msg_vkfly_mission_catch_status.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. #pragma once
  2. // MESSAGE VKFLY_MISSION_CATCH_STATUS PACKING
  3. #define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS 53901
  4. typedef struct __mavlink_vkfly_mission_catch_status_t {
  5. uint64_t timestamp; /*< [us] unix timestamp*/
  6. uint32_t task_stage; /*< mission task stage*/
  7. float lidar_dist; /*< [m] lidar distance*/
  8. uint32_t reserve; /*< radar target amsl altitude*/
  9. } mavlink_vkfly_mission_catch_status_t;
  10. #define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN 20
  11. #define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN 20
  12. #define MAVLINK_MSG_ID_53901_LEN 20
  13. #define MAVLINK_MSG_ID_53901_MIN_LEN 20
  14. #define MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC 136
  15. #define MAVLINK_MSG_ID_53901_CRC 136
  16. #if MAVLINK_COMMAND_24BIT
  17. #define MAVLINK_MESSAGE_INFO_VKFLY_MISSION_CATCH_STATUS { \
  18. 53901, \
  19. "VKFLY_MISSION_CATCH_STATUS", \
  20. 4, \
  21. { { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_vkfly_mission_catch_status_t, timestamp) }, \
  22. { "task_stage", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfly_mission_catch_status_t, task_stage) }, \
  23. { "lidar_dist", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfly_mission_catch_status_t, lidar_dist) }, \
  24. { "reserve", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_vkfly_mission_catch_status_t, reserve) }, \
  25. } \
  26. }
  27. #else
  28. #define MAVLINK_MESSAGE_INFO_VKFLY_MISSION_CATCH_STATUS { \
  29. "VKFLY_MISSION_CATCH_STATUS", \
  30. 4, \
  31. { { "timestamp", NULL, MAVLINK_TYPE_UINT64_T, 0, 0, offsetof(mavlink_vkfly_mission_catch_status_t, timestamp) }, \
  32. { "task_stage", NULL, MAVLINK_TYPE_UINT32_T, 0, 8, offsetof(mavlink_vkfly_mission_catch_status_t, task_stage) }, \
  33. { "lidar_dist", NULL, MAVLINK_TYPE_FLOAT, 0, 12, offsetof(mavlink_vkfly_mission_catch_status_t, lidar_dist) }, \
  34. { "reserve", NULL, MAVLINK_TYPE_UINT32_T, 0, 16, offsetof(mavlink_vkfly_mission_catch_status_t, reserve) }, \
  35. } \
  36. }
  37. #endif
  38. /**
  39. * @brief Pack a vkfly_mission_catch_status message
  40. * @param system_id ID of this system
  41. * @param component_id ID of this component (e.g. 200 for IMU)
  42. * @param msg The MAVLink message to compress the data into
  43. *
  44. * @param timestamp [us] unix timestamp
  45. * @param task_stage mission task stage
  46. * @param lidar_dist [m] lidar distance
  47. * @param reserve radar target amsl altitude
  48. * @return length of the message in bytes (excluding serial stream start sign)
  49. */
  50. static inline uint16_t mavlink_msg_vkfly_mission_catch_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
  51. uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
  52. {
  53. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  54. char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
  55. _mav_put_uint64_t(buf, 0, timestamp);
  56. _mav_put_uint32_t(buf, 8, task_stage);
  57. _mav_put_float(buf, 12, lidar_dist);
  58. _mav_put_uint32_t(buf, 16, reserve);
  59. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  60. #else
  61. mavlink_vkfly_mission_catch_status_t packet;
  62. packet.timestamp = timestamp;
  63. packet.task_stage = task_stage;
  64. packet.lidar_dist = lidar_dist;
  65. packet.reserve = reserve;
  66. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  67. #endif
  68. msg->msgid = MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS;
  69. return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  70. }
  71. /**
  72. * @brief Pack a vkfly_mission_catch_status message
  73. * @param system_id ID of this system
  74. * @param component_id ID of this component (e.g. 200 for IMU)
  75. * @param status MAVLink status structure
  76. * @param msg The MAVLink message to compress the data into
  77. *
  78. * @param timestamp [us] unix timestamp
  79. * @param task_stage mission task stage
  80. * @param lidar_dist [m] lidar distance
  81. * @param reserve radar target amsl altitude
  82. * @return length of the message in bytes (excluding serial stream start sign)
  83. */
  84. static inline uint16_t mavlink_msg_vkfly_mission_catch_status_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
  85. uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
  86. {
  87. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  88. char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
  89. _mav_put_uint64_t(buf, 0, timestamp);
  90. _mav_put_uint32_t(buf, 8, task_stage);
  91. _mav_put_float(buf, 12, lidar_dist);
  92. _mav_put_uint32_t(buf, 16, reserve);
  93. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  94. #else
  95. mavlink_vkfly_mission_catch_status_t packet;
  96. packet.timestamp = timestamp;
  97. packet.task_stage = task_stage;
  98. packet.lidar_dist = lidar_dist;
  99. packet.reserve = reserve;
  100. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  101. #endif
  102. msg->msgid = MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS;
  103. #if MAVLINK_CRC_EXTRA
  104. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  105. #else
  106. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  107. #endif
  108. }
  109. /**
  110. * @brief Pack a vkfly_mission_catch_status message on a channel
  111. * @param system_id ID of this system
  112. * @param component_id ID of this component (e.g. 200 for IMU)
  113. * @param chan The MAVLink channel this message will be sent over
  114. * @param msg The MAVLink message to compress the data into
  115. * @param timestamp [us] unix timestamp
  116. * @param task_stage mission task stage
  117. * @param lidar_dist [m] lidar distance
  118. * @param reserve radar target amsl altitude
  119. * @return length of the message in bytes (excluding serial stream start sign)
  120. */
  121. static inline uint16_t mavlink_msg_vkfly_mission_catch_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
  122. mavlink_message_t* msg,
  123. uint64_t timestamp,uint32_t task_stage,float lidar_dist,uint32_t reserve)
  124. {
  125. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  126. char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
  127. _mav_put_uint64_t(buf, 0, timestamp);
  128. _mav_put_uint32_t(buf, 8, task_stage);
  129. _mav_put_float(buf, 12, lidar_dist);
  130. _mav_put_uint32_t(buf, 16, reserve);
  131. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  132. #else
  133. mavlink_vkfly_mission_catch_status_t packet;
  134. packet.timestamp = timestamp;
  135. packet.task_stage = task_stage;
  136. packet.lidar_dist = lidar_dist;
  137. packet.reserve = reserve;
  138. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  139. #endif
  140. msg->msgid = MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS;
  141. return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  142. }
  143. /**
  144. * @brief Encode a vkfly_mission_catch_status struct
  145. *
  146. * @param system_id ID of this system
  147. * @param component_id ID of this component (e.g. 200 for IMU)
  148. * @param msg The MAVLink message to compress the data into
  149. * @param vkfly_mission_catch_status C-struct to read the message contents from
  150. */
  151. static inline uint16_t mavlink_msg_vkfly_mission_catch_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
  152. {
  153. return mavlink_msg_vkfly_mission_catch_status_pack(system_id, component_id, msg, vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
  154. }
  155. /**
  156. * @brief Encode a vkfly_mission_catch_status struct on a channel
  157. *
  158. * @param system_id ID of this system
  159. * @param component_id ID of this component (e.g. 200 for IMU)
  160. * @param chan The MAVLink channel this message will be sent over
  161. * @param msg The MAVLink message to compress the data into
  162. * @param vkfly_mission_catch_status C-struct to read the message contents from
  163. */
  164. static inline uint16_t mavlink_msg_vkfly_mission_catch_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
  165. {
  166. return mavlink_msg_vkfly_mission_catch_status_pack_chan(system_id, component_id, chan, msg, vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
  167. }
  168. /**
  169. * @brief Encode a vkfly_mission_catch_status struct with provided status structure
  170. *
  171. * @param system_id ID of this system
  172. * @param component_id ID of this component (e.g. 200 for IMU)
  173. * @param status MAVLink status structure
  174. * @param msg The MAVLink message to compress the data into
  175. * @param vkfly_mission_catch_status C-struct to read the message contents from
  176. */
  177. static inline uint16_t mavlink_msg_vkfly_mission_catch_status_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
  178. {
  179. return mavlink_msg_vkfly_mission_catch_status_pack_status(system_id, component_id, _status, msg, vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
  180. }
  181. /**
  182. * @brief Send a vkfly_mission_catch_status message
  183. * @param chan MAVLink channel to send the message
  184. *
  185. * @param timestamp [us] unix timestamp
  186. * @param task_stage mission task stage
  187. * @param lidar_dist [m] lidar distance
  188. * @param reserve radar target amsl altitude
  189. */
  190. #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
  191. static inline void mavlink_msg_vkfly_mission_catch_status_send(mavlink_channel_t chan, uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
  192. {
  193. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  194. char buf[MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN];
  195. _mav_put_uint64_t(buf, 0, timestamp);
  196. _mav_put_uint32_t(buf, 8, task_stage);
  197. _mav_put_float(buf, 12, lidar_dist);
  198. _mav_put_uint32_t(buf, 16, reserve);
  199. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  200. #else
  201. mavlink_vkfly_mission_catch_status_t packet;
  202. packet.timestamp = timestamp;
  203. packet.task_stage = task_stage;
  204. packet.lidar_dist = lidar_dist;
  205. packet.reserve = reserve;
  206. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  207. #endif
  208. }
  209. /**
  210. * @brief Send a vkfly_mission_catch_status message
  211. * @param chan MAVLink channel to send the message
  212. * @param struct The MAVLink struct to serialize
  213. */
  214. static inline void mavlink_msg_vkfly_mission_catch_status_send_struct(mavlink_channel_t chan, const mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
  215. {
  216. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  217. mavlink_msg_vkfly_mission_catch_status_send(chan, vkfly_mission_catch_status->timestamp, vkfly_mission_catch_status->task_stage, vkfly_mission_catch_status->lidar_dist, vkfly_mission_catch_status->reserve);
  218. #else
  219. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, (const char *)vkfly_mission_catch_status, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  220. #endif
  221. }
  222. #if MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
  223. /*
  224. This variant of _send() can be used to save stack space by re-using
  225. memory from the receive buffer. The caller provides a
  226. mavlink_message_t which is the size of a full mavlink message. This
  227. is usually the receive buffer for the channel, and allows a reply to an
  228. incoming message with minimum stack space usage.
  229. */
  230. static inline void mavlink_msg_vkfly_mission_catch_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint64_t timestamp, uint32_t task_stage, float lidar_dist, uint32_t reserve)
  231. {
  232. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  233. char *buf = (char *)msgbuf;
  234. _mav_put_uint64_t(buf, 0, timestamp);
  235. _mav_put_uint32_t(buf, 8, task_stage);
  236. _mav_put_float(buf, 12, lidar_dist);
  237. _mav_put_uint32_t(buf, 16, reserve);
  238. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, buf, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  239. #else
  240. mavlink_vkfly_mission_catch_status_t *packet = (mavlink_vkfly_mission_catch_status_t *)msgbuf;
  241. packet->timestamp = timestamp;
  242. packet->task_stage = task_stage;
  243. packet->lidar_dist = lidar_dist;
  244. packet->reserve = reserve;
  245. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS, (const char *)packet, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_MIN_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_CRC);
  246. #endif
  247. }
  248. #endif
  249. #endif
  250. // MESSAGE VKFLY_MISSION_CATCH_STATUS UNPACKING
  251. /**
  252. * @brief Get field timestamp from vkfly_mission_catch_status message
  253. *
  254. * @return [us] unix timestamp
  255. */
  256. static inline uint64_t mavlink_msg_vkfly_mission_catch_status_get_timestamp(const mavlink_message_t* msg)
  257. {
  258. return _MAV_RETURN_uint64_t(msg, 0);
  259. }
  260. /**
  261. * @brief Get field task_stage from vkfly_mission_catch_status message
  262. *
  263. * @return mission task stage
  264. */
  265. static inline uint32_t mavlink_msg_vkfly_mission_catch_status_get_task_stage(const mavlink_message_t* msg)
  266. {
  267. return _MAV_RETURN_uint32_t(msg, 8);
  268. }
  269. /**
  270. * @brief Get field lidar_dist from vkfly_mission_catch_status message
  271. *
  272. * @return [m] lidar distance
  273. */
  274. static inline float mavlink_msg_vkfly_mission_catch_status_get_lidar_dist(const mavlink_message_t* msg)
  275. {
  276. return _MAV_RETURN_float(msg, 12);
  277. }
  278. /**
  279. * @brief Get field reserve from vkfly_mission_catch_status message
  280. *
  281. * @return radar target amsl altitude
  282. */
  283. static inline uint32_t mavlink_msg_vkfly_mission_catch_status_get_reserve(const mavlink_message_t* msg)
  284. {
  285. return _MAV_RETURN_uint32_t(msg, 16);
  286. }
  287. /**
  288. * @brief Decode a vkfly_mission_catch_status message into a struct
  289. *
  290. * @param msg The message to decode
  291. * @param vkfly_mission_catch_status C-struct to decode the message contents into
  292. */
  293. static inline void mavlink_msg_vkfly_mission_catch_status_decode(const mavlink_message_t* msg, mavlink_vkfly_mission_catch_status_t* vkfly_mission_catch_status)
  294. {
  295. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  296. vkfly_mission_catch_status->timestamp = mavlink_msg_vkfly_mission_catch_status_get_timestamp(msg);
  297. vkfly_mission_catch_status->task_stage = mavlink_msg_vkfly_mission_catch_status_get_task_stage(msg);
  298. vkfly_mission_catch_status->lidar_dist = mavlink_msg_vkfly_mission_catch_status_get_lidar_dist(msg);
  299. vkfly_mission_catch_status->reserve = mavlink_msg_vkfly_mission_catch_status_get_reserve(msg);
  300. #else
  301. uint8_t len = msg->len < MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN? msg->len : MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN;
  302. memset(vkfly_mission_catch_status, 0, MAVLINK_MSG_ID_VKFLY_MISSION_CATCH_STATUS_LEN);
  303. memcpy(vkfly_mission_catch_status, _MAV_PAYLOAD(msg), len);
  304. #endif
  305. }