mavlink_msg_vk_digi_esc_status.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. #pragma once
  2. // MESSAGE VK_DIGI_ESC_STATUS PACKING
  3. #define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS 53005
  4. typedef struct __mavlink_vk_digi_esc_status_t {
  5. uint32_t time_boot_ms; /*< [ms] Timestamp in ms from system boot.*/
  6. uint16_t rot_spd; /*< BMS manufactor string*/
  7. uint8_t model_name[20]; /*< BMS equpment model name string*/
  8. uint8_t sn_id[20]; /*< BMS SN id string*/
  9. uint8_t hw_ver[10]; /*< BMS hardware version string*/
  10. uint8_t fw_ver[10]; /*< BMS firmware version string*/
  11. } mavlink_vk_digi_esc_status_t;
  12. #define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN 66
  13. #define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN 66
  14. #define MAVLINK_MSG_ID_53005_LEN 66
  15. #define MAVLINK_MSG_ID_53005_MIN_LEN 66
  16. #define MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC 25
  17. #define MAVLINK_MSG_ID_53005_CRC 25
  18. #define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_MODEL_NAME_LEN 20
  19. #define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_SN_ID_LEN 20
  20. #define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_HW_VER_LEN 10
  21. #define MAVLINK_MSG_VK_DIGI_ESC_STATUS_FIELD_FW_VER_LEN 10
  22. #if MAVLINK_COMMAND_24BIT
  23. #define MAVLINK_MESSAGE_INFO_VK_DIGI_ESC_STATUS { \
  24. 53005, \
  25. "VK_DIGI_ESC_STATUS", \
  26. 6, \
  27. { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_digi_esc_status_t, time_boot_ms) }, \
  28. { "rot_spd", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_vk_digi_esc_status_t, rot_spd) }, \
  29. { "model_name", NULL, MAVLINK_TYPE_UINT8_T, 20, 6, offsetof(mavlink_vk_digi_esc_status_t, model_name) }, \
  30. { "sn_id", NULL, MAVLINK_TYPE_UINT8_T, 20, 26, offsetof(mavlink_vk_digi_esc_status_t, sn_id) }, \
  31. { "hw_ver", NULL, MAVLINK_TYPE_UINT8_T, 10, 46, offsetof(mavlink_vk_digi_esc_status_t, hw_ver) }, \
  32. { "fw_ver", NULL, MAVLINK_TYPE_UINT8_T, 10, 56, offsetof(mavlink_vk_digi_esc_status_t, fw_ver) }, \
  33. } \
  34. }
  35. #else
  36. #define MAVLINK_MESSAGE_INFO_VK_DIGI_ESC_STATUS { \
  37. "VK_DIGI_ESC_STATUS", \
  38. 6, \
  39. { { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_digi_esc_status_t, time_boot_ms) }, \
  40. { "rot_spd", NULL, MAVLINK_TYPE_UINT16_T, 0, 4, offsetof(mavlink_vk_digi_esc_status_t, rot_spd) }, \
  41. { "model_name", NULL, MAVLINK_TYPE_UINT8_T, 20, 6, offsetof(mavlink_vk_digi_esc_status_t, model_name) }, \
  42. { "sn_id", NULL, MAVLINK_TYPE_UINT8_T, 20, 26, offsetof(mavlink_vk_digi_esc_status_t, sn_id) }, \
  43. { "hw_ver", NULL, MAVLINK_TYPE_UINT8_T, 10, 46, offsetof(mavlink_vk_digi_esc_status_t, hw_ver) }, \
  44. { "fw_ver", NULL, MAVLINK_TYPE_UINT8_T, 10, 56, offsetof(mavlink_vk_digi_esc_status_t, fw_ver) }, \
  45. } \
  46. }
  47. #endif
  48. /**
  49. * @brief Pack a vk_digi_esc_status message
  50. * @param system_id ID of this system
  51. * @param component_id ID of this component (e.g. 200 for IMU)
  52. * @param msg The MAVLink message to compress the data into
  53. *
  54. * @param time_boot_ms [ms] Timestamp in ms from system boot.
  55. * @param rot_spd BMS manufactor string
  56. * @param model_name BMS equpment model name string
  57. * @param sn_id BMS SN id string
  58. * @param hw_ver BMS hardware version string
  59. * @param fw_ver BMS firmware version string
  60. * @return length of the message in bytes (excluding serial stream start sign)
  61. */
  62. static inline uint16_t mavlink_msg_vk_digi_esc_status_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
  63. uint32_t time_boot_ms, uint16_t rot_spd, const uint8_t *model_name, const uint8_t *sn_id, const uint8_t *hw_ver, const uint8_t *fw_ver)
  64. {
  65. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  66. char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
  67. _mav_put_uint32_t(buf, 0, time_boot_ms);
  68. _mav_put_uint16_t(buf, 4, rot_spd);
  69. _mav_put_uint8_t_array(buf, 6, model_name, 20);
  70. _mav_put_uint8_t_array(buf, 26, sn_id, 20);
  71. _mav_put_uint8_t_array(buf, 46, hw_ver, 10);
  72. _mav_put_uint8_t_array(buf, 56, fw_ver, 10);
  73. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  74. #else
  75. mavlink_vk_digi_esc_status_t packet;
  76. packet.time_boot_ms = time_boot_ms;
  77. packet.rot_spd = rot_spd;
  78. mav_array_memcpy(packet.model_name, model_name, sizeof(uint8_t)*20);
  79. mav_array_memcpy(packet.sn_id, sn_id, sizeof(uint8_t)*20);
  80. mav_array_memcpy(packet.hw_ver, hw_ver, sizeof(uint8_t)*10);
  81. mav_array_memcpy(packet.fw_ver, fw_ver, sizeof(uint8_t)*10);
  82. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  83. #endif
  84. msg->msgid = MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS;
  85. return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  86. }
  87. /**
  88. * @brief Pack a vk_digi_esc_status message
  89. * @param system_id ID of this system
  90. * @param component_id ID of this component (e.g. 200 for IMU)
  91. * @param status MAVLink status structure
  92. * @param msg The MAVLink message to compress the data into
  93. *
  94. * @param time_boot_ms [ms] Timestamp in ms from system boot.
  95. * @param rot_spd BMS manufactor string
  96. * @param model_name BMS equpment model name string
  97. * @param sn_id BMS SN id string
  98. * @param hw_ver BMS hardware version string
  99. * @param fw_ver BMS firmware version string
  100. * @return length of the message in bytes (excluding serial stream start sign)
  101. */
  102. static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
  103. uint32_t time_boot_ms, uint16_t rot_spd, const uint8_t *model_name, const uint8_t *sn_id, const uint8_t *hw_ver, const uint8_t *fw_ver)
  104. {
  105. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  106. char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
  107. _mav_put_uint32_t(buf, 0, time_boot_ms);
  108. _mav_put_uint16_t(buf, 4, rot_spd);
  109. _mav_put_uint8_t_array(buf, 6, model_name, 20);
  110. _mav_put_uint8_t_array(buf, 26, sn_id, 20);
  111. _mav_put_uint8_t_array(buf, 46, hw_ver, 10);
  112. _mav_put_uint8_t_array(buf, 56, fw_ver, 10);
  113. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  114. #else
  115. mavlink_vk_digi_esc_status_t packet;
  116. packet.time_boot_ms = time_boot_ms;
  117. packet.rot_spd = rot_spd;
  118. mav_array_memcpy(packet.model_name, model_name, sizeof(uint8_t)*20);
  119. mav_array_memcpy(packet.sn_id, sn_id, sizeof(uint8_t)*20);
  120. mav_array_memcpy(packet.hw_ver, hw_ver, sizeof(uint8_t)*10);
  121. mav_array_memcpy(packet.fw_ver, fw_ver, sizeof(uint8_t)*10);
  122. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  123. #endif
  124. msg->msgid = MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS;
  125. #if MAVLINK_CRC_EXTRA
  126. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  127. #else
  128. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  129. #endif
  130. }
  131. /**
  132. * @brief Pack a vk_digi_esc_status message on a channel
  133. * @param system_id ID of this system
  134. * @param component_id ID of this component (e.g. 200 for IMU)
  135. * @param chan The MAVLink channel this message will be sent over
  136. * @param msg The MAVLink message to compress the data into
  137. * @param time_boot_ms [ms] Timestamp in ms from system boot.
  138. * @param rot_spd BMS manufactor string
  139. * @param model_name BMS equpment model name string
  140. * @param sn_id BMS SN id string
  141. * @param hw_ver BMS hardware version string
  142. * @param fw_ver BMS firmware version string
  143. * @return length of the message in bytes (excluding serial stream start sign)
  144. */
  145. static inline uint16_t mavlink_msg_vk_digi_esc_status_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
  146. mavlink_message_t* msg,
  147. uint32_t time_boot_ms,uint16_t rot_spd,const uint8_t *model_name,const uint8_t *sn_id,const uint8_t *hw_ver,const uint8_t *fw_ver)
  148. {
  149. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  150. char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
  151. _mav_put_uint32_t(buf, 0, time_boot_ms);
  152. _mav_put_uint16_t(buf, 4, rot_spd);
  153. _mav_put_uint8_t_array(buf, 6, model_name, 20);
  154. _mav_put_uint8_t_array(buf, 26, sn_id, 20);
  155. _mav_put_uint8_t_array(buf, 46, hw_ver, 10);
  156. _mav_put_uint8_t_array(buf, 56, fw_ver, 10);
  157. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  158. #else
  159. mavlink_vk_digi_esc_status_t packet;
  160. packet.time_boot_ms = time_boot_ms;
  161. packet.rot_spd = rot_spd;
  162. mav_array_memcpy(packet.model_name, model_name, sizeof(uint8_t)*20);
  163. mav_array_memcpy(packet.sn_id, sn_id, sizeof(uint8_t)*20);
  164. mav_array_memcpy(packet.hw_ver, hw_ver, sizeof(uint8_t)*10);
  165. mav_array_memcpy(packet.fw_ver, fw_ver, sizeof(uint8_t)*10);
  166. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  167. #endif
  168. msg->msgid = MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS;
  169. return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  170. }
  171. /**
  172. * @brief Encode a vk_digi_esc_status struct
  173. *
  174. * @param system_id ID of this system
  175. * @param component_id ID of this component (e.g. 200 for IMU)
  176. * @param msg The MAVLink message to compress the data into
  177. * @param vk_digi_esc_status C-struct to read the message contents from
  178. */
  179. static inline uint16_t mavlink_msg_vk_digi_esc_status_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
  180. {
  181. return mavlink_msg_vk_digi_esc_status_pack(system_id, component_id, msg, vk_digi_esc_status->time_boot_ms, vk_digi_esc_status->rot_spd, vk_digi_esc_status->model_name, vk_digi_esc_status->sn_id, vk_digi_esc_status->hw_ver, vk_digi_esc_status->fw_ver);
  182. }
  183. /**
  184. * @brief Encode a vk_digi_esc_status struct on a channel
  185. *
  186. * @param system_id ID of this system
  187. * @param component_id ID of this component (e.g. 200 for IMU)
  188. * @param chan The MAVLink channel this message will be sent over
  189. * @param msg The MAVLink message to compress the data into
  190. * @param vk_digi_esc_status C-struct to read the message contents from
  191. */
  192. static inline uint16_t mavlink_msg_vk_digi_esc_status_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
  193. {
  194. return mavlink_msg_vk_digi_esc_status_pack_chan(system_id, component_id, chan, msg, vk_digi_esc_status->time_boot_ms, vk_digi_esc_status->rot_spd, vk_digi_esc_status->model_name, vk_digi_esc_status->sn_id, vk_digi_esc_status->hw_ver, vk_digi_esc_status->fw_ver);
  195. }
  196. /**
  197. * @brief Encode a vk_digi_esc_status struct with provided status structure
  198. *
  199. * @param system_id ID of this system
  200. * @param component_id ID of this component (e.g. 200 for IMU)
  201. * @param status MAVLink status structure
  202. * @param msg The MAVLink message to compress the data into
  203. * @param vk_digi_esc_status C-struct to read the message contents from
  204. */
  205. static inline uint16_t mavlink_msg_vk_digi_esc_status_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
  206. {
  207. return mavlink_msg_vk_digi_esc_status_pack_status(system_id, component_id, _status, msg, vk_digi_esc_status->time_boot_ms, vk_digi_esc_status->rot_spd, vk_digi_esc_status->model_name, vk_digi_esc_status->sn_id, vk_digi_esc_status->hw_ver, vk_digi_esc_status->fw_ver);
  208. }
  209. /**
  210. * @brief Send a vk_digi_esc_status message
  211. * @param chan MAVLink channel to send the message
  212. *
  213. * @param time_boot_ms [ms] Timestamp in ms from system boot.
  214. * @param rot_spd BMS manufactor string
  215. * @param model_name BMS equpment model name string
  216. * @param sn_id BMS SN id string
  217. * @param hw_ver BMS hardware version string
  218. * @param fw_ver BMS firmware version string
  219. */
  220. #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
  221. static inline void mavlink_msg_vk_digi_esc_status_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint16_t rot_spd, const uint8_t *model_name, const uint8_t *sn_id, const uint8_t *hw_ver, const uint8_t *fw_ver)
  222. {
  223. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  224. char buf[MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN];
  225. _mav_put_uint32_t(buf, 0, time_boot_ms);
  226. _mav_put_uint16_t(buf, 4, rot_spd);
  227. _mav_put_uint8_t_array(buf, 6, model_name, 20);
  228. _mav_put_uint8_t_array(buf, 26, sn_id, 20);
  229. _mav_put_uint8_t_array(buf, 46, hw_ver, 10);
  230. _mav_put_uint8_t_array(buf, 56, fw_ver, 10);
  231. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  232. #else
  233. mavlink_vk_digi_esc_status_t packet;
  234. packet.time_boot_ms = time_boot_ms;
  235. packet.rot_spd = rot_spd;
  236. mav_array_memcpy(packet.model_name, model_name, sizeof(uint8_t)*20);
  237. mav_array_memcpy(packet.sn_id, sn_id, sizeof(uint8_t)*20);
  238. mav_array_memcpy(packet.hw_ver, hw_ver, sizeof(uint8_t)*10);
  239. mav_array_memcpy(packet.fw_ver, fw_ver, sizeof(uint8_t)*10);
  240. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)&packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  241. #endif
  242. }
  243. /**
  244. * @brief Send a vk_digi_esc_status message
  245. * @param chan MAVLink channel to send the message
  246. * @param struct The MAVLink struct to serialize
  247. */
  248. static inline void mavlink_msg_vk_digi_esc_status_send_struct(mavlink_channel_t chan, const mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
  249. {
  250. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  251. mavlink_msg_vk_digi_esc_status_send(chan, vk_digi_esc_status->time_boot_ms, vk_digi_esc_status->rot_spd, vk_digi_esc_status->model_name, vk_digi_esc_status->sn_id, vk_digi_esc_status->hw_ver, vk_digi_esc_status->fw_ver);
  252. #else
  253. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)vk_digi_esc_status, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  254. #endif
  255. }
  256. #if MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
  257. /*
  258. This variant of _send() can be used to save stack space by re-using
  259. memory from the receive buffer. The caller provides a
  260. mavlink_message_t which is the size of a full mavlink message. This
  261. is usually the receive buffer for the channel, and allows a reply to an
  262. incoming message with minimum stack space usage.
  263. */
  264. static inline void mavlink_msg_vk_digi_esc_status_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint32_t time_boot_ms, uint16_t rot_spd, const uint8_t *model_name, const uint8_t *sn_id, const uint8_t *hw_ver, const uint8_t *fw_ver)
  265. {
  266. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  267. char *buf = (char *)msgbuf;
  268. _mav_put_uint32_t(buf, 0, time_boot_ms);
  269. _mav_put_uint16_t(buf, 4, rot_spd);
  270. _mav_put_uint8_t_array(buf, 6, model_name, 20);
  271. _mav_put_uint8_t_array(buf, 26, sn_id, 20);
  272. _mav_put_uint8_t_array(buf, 46, hw_ver, 10);
  273. _mav_put_uint8_t_array(buf, 56, fw_ver, 10);
  274. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, buf, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  275. #else
  276. mavlink_vk_digi_esc_status_t *packet = (mavlink_vk_digi_esc_status_t *)msgbuf;
  277. packet->time_boot_ms = time_boot_ms;
  278. packet->rot_spd = rot_spd;
  279. mav_array_memcpy(packet->model_name, model_name, sizeof(uint8_t)*20);
  280. mav_array_memcpy(packet->sn_id, sn_id, sizeof(uint8_t)*20);
  281. mav_array_memcpy(packet->hw_ver, hw_ver, sizeof(uint8_t)*10);
  282. mav_array_memcpy(packet->fw_ver, fw_ver, sizeof(uint8_t)*10);
  283. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS, (const char *)packet, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_CRC);
  284. #endif
  285. }
  286. #endif
  287. #endif
  288. // MESSAGE VK_DIGI_ESC_STATUS UNPACKING
  289. /**
  290. * @brief Get field time_boot_ms from vk_digi_esc_status message
  291. *
  292. * @return [ms] Timestamp in ms from system boot.
  293. */
  294. static inline uint32_t mavlink_msg_vk_digi_esc_status_get_time_boot_ms(const mavlink_message_t* msg)
  295. {
  296. return _MAV_RETURN_uint32_t(msg, 0);
  297. }
  298. /**
  299. * @brief Get field rot_spd from vk_digi_esc_status message
  300. *
  301. * @return BMS manufactor string
  302. */
  303. static inline uint16_t mavlink_msg_vk_digi_esc_status_get_rot_spd(const mavlink_message_t* msg)
  304. {
  305. return _MAV_RETURN_uint16_t(msg, 4);
  306. }
  307. /**
  308. * @brief Get field model_name from vk_digi_esc_status message
  309. *
  310. * @return BMS equpment model name string
  311. */
  312. static inline uint16_t mavlink_msg_vk_digi_esc_status_get_model_name(const mavlink_message_t* msg, uint8_t *model_name)
  313. {
  314. return _MAV_RETURN_uint8_t_array(msg, model_name, 20, 6);
  315. }
  316. /**
  317. * @brief Get field sn_id from vk_digi_esc_status message
  318. *
  319. * @return BMS SN id string
  320. */
  321. static inline uint16_t mavlink_msg_vk_digi_esc_status_get_sn_id(const mavlink_message_t* msg, uint8_t *sn_id)
  322. {
  323. return _MAV_RETURN_uint8_t_array(msg, sn_id, 20, 26);
  324. }
  325. /**
  326. * @brief Get field hw_ver from vk_digi_esc_status message
  327. *
  328. * @return BMS hardware version string
  329. */
  330. static inline uint16_t mavlink_msg_vk_digi_esc_status_get_hw_ver(const mavlink_message_t* msg, uint8_t *hw_ver)
  331. {
  332. return _MAV_RETURN_uint8_t_array(msg, hw_ver, 10, 46);
  333. }
  334. /**
  335. * @brief Get field fw_ver from vk_digi_esc_status message
  336. *
  337. * @return BMS firmware version string
  338. */
  339. static inline uint16_t mavlink_msg_vk_digi_esc_status_get_fw_ver(const mavlink_message_t* msg, uint8_t *fw_ver)
  340. {
  341. return _MAV_RETURN_uint8_t_array(msg, fw_ver, 10, 56);
  342. }
  343. /**
  344. * @brief Decode a vk_digi_esc_status message into a struct
  345. *
  346. * @param msg The message to decode
  347. * @param vk_digi_esc_status C-struct to decode the message contents into
  348. */
  349. static inline void mavlink_msg_vk_digi_esc_status_decode(const mavlink_message_t* msg, mavlink_vk_digi_esc_status_t* vk_digi_esc_status)
  350. {
  351. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  352. vk_digi_esc_status->time_boot_ms = mavlink_msg_vk_digi_esc_status_get_time_boot_ms(msg);
  353. vk_digi_esc_status->rot_spd = mavlink_msg_vk_digi_esc_status_get_rot_spd(msg);
  354. mavlink_msg_vk_digi_esc_status_get_model_name(msg, vk_digi_esc_status->model_name);
  355. mavlink_msg_vk_digi_esc_status_get_sn_id(msg, vk_digi_esc_status->sn_id);
  356. mavlink_msg_vk_digi_esc_status_get_hw_ver(msg, vk_digi_esc_status->hw_ver);
  357. mavlink_msg_vk_digi_esc_status_get_fw_ver(msg, vk_digi_esc_status->fw_ver);
  358. #else
  359. uint8_t len = msg->len < MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN? msg->len : MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN;
  360. memset(vk_digi_esc_status, 0, MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_LEN);
  361. memcpy(vk_digi_esc_status, _MAV_PAYLOAD(msg), len);
  362. #endif
  363. }