mavlink_msg_vk_engine_ecu_staus.h 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
  1. #pragma once
  2. // MESSAGE VK_ENGINE_ECU_STAUS PACKING
  3. #define MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS 53005
  4. typedef struct __mavlink_vk_engine_ecu_staus_t {
  5. uint32_t timestamp; /*< [ms] Timestamp in ms from system boot.*/
  6. uint32_t total_runtime; /*< [min] range extender output voltage*/
  7. uint16_t spd_rpm; /*< rotational speed in rpm*/
  8. int16_t cylinderA_temp; /*< [degC] CylinderA head temperature*/
  9. int16_t cylinderB_temp; /*< [degC] CylinderB head temperature*/
  10. int16_t coolant_temp; /*< [degC] coolant head temperature*/
  11. uint16_t fuel_remain; /*< engine index*/
  12. uint16_t alarm; /*< range extender alarm bitmap*/
  13. uint16_t runtime; /*< [min] range extender output voltage*/
  14. uint16_t service_time; /*< [min] left time for service*/
  15. uint16_t output_volt; /*< [dV] range extender output voltage*/
  16. uint16_t output_curr; /*< [dA] range extender output current*/
  17. uint8_t thr_pos; /*< [%] throttle
  18. position */
  19. uint8_t fuel_pos; /*< [%] fuel
  20. position*/
  21. uint8_t fault; /*< engine fault*/
  22. uint8_t engine_state; /*< engine state*/
  23. uint8_t index; /*< engine index*/
  24. uint8_t reserve[4]; /*< engine state*/
  25. } mavlink_vk_engine_ecu_staus_t;
  26. #define MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN 37
  27. #define MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN 37
  28. #define MAVLINK_MSG_ID_53005_LEN 37
  29. #define MAVLINK_MSG_ID_53005_MIN_LEN 37
  30. #define MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC 145
  31. #define MAVLINK_MSG_ID_53005_CRC 145
  32. #define MAVLINK_MSG_VK_ENGINE_ECU_STAUS_FIELD_RESERVE_LEN 4
  33. #if MAVLINK_COMMAND_24BIT
  34. #define MAVLINK_MESSAGE_INFO_VK_ENGINE_ECU_STAUS { \
  35. 53005, \
  36. "VK_ENGINE_ECU_STAUS", \
  37. 18, \
  38. { { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_engine_ecu_staus_t, timestamp) }, \
  39. { "spd_rpm", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_vk_engine_ecu_staus_t, spd_rpm) }, \
  40. { "thr_pos", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_vk_engine_ecu_staus_t, thr_pos) }, \
  41. { "fuel_pos", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_vk_engine_ecu_staus_t, fuel_pos) }, \
  42. { "cylinderA_temp", NULL, MAVLINK_TYPE_INT16_T, 0, 10, offsetof(mavlink_vk_engine_ecu_staus_t, cylinderA_temp) }, \
  43. { "cylinderB_temp", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_vk_engine_ecu_staus_t, cylinderB_temp) }, \
  44. { "coolant_temp", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_vk_engine_ecu_staus_t, coolant_temp) }, \
  45. { "fuel_remain", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_vk_engine_ecu_staus_t, fuel_remain) }, \
  46. { "alarm", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_vk_engine_ecu_staus_t, alarm) }, \
  47. { "total_runtime", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_vk_engine_ecu_staus_t, total_runtime) }, \
  48. { "runtime", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_vk_engine_ecu_staus_t, runtime) }, \
  49. { "service_time", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_vk_engine_ecu_staus_t, service_time) }, \
  50. { "output_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_vk_engine_ecu_staus_t, output_volt) }, \
  51. { "output_curr", NULL, MAVLINK_TYPE_UINT16_T, 0, 26, offsetof(mavlink_vk_engine_ecu_staus_t, output_curr) }, \
  52. { "fault", NULL, MAVLINK_TYPE_UINT8_T, 0, 30, offsetof(mavlink_vk_engine_ecu_staus_t, fault) }, \
  53. { "engine_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 31, offsetof(mavlink_vk_engine_ecu_staus_t, engine_state) }, \
  54. { "index", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_vk_engine_ecu_staus_t, index) }, \
  55. { "reserve", NULL, MAVLINK_TYPE_UINT8_T, 4, 33, offsetof(mavlink_vk_engine_ecu_staus_t, reserve) }, \
  56. } \
  57. }
  58. #else
  59. #define MAVLINK_MESSAGE_INFO_VK_ENGINE_ECU_STAUS { \
  60. "VK_ENGINE_ECU_STAUS", \
  61. 18, \
  62. { { "timestamp", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_vk_engine_ecu_staus_t, timestamp) }, \
  63. { "spd_rpm", NULL, MAVLINK_TYPE_UINT16_T, 0, 8, offsetof(mavlink_vk_engine_ecu_staus_t, spd_rpm) }, \
  64. { "thr_pos", NULL, MAVLINK_TYPE_UINT8_T, 0, 28, offsetof(mavlink_vk_engine_ecu_staus_t, thr_pos) }, \
  65. { "fuel_pos", NULL, MAVLINK_TYPE_UINT8_T, 0, 29, offsetof(mavlink_vk_engine_ecu_staus_t, fuel_pos) }, \
  66. { "cylinderA_temp", NULL, MAVLINK_TYPE_INT16_T, 0, 10, offsetof(mavlink_vk_engine_ecu_staus_t, cylinderA_temp) }, \
  67. { "cylinderB_temp", NULL, MAVLINK_TYPE_INT16_T, 0, 12, offsetof(mavlink_vk_engine_ecu_staus_t, cylinderB_temp) }, \
  68. { "coolant_temp", NULL, MAVLINK_TYPE_INT16_T, 0, 14, offsetof(mavlink_vk_engine_ecu_staus_t, coolant_temp) }, \
  69. { "fuel_remain", NULL, MAVLINK_TYPE_UINT16_T, 0, 16, offsetof(mavlink_vk_engine_ecu_staus_t, fuel_remain) }, \
  70. { "alarm", NULL, MAVLINK_TYPE_UINT16_T, 0, 18, offsetof(mavlink_vk_engine_ecu_staus_t, alarm) }, \
  71. { "total_runtime", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_vk_engine_ecu_staus_t, total_runtime) }, \
  72. { "runtime", NULL, MAVLINK_TYPE_UINT16_T, 0, 20, offsetof(mavlink_vk_engine_ecu_staus_t, runtime) }, \
  73. { "service_time", NULL, MAVLINK_TYPE_UINT16_T, 0, 22, offsetof(mavlink_vk_engine_ecu_staus_t, service_time) }, \
  74. { "output_volt", NULL, MAVLINK_TYPE_UINT16_T, 0, 24, offsetof(mavlink_vk_engine_ecu_staus_t, output_volt) }, \
  75. { "output_curr", NULL, MAVLINK_TYPE_UINT16_T, 0, 26, offsetof(mavlink_vk_engine_ecu_staus_t, output_curr) }, \
  76. { "fault", NULL, MAVLINK_TYPE_UINT8_T, 0, 30, offsetof(mavlink_vk_engine_ecu_staus_t, fault) }, \
  77. { "engine_state", NULL, MAVLINK_TYPE_UINT8_T, 0, 31, offsetof(mavlink_vk_engine_ecu_staus_t, engine_state) }, \
  78. { "index", NULL, MAVLINK_TYPE_UINT8_T, 0, 32, offsetof(mavlink_vk_engine_ecu_staus_t, index) }, \
  79. { "reserve", NULL, MAVLINK_TYPE_UINT8_T, 4, 33, offsetof(mavlink_vk_engine_ecu_staus_t, reserve) }, \
  80. } \
  81. }
  82. #endif
  83. /**
  84. * @brief Pack a vk_engine_ecu_staus message
  85. * @param system_id ID of this system
  86. * @param component_id ID of this component (e.g. 200 for IMU)
  87. * @param msg The MAVLink message to compress the data into
  88. *
  89. * @param timestamp [ms] Timestamp in ms from system boot.
  90. * @param spd_rpm rotational speed in rpm
  91. * @param thr_pos [%] throttle
  92. position
  93. * @param fuel_pos [%] fuel
  94. position
  95. * @param cylinderA_temp [degC] CylinderA head temperature
  96. * @param cylinderB_temp [degC] CylinderB head temperature
  97. * @param coolant_temp [degC] coolant head temperature
  98. * @param fuel_remain engine index
  99. * @param alarm range extender alarm bitmap
  100. * @param total_runtime [min] range extender output voltage
  101. * @param runtime [min] range extender output voltage
  102. * @param service_time [min] left time for service
  103. * @param output_volt [dV] range extender output voltage
  104. * @param output_curr [dA] range extender output current
  105. * @param fault engine fault
  106. * @param engine_state engine state
  107. * @param index engine index
  108. * @param reserve engine state
  109. * @return length of the message in bytes (excluding serial stream start sign)
  110. */
  111. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
  112. uint32_t timestamp, uint16_t spd_rpm, uint8_t thr_pos, uint8_t fuel_pos, int16_t cylinderA_temp, int16_t cylinderB_temp, int16_t coolant_temp, uint16_t fuel_remain, uint16_t alarm, uint32_t total_runtime, uint16_t runtime, uint16_t service_time, uint16_t output_volt, uint16_t output_curr, uint8_t fault, uint8_t engine_state, uint8_t index, const uint8_t *reserve)
  113. {
  114. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  115. char buf[MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN];
  116. _mav_put_uint32_t(buf, 0, timestamp);
  117. _mav_put_uint32_t(buf, 4, total_runtime);
  118. _mav_put_uint16_t(buf, 8, spd_rpm);
  119. _mav_put_int16_t(buf, 10, cylinderA_temp);
  120. _mav_put_int16_t(buf, 12, cylinderB_temp);
  121. _mav_put_int16_t(buf, 14, coolant_temp);
  122. _mav_put_uint16_t(buf, 16, fuel_remain);
  123. _mav_put_uint16_t(buf, 18, alarm);
  124. _mav_put_uint16_t(buf, 20, runtime);
  125. _mav_put_uint16_t(buf, 22, service_time);
  126. _mav_put_uint16_t(buf, 24, output_volt);
  127. _mav_put_uint16_t(buf, 26, output_curr);
  128. _mav_put_uint8_t(buf, 28, thr_pos);
  129. _mav_put_uint8_t(buf, 29, fuel_pos);
  130. _mav_put_uint8_t(buf, 30, fault);
  131. _mav_put_uint8_t(buf, 31, engine_state);
  132. _mav_put_uint8_t(buf, 32, index);
  133. _mav_put_uint8_t_array(buf, 33, reserve, 4);
  134. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  135. #else
  136. mavlink_vk_engine_ecu_staus_t packet;
  137. packet.timestamp = timestamp;
  138. packet.total_runtime = total_runtime;
  139. packet.spd_rpm = spd_rpm;
  140. packet.cylinderA_temp = cylinderA_temp;
  141. packet.cylinderB_temp = cylinderB_temp;
  142. packet.coolant_temp = coolant_temp;
  143. packet.fuel_remain = fuel_remain;
  144. packet.alarm = alarm;
  145. packet.runtime = runtime;
  146. packet.service_time = service_time;
  147. packet.output_volt = output_volt;
  148. packet.output_curr = output_curr;
  149. packet.thr_pos = thr_pos;
  150. packet.fuel_pos = fuel_pos;
  151. packet.fault = fault;
  152. packet.engine_state = engine_state;
  153. packet.index = index;
  154. mav_array_memcpy(packet.reserve, reserve, sizeof(uint8_t)*4);
  155. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  156. #endif
  157. msg->msgid = MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS;
  158. return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  159. }
  160. /**
  161. * @brief Pack a vk_engine_ecu_staus message
  162. * @param system_id ID of this system
  163. * @param component_id ID of this component (e.g. 200 for IMU)
  164. * @param status MAVLink status structure
  165. * @param msg The MAVLink message to compress the data into
  166. *
  167. * @param timestamp [ms] Timestamp in ms from system boot.
  168. * @param spd_rpm rotational speed in rpm
  169. * @param thr_pos [%] throttle
  170. position
  171. * @param fuel_pos [%] fuel
  172. position
  173. * @param cylinderA_temp [degC] CylinderA head temperature
  174. * @param cylinderB_temp [degC] CylinderB head temperature
  175. * @param coolant_temp [degC] coolant head temperature
  176. * @param fuel_remain engine index
  177. * @param alarm range extender alarm bitmap
  178. * @param total_runtime [min] range extender output voltage
  179. * @param runtime [min] range extender output voltage
  180. * @param service_time [min] left time for service
  181. * @param output_volt [dV] range extender output voltage
  182. * @param output_curr [dA] range extender output current
  183. * @param fault engine fault
  184. * @param engine_state engine state
  185. * @param index engine index
  186. * @param reserve engine state
  187. * @return length of the message in bytes (excluding serial stream start sign)
  188. */
  189. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
  190. uint32_t timestamp, uint16_t spd_rpm, uint8_t thr_pos, uint8_t fuel_pos, int16_t cylinderA_temp, int16_t cylinderB_temp, int16_t coolant_temp, uint16_t fuel_remain, uint16_t alarm, uint32_t total_runtime, uint16_t runtime, uint16_t service_time, uint16_t output_volt, uint16_t output_curr, uint8_t fault, uint8_t engine_state, uint8_t index, const uint8_t *reserve)
  191. {
  192. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  193. char buf[MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN];
  194. _mav_put_uint32_t(buf, 0, timestamp);
  195. _mav_put_uint32_t(buf, 4, total_runtime);
  196. _mav_put_uint16_t(buf, 8, spd_rpm);
  197. _mav_put_int16_t(buf, 10, cylinderA_temp);
  198. _mav_put_int16_t(buf, 12, cylinderB_temp);
  199. _mav_put_int16_t(buf, 14, coolant_temp);
  200. _mav_put_uint16_t(buf, 16, fuel_remain);
  201. _mav_put_uint16_t(buf, 18, alarm);
  202. _mav_put_uint16_t(buf, 20, runtime);
  203. _mav_put_uint16_t(buf, 22, service_time);
  204. _mav_put_uint16_t(buf, 24, output_volt);
  205. _mav_put_uint16_t(buf, 26, output_curr);
  206. _mav_put_uint8_t(buf, 28, thr_pos);
  207. _mav_put_uint8_t(buf, 29, fuel_pos);
  208. _mav_put_uint8_t(buf, 30, fault);
  209. _mav_put_uint8_t(buf, 31, engine_state);
  210. _mav_put_uint8_t(buf, 32, index);
  211. _mav_put_uint8_t_array(buf, 33, reserve, 4);
  212. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  213. #else
  214. mavlink_vk_engine_ecu_staus_t packet;
  215. packet.timestamp = timestamp;
  216. packet.total_runtime = total_runtime;
  217. packet.spd_rpm = spd_rpm;
  218. packet.cylinderA_temp = cylinderA_temp;
  219. packet.cylinderB_temp = cylinderB_temp;
  220. packet.coolant_temp = coolant_temp;
  221. packet.fuel_remain = fuel_remain;
  222. packet.alarm = alarm;
  223. packet.runtime = runtime;
  224. packet.service_time = service_time;
  225. packet.output_volt = output_volt;
  226. packet.output_curr = output_curr;
  227. packet.thr_pos = thr_pos;
  228. packet.fuel_pos = fuel_pos;
  229. packet.fault = fault;
  230. packet.engine_state = engine_state;
  231. packet.index = index;
  232. mav_array_memcpy(packet.reserve, reserve, sizeof(uint8_t)*4);
  233. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  234. #endif
  235. msg->msgid = MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS;
  236. #if MAVLINK_CRC_EXTRA
  237. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  238. #else
  239. return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  240. #endif
  241. }
  242. /**
  243. * @brief Pack a vk_engine_ecu_staus message on a channel
  244. * @param system_id ID of this system
  245. * @param component_id ID of this component (e.g. 200 for IMU)
  246. * @param chan The MAVLink channel this message will be sent over
  247. * @param msg The MAVLink message to compress the data into
  248. * @param timestamp [ms] Timestamp in ms from system boot.
  249. * @param spd_rpm rotational speed in rpm
  250. * @param thr_pos [%] throttle
  251. position
  252. * @param fuel_pos [%] fuel
  253. position
  254. * @param cylinderA_temp [degC] CylinderA head temperature
  255. * @param cylinderB_temp [degC] CylinderB head temperature
  256. * @param coolant_temp [degC] coolant head temperature
  257. * @param fuel_remain engine index
  258. * @param alarm range extender alarm bitmap
  259. * @param total_runtime [min] range extender output voltage
  260. * @param runtime [min] range extender output voltage
  261. * @param service_time [min] left time for service
  262. * @param output_volt [dV] range extender output voltage
  263. * @param output_curr [dA] range extender output current
  264. * @param fault engine fault
  265. * @param engine_state engine state
  266. * @param index engine index
  267. * @param reserve engine state
  268. * @return length of the message in bytes (excluding serial stream start sign)
  269. */
  270. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
  271. mavlink_message_t* msg,
  272. uint32_t timestamp,uint16_t spd_rpm,uint8_t thr_pos,uint8_t fuel_pos,int16_t cylinderA_temp,int16_t cylinderB_temp,int16_t coolant_temp,uint16_t fuel_remain,uint16_t alarm,uint32_t total_runtime,uint16_t runtime,uint16_t service_time,uint16_t output_volt,uint16_t output_curr,uint8_t fault,uint8_t engine_state,uint8_t index,const uint8_t *reserve)
  273. {
  274. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  275. char buf[MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN];
  276. _mav_put_uint32_t(buf, 0, timestamp);
  277. _mav_put_uint32_t(buf, 4, total_runtime);
  278. _mav_put_uint16_t(buf, 8, spd_rpm);
  279. _mav_put_int16_t(buf, 10, cylinderA_temp);
  280. _mav_put_int16_t(buf, 12, cylinderB_temp);
  281. _mav_put_int16_t(buf, 14, coolant_temp);
  282. _mav_put_uint16_t(buf, 16, fuel_remain);
  283. _mav_put_uint16_t(buf, 18, alarm);
  284. _mav_put_uint16_t(buf, 20, runtime);
  285. _mav_put_uint16_t(buf, 22, service_time);
  286. _mav_put_uint16_t(buf, 24, output_volt);
  287. _mav_put_uint16_t(buf, 26, output_curr);
  288. _mav_put_uint8_t(buf, 28, thr_pos);
  289. _mav_put_uint8_t(buf, 29, fuel_pos);
  290. _mav_put_uint8_t(buf, 30, fault);
  291. _mav_put_uint8_t(buf, 31, engine_state);
  292. _mav_put_uint8_t(buf, 32, index);
  293. _mav_put_uint8_t_array(buf, 33, reserve, 4);
  294. memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  295. #else
  296. mavlink_vk_engine_ecu_staus_t packet;
  297. packet.timestamp = timestamp;
  298. packet.total_runtime = total_runtime;
  299. packet.spd_rpm = spd_rpm;
  300. packet.cylinderA_temp = cylinderA_temp;
  301. packet.cylinderB_temp = cylinderB_temp;
  302. packet.coolant_temp = coolant_temp;
  303. packet.fuel_remain = fuel_remain;
  304. packet.alarm = alarm;
  305. packet.runtime = runtime;
  306. packet.service_time = service_time;
  307. packet.output_volt = output_volt;
  308. packet.output_curr = output_curr;
  309. packet.thr_pos = thr_pos;
  310. packet.fuel_pos = fuel_pos;
  311. packet.fault = fault;
  312. packet.engine_state = engine_state;
  313. packet.index = index;
  314. mav_array_memcpy(packet.reserve, reserve, sizeof(uint8_t)*4);
  315. memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  316. #endif
  317. msg->msgid = MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS;
  318. return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  319. }
  320. /**
  321. * @brief Encode a vk_engine_ecu_staus struct
  322. *
  323. * @param system_id ID of this system
  324. * @param component_id ID of this component (e.g. 200 for IMU)
  325. * @param msg The MAVLink message to compress the data into
  326. * @param vk_engine_ecu_staus C-struct to read the message contents from
  327. */
  328. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_vk_engine_ecu_staus_t* vk_engine_ecu_staus)
  329. {
  330. return mavlink_msg_vk_engine_ecu_staus_pack(system_id, component_id, msg, vk_engine_ecu_staus->timestamp, vk_engine_ecu_staus->spd_rpm, vk_engine_ecu_staus->thr_pos, vk_engine_ecu_staus->fuel_pos, vk_engine_ecu_staus->cylinderA_temp, vk_engine_ecu_staus->cylinderB_temp, vk_engine_ecu_staus->coolant_temp, vk_engine_ecu_staus->fuel_remain, vk_engine_ecu_staus->alarm, vk_engine_ecu_staus->total_runtime, vk_engine_ecu_staus->runtime, vk_engine_ecu_staus->service_time, vk_engine_ecu_staus->output_volt, vk_engine_ecu_staus->output_curr, vk_engine_ecu_staus->fault, vk_engine_ecu_staus->engine_state, vk_engine_ecu_staus->index, vk_engine_ecu_staus->reserve);
  331. }
  332. /**
  333. * @brief Encode a vk_engine_ecu_staus struct on a channel
  334. *
  335. * @param system_id ID of this system
  336. * @param component_id ID of this component (e.g. 200 for IMU)
  337. * @param chan The MAVLink channel this message will be sent over
  338. * @param msg The MAVLink message to compress the data into
  339. * @param vk_engine_ecu_staus C-struct to read the message contents from
  340. */
  341. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_vk_engine_ecu_staus_t* vk_engine_ecu_staus)
  342. {
  343. return mavlink_msg_vk_engine_ecu_staus_pack_chan(system_id, component_id, chan, msg, vk_engine_ecu_staus->timestamp, vk_engine_ecu_staus->spd_rpm, vk_engine_ecu_staus->thr_pos, vk_engine_ecu_staus->fuel_pos, vk_engine_ecu_staus->cylinderA_temp, vk_engine_ecu_staus->cylinderB_temp, vk_engine_ecu_staus->coolant_temp, vk_engine_ecu_staus->fuel_remain, vk_engine_ecu_staus->alarm, vk_engine_ecu_staus->total_runtime, vk_engine_ecu_staus->runtime, vk_engine_ecu_staus->service_time, vk_engine_ecu_staus->output_volt, vk_engine_ecu_staus->output_curr, vk_engine_ecu_staus->fault, vk_engine_ecu_staus->engine_state, vk_engine_ecu_staus->index, vk_engine_ecu_staus->reserve);
  344. }
  345. /**
  346. * @brief Encode a vk_engine_ecu_staus struct with provided status structure
  347. *
  348. * @param system_id ID of this system
  349. * @param component_id ID of this component (e.g. 200 for IMU)
  350. * @param status MAVLink status structure
  351. * @param msg The MAVLink message to compress the data into
  352. * @param vk_engine_ecu_staus C-struct to read the message contents from
  353. */
  354. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_vk_engine_ecu_staus_t* vk_engine_ecu_staus)
  355. {
  356. return mavlink_msg_vk_engine_ecu_staus_pack_status(system_id, component_id, _status, msg, vk_engine_ecu_staus->timestamp, vk_engine_ecu_staus->spd_rpm, vk_engine_ecu_staus->thr_pos, vk_engine_ecu_staus->fuel_pos, vk_engine_ecu_staus->cylinderA_temp, vk_engine_ecu_staus->cylinderB_temp, vk_engine_ecu_staus->coolant_temp, vk_engine_ecu_staus->fuel_remain, vk_engine_ecu_staus->alarm, vk_engine_ecu_staus->total_runtime, vk_engine_ecu_staus->runtime, vk_engine_ecu_staus->service_time, vk_engine_ecu_staus->output_volt, vk_engine_ecu_staus->output_curr, vk_engine_ecu_staus->fault, vk_engine_ecu_staus->engine_state, vk_engine_ecu_staus->index, vk_engine_ecu_staus->reserve);
  357. }
  358. /**
  359. * @brief Send a vk_engine_ecu_staus message
  360. * @param chan MAVLink channel to send the message
  361. *
  362. * @param timestamp [ms] Timestamp in ms from system boot.
  363. * @param spd_rpm rotational speed in rpm
  364. * @param thr_pos [%] throttle
  365. position
  366. * @param fuel_pos [%] fuel
  367. position
  368. * @param cylinderA_temp [degC] CylinderA head temperature
  369. * @param cylinderB_temp [degC] CylinderB head temperature
  370. * @param coolant_temp [degC] coolant head temperature
  371. * @param fuel_remain engine index
  372. * @param alarm range extender alarm bitmap
  373. * @param total_runtime [min] range extender output voltage
  374. * @param runtime [min] range extender output voltage
  375. * @param service_time [min] left time for service
  376. * @param output_volt [dV] range extender output voltage
  377. * @param output_curr [dA] range extender output current
  378. * @param fault engine fault
  379. * @param engine_state engine state
  380. * @param index engine index
  381. * @param reserve engine state
  382. */
  383. #ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS
  384. static inline void mavlink_msg_vk_engine_ecu_staus_send(mavlink_channel_t chan, uint32_t timestamp, uint16_t spd_rpm, uint8_t thr_pos, uint8_t fuel_pos, int16_t cylinderA_temp, int16_t cylinderB_temp, int16_t coolant_temp, uint16_t fuel_remain, uint16_t alarm, uint32_t total_runtime, uint16_t runtime, uint16_t service_time, uint16_t output_volt, uint16_t output_curr, uint8_t fault, uint8_t engine_state, uint8_t index, const uint8_t *reserve)
  385. {
  386. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  387. char buf[MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN];
  388. _mav_put_uint32_t(buf, 0, timestamp);
  389. _mav_put_uint32_t(buf, 4, total_runtime);
  390. _mav_put_uint16_t(buf, 8, spd_rpm);
  391. _mav_put_int16_t(buf, 10, cylinderA_temp);
  392. _mav_put_int16_t(buf, 12, cylinderB_temp);
  393. _mav_put_int16_t(buf, 14, coolant_temp);
  394. _mav_put_uint16_t(buf, 16, fuel_remain);
  395. _mav_put_uint16_t(buf, 18, alarm);
  396. _mav_put_uint16_t(buf, 20, runtime);
  397. _mav_put_uint16_t(buf, 22, service_time);
  398. _mav_put_uint16_t(buf, 24, output_volt);
  399. _mav_put_uint16_t(buf, 26, output_curr);
  400. _mav_put_uint8_t(buf, 28, thr_pos);
  401. _mav_put_uint8_t(buf, 29, fuel_pos);
  402. _mav_put_uint8_t(buf, 30, fault);
  403. _mav_put_uint8_t(buf, 31, engine_state);
  404. _mav_put_uint8_t(buf, 32, index);
  405. _mav_put_uint8_t_array(buf, 33, reserve, 4);
  406. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS, buf, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  407. #else
  408. mavlink_vk_engine_ecu_staus_t packet;
  409. packet.timestamp = timestamp;
  410. packet.total_runtime = total_runtime;
  411. packet.spd_rpm = spd_rpm;
  412. packet.cylinderA_temp = cylinderA_temp;
  413. packet.cylinderB_temp = cylinderB_temp;
  414. packet.coolant_temp = coolant_temp;
  415. packet.fuel_remain = fuel_remain;
  416. packet.alarm = alarm;
  417. packet.runtime = runtime;
  418. packet.service_time = service_time;
  419. packet.output_volt = output_volt;
  420. packet.output_curr = output_curr;
  421. packet.thr_pos = thr_pos;
  422. packet.fuel_pos = fuel_pos;
  423. packet.fault = fault;
  424. packet.engine_state = engine_state;
  425. packet.index = index;
  426. mav_array_memcpy(packet.reserve, reserve, sizeof(uint8_t)*4);
  427. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS, (const char *)&packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  428. #endif
  429. }
  430. /**
  431. * @brief Send a vk_engine_ecu_staus message
  432. * @param chan MAVLink channel to send the message
  433. * @param struct The MAVLink struct to serialize
  434. */
  435. static inline void mavlink_msg_vk_engine_ecu_staus_send_struct(mavlink_channel_t chan, const mavlink_vk_engine_ecu_staus_t* vk_engine_ecu_staus)
  436. {
  437. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  438. mavlink_msg_vk_engine_ecu_staus_send(chan, vk_engine_ecu_staus->timestamp, vk_engine_ecu_staus->spd_rpm, vk_engine_ecu_staus->thr_pos, vk_engine_ecu_staus->fuel_pos, vk_engine_ecu_staus->cylinderA_temp, vk_engine_ecu_staus->cylinderB_temp, vk_engine_ecu_staus->coolant_temp, vk_engine_ecu_staus->fuel_remain, vk_engine_ecu_staus->alarm, vk_engine_ecu_staus->total_runtime, vk_engine_ecu_staus->runtime, vk_engine_ecu_staus->service_time, vk_engine_ecu_staus->output_volt, vk_engine_ecu_staus->output_curr, vk_engine_ecu_staus->fault, vk_engine_ecu_staus->engine_state, vk_engine_ecu_staus->index, vk_engine_ecu_staus->reserve);
  439. #else
  440. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS, (const char *)vk_engine_ecu_staus, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  441. #endif
  442. }
  443. #if MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN <= MAVLINK_MAX_PAYLOAD_LEN
  444. /*
  445. This variant of _send() can be used to save stack space by re-using
  446. memory from the receive buffer. The caller provides a
  447. mavlink_message_t which is the size of a full mavlink message. This
  448. is usually the receive buffer for the channel, and allows a reply to an
  449. incoming message with minimum stack space usage.
  450. */
  451. static inline void mavlink_msg_vk_engine_ecu_staus_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan, uint32_t timestamp, uint16_t spd_rpm, uint8_t thr_pos, uint8_t fuel_pos, int16_t cylinderA_temp, int16_t cylinderB_temp, int16_t coolant_temp, uint16_t fuel_remain, uint16_t alarm, uint32_t total_runtime, uint16_t runtime, uint16_t service_time, uint16_t output_volt, uint16_t output_curr, uint8_t fault, uint8_t engine_state, uint8_t index, const uint8_t *reserve)
  452. {
  453. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  454. char *buf = (char *)msgbuf;
  455. _mav_put_uint32_t(buf, 0, timestamp);
  456. _mav_put_uint32_t(buf, 4, total_runtime);
  457. _mav_put_uint16_t(buf, 8, spd_rpm);
  458. _mav_put_int16_t(buf, 10, cylinderA_temp);
  459. _mav_put_int16_t(buf, 12, cylinderB_temp);
  460. _mav_put_int16_t(buf, 14, coolant_temp);
  461. _mav_put_uint16_t(buf, 16, fuel_remain);
  462. _mav_put_uint16_t(buf, 18, alarm);
  463. _mav_put_uint16_t(buf, 20, runtime);
  464. _mav_put_uint16_t(buf, 22, service_time);
  465. _mav_put_uint16_t(buf, 24, output_volt);
  466. _mav_put_uint16_t(buf, 26, output_curr);
  467. _mav_put_uint8_t(buf, 28, thr_pos);
  468. _mav_put_uint8_t(buf, 29, fuel_pos);
  469. _mav_put_uint8_t(buf, 30, fault);
  470. _mav_put_uint8_t(buf, 31, engine_state);
  471. _mav_put_uint8_t(buf, 32, index);
  472. _mav_put_uint8_t_array(buf, 33, reserve, 4);
  473. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS, buf, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  474. #else
  475. mavlink_vk_engine_ecu_staus_t *packet = (mavlink_vk_engine_ecu_staus_t *)msgbuf;
  476. packet->timestamp = timestamp;
  477. packet->total_runtime = total_runtime;
  478. packet->spd_rpm = spd_rpm;
  479. packet->cylinderA_temp = cylinderA_temp;
  480. packet->cylinderB_temp = cylinderB_temp;
  481. packet->coolant_temp = coolant_temp;
  482. packet->fuel_remain = fuel_remain;
  483. packet->alarm = alarm;
  484. packet->runtime = runtime;
  485. packet->service_time = service_time;
  486. packet->output_volt = output_volt;
  487. packet->output_curr = output_curr;
  488. packet->thr_pos = thr_pos;
  489. packet->fuel_pos = fuel_pos;
  490. packet->fault = fault;
  491. packet->engine_state = engine_state;
  492. packet->index = index;
  493. mav_array_memcpy(packet->reserve, reserve, sizeof(uint8_t)*4);
  494. _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS, (const char *)packet, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_MIN_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_CRC);
  495. #endif
  496. }
  497. #endif
  498. #endif
  499. // MESSAGE VK_ENGINE_ECU_STAUS UNPACKING
  500. /**
  501. * @brief Get field timestamp from vk_engine_ecu_staus message
  502. *
  503. * @return [ms] Timestamp in ms from system boot.
  504. */
  505. static inline uint32_t mavlink_msg_vk_engine_ecu_staus_get_timestamp(const mavlink_message_t* msg)
  506. {
  507. return _MAV_RETURN_uint32_t(msg, 0);
  508. }
  509. /**
  510. * @brief Get field spd_rpm from vk_engine_ecu_staus message
  511. *
  512. * @return rotational speed in rpm
  513. */
  514. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_spd_rpm(const mavlink_message_t* msg)
  515. {
  516. return _MAV_RETURN_uint16_t(msg, 8);
  517. }
  518. /**
  519. * @brief Get field thr_pos from vk_engine_ecu_staus message
  520. *
  521. * @return [%] throttle
  522. position
  523. */
  524. static inline uint8_t mavlink_msg_vk_engine_ecu_staus_get_thr_pos(const mavlink_message_t* msg)
  525. {
  526. return _MAV_RETURN_uint8_t(msg, 28);
  527. }
  528. /**
  529. * @brief Get field fuel_pos from vk_engine_ecu_staus message
  530. *
  531. * @return [%] fuel
  532. position
  533. */
  534. static inline uint8_t mavlink_msg_vk_engine_ecu_staus_get_fuel_pos(const mavlink_message_t* msg)
  535. {
  536. return _MAV_RETURN_uint8_t(msg, 29);
  537. }
  538. /**
  539. * @brief Get field cylinderA_temp from vk_engine_ecu_staus message
  540. *
  541. * @return [degC] CylinderA head temperature
  542. */
  543. static inline int16_t mavlink_msg_vk_engine_ecu_staus_get_cylinderA_temp(const mavlink_message_t* msg)
  544. {
  545. return _MAV_RETURN_int16_t(msg, 10);
  546. }
  547. /**
  548. * @brief Get field cylinderB_temp from vk_engine_ecu_staus message
  549. *
  550. * @return [degC] CylinderB head temperature
  551. */
  552. static inline int16_t mavlink_msg_vk_engine_ecu_staus_get_cylinderB_temp(const mavlink_message_t* msg)
  553. {
  554. return _MAV_RETURN_int16_t(msg, 12);
  555. }
  556. /**
  557. * @brief Get field coolant_temp from vk_engine_ecu_staus message
  558. *
  559. * @return [degC] coolant head temperature
  560. */
  561. static inline int16_t mavlink_msg_vk_engine_ecu_staus_get_coolant_temp(const mavlink_message_t* msg)
  562. {
  563. return _MAV_RETURN_int16_t(msg, 14);
  564. }
  565. /**
  566. * @brief Get field fuel_remain from vk_engine_ecu_staus message
  567. *
  568. * @return engine index
  569. */
  570. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_fuel_remain(const mavlink_message_t* msg)
  571. {
  572. return _MAV_RETURN_uint16_t(msg, 16);
  573. }
  574. /**
  575. * @brief Get field alarm from vk_engine_ecu_staus message
  576. *
  577. * @return range extender alarm bitmap
  578. */
  579. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_alarm(const mavlink_message_t* msg)
  580. {
  581. return _MAV_RETURN_uint16_t(msg, 18);
  582. }
  583. /**
  584. * @brief Get field total_runtime from vk_engine_ecu_staus message
  585. *
  586. * @return [min] range extender output voltage
  587. */
  588. static inline uint32_t mavlink_msg_vk_engine_ecu_staus_get_total_runtime(const mavlink_message_t* msg)
  589. {
  590. return _MAV_RETURN_uint32_t(msg, 4);
  591. }
  592. /**
  593. * @brief Get field runtime from vk_engine_ecu_staus message
  594. *
  595. * @return [min] range extender output voltage
  596. */
  597. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_runtime(const mavlink_message_t* msg)
  598. {
  599. return _MAV_RETURN_uint16_t(msg, 20);
  600. }
  601. /**
  602. * @brief Get field service_time from vk_engine_ecu_staus message
  603. *
  604. * @return [min] left time for service
  605. */
  606. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_service_time(const mavlink_message_t* msg)
  607. {
  608. return _MAV_RETURN_uint16_t(msg, 22);
  609. }
  610. /**
  611. * @brief Get field output_volt from vk_engine_ecu_staus message
  612. *
  613. * @return [dV] range extender output voltage
  614. */
  615. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_output_volt(const mavlink_message_t* msg)
  616. {
  617. return _MAV_RETURN_uint16_t(msg, 24);
  618. }
  619. /**
  620. * @brief Get field output_curr from vk_engine_ecu_staus message
  621. *
  622. * @return [dA] range extender output current
  623. */
  624. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_output_curr(const mavlink_message_t* msg)
  625. {
  626. return _MAV_RETURN_uint16_t(msg, 26);
  627. }
  628. /**
  629. * @brief Get field fault from vk_engine_ecu_staus message
  630. *
  631. * @return engine fault
  632. */
  633. static inline uint8_t mavlink_msg_vk_engine_ecu_staus_get_fault(const mavlink_message_t* msg)
  634. {
  635. return _MAV_RETURN_uint8_t(msg, 30);
  636. }
  637. /**
  638. * @brief Get field engine_state from vk_engine_ecu_staus message
  639. *
  640. * @return engine state
  641. */
  642. static inline uint8_t mavlink_msg_vk_engine_ecu_staus_get_engine_state(const mavlink_message_t* msg)
  643. {
  644. return _MAV_RETURN_uint8_t(msg, 31);
  645. }
  646. /**
  647. * @brief Get field index from vk_engine_ecu_staus message
  648. *
  649. * @return engine index
  650. */
  651. static inline uint8_t mavlink_msg_vk_engine_ecu_staus_get_index(const mavlink_message_t* msg)
  652. {
  653. return _MAV_RETURN_uint8_t(msg, 32);
  654. }
  655. /**
  656. * @brief Get field reserve from vk_engine_ecu_staus message
  657. *
  658. * @return engine state
  659. */
  660. static inline uint16_t mavlink_msg_vk_engine_ecu_staus_get_reserve(const mavlink_message_t* msg, uint8_t *reserve)
  661. {
  662. return _MAV_RETURN_uint8_t_array(msg, reserve, 4, 33);
  663. }
  664. /**
  665. * @brief Decode a vk_engine_ecu_staus message into a struct
  666. *
  667. * @param msg The message to decode
  668. * @param vk_engine_ecu_staus C-struct to decode the message contents into
  669. */
  670. static inline void mavlink_msg_vk_engine_ecu_staus_decode(const mavlink_message_t* msg, mavlink_vk_engine_ecu_staus_t* vk_engine_ecu_staus)
  671. {
  672. #if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
  673. vk_engine_ecu_staus->timestamp = mavlink_msg_vk_engine_ecu_staus_get_timestamp(msg);
  674. vk_engine_ecu_staus->total_runtime = mavlink_msg_vk_engine_ecu_staus_get_total_runtime(msg);
  675. vk_engine_ecu_staus->spd_rpm = mavlink_msg_vk_engine_ecu_staus_get_spd_rpm(msg);
  676. vk_engine_ecu_staus->cylinderA_temp = mavlink_msg_vk_engine_ecu_staus_get_cylinderA_temp(msg);
  677. vk_engine_ecu_staus->cylinderB_temp = mavlink_msg_vk_engine_ecu_staus_get_cylinderB_temp(msg);
  678. vk_engine_ecu_staus->coolant_temp = mavlink_msg_vk_engine_ecu_staus_get_coolant_temp(msg);
  679. vk_engine_ecu_staus->fuel_remain = mavlink_msg_vk_engine_ecu_staus_get_fuel_remain(msg);
  680. vk_engine_ecu_staus->alarm = mavlink_msg_vk_engine_ecu_staus_get_alarm(msg);
  681. vk_engine_ecu_staus->runtime = mavlink_msg_vk_engine_ecu_staus_get_runtime(msg);
  682. vk_engine_ecu_staus->service_time = mavlink_msg_vk_engine_ecu_staus_get_service_time(msg);
  683. vk_engine_ecu_staus->output_volt = mavlink_msg_vk_engine_ecu_staus_get_output_volt(msg);
  684. vk_engine_ecu_staus->output_curr = mavlink_msg_vk_engine_ecu_staus_get_output_curr(msg);
  685. vk_engine_ecu_staus->thr_pos = mavlink_msg_vk_engine_ecu_staus_get_thr_pos(msg);
  686. vk_engine_ecu_staus->fuel_pos = mavlink_msg_vk_engine_ecu_staus_get_fuel_pos(msg);
  687. vk_engine_ecu_staus->fault = mavlink_msg_vk_engine_ecu_staus_get_fault(msg);
  688. vk_engine_ecu_staus->engine_state = mavlink_msg_vk_engine_ecu_staus_get_engine_state(msg);
  689. vk_engine_ecu_staus->index = mavlink_msg_vk_engine_ecu_staus_get_index(msg);
  690. mavlink_msg_vk_engine_ecu_staus_get_reserve(msg, vk_engine_ecu_staus->reserve);
  691. #else
  692. uint8_t len = msg->len < MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN? msg->len : MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN;
  693. memset(vk_engine_ecu_staus, 0, MAVLINK_MSG_ID_VK_ENGINE_ECU_STAUS_LEN);
  694. memcpy(vk_engine_ecu_staus, _MAV_PAYLOAD(msg), len);
  695. #endif
  696. }