testsuite.h 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. /** @file
  2. * @brief MAVLink comm protocol testsuite generated from VKFly.xml
  3. * @see https://mavlink.io/en/
  4. */
  5. #pragma once
  6. #ifndef VKFLY_TESTSUITE_H
  7. #define VKFLY_TESTSUITE_H
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #ifndef MAVLINK_TEST_ALL
  12. #define MAVLINK_TEST_ALL
  13. static void mavlink_test_common(uint8_t, uint8_t, mavlink_message_t *last_msg);
  14. static void mavlink_test_VKFly(uint8_t, uint8_t, mavlink_message_t *last_msg);
  15. static void mavlink_test_all(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  16. {
  17. mavlink_test_common(system_id, component_id, last_msg);
  18. mavlink_test_VKFly(system_id, component_id, last_msg);
  19. }
  20. #endif
  21. #include "../common/testsuite.h"
  22. static void mavlink_test_vkins_status(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  23. {
  24. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  25. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  26. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VKINS_STATUS >= 256) {
  27. return;
  28. }
  29. #endif
  30. mavlink_message_t msg;
  31. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  32. uint16_t i;
  33. mavlink_vkins_status_t packet_in = {
  34. 963497464,45.0,963497880,963498088,129.0,157.0,18483,211,22,89,156,223,34,101,168,235,46,113
  35. };
  36. mavlink_vkins_status_t packet1, packet2;
  37. memset(&packet1, 0, sizeof(packet1));
  38. packet1.time_boot_ms = packet_in.time_boot_ms;
  39. packet1.g0 = packet_in.g0;
  40. packet1.raw_latitude = packet_in.raw_latitude;
  41. packet1.raw_longitude = packet_in.raw_longitude;
  42. packet1.baro_alt = packet_in.baro_alt;
  43. packet1.raw_gps_alt = packet_in.raw_gps_alt;
  44. packet1.temperature = packet_in.temperature;
  45. packet1.nav_status = packet_in.nav_status;
  46. packet1.s_flag1 = packet_in.s_flag1;
  47. packet1.s_flag2 = packet_in.s_flag2;
  48. packet1.s_flag3 = packet_in.s_flag3;
  49. packet1.s_flag4 = packet_in.s_flag4;
  50. packet1.s_flag5 = packet_in.s_flag5;
  51. packet1.s_flag6 = packet_in.s_flag6;
  52. packet1.mag_calib_stage = packet_in.mag_calib_stage;
  53. packet1.solv_psat_num = packet_in.solv_psat_num;
  54. packet1.solv_hsat_num = packet_in.solv_hsat_num;
  55. packet1.vibe_coe = packet_in.vibe_coe;
  56. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  57. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  58. // cope with extensions
  59. memset(MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VKINS_STATUS_MIN_LEN);
  60. }
  61. #endif
  62. memset(&packet2, 0, sizeof(packet2));
  63. mavlink_msg_vkins_status_encode(system_id, component_id, &msg, &packet1);
  64. mavlink_msg_vkins_status_decode(&msg, &packet2);
  65. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  66. memset(&packet2, 0, sizeof(packet2));
  67. mavlink_msg_vkins_status_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.nav_status , packet1.s_flag1 , packet1.s_flag2 , packet1.s_flag3 , packet1.s_flag4 , packet1.s_flag5 , packet1.s_flag6 , packet1.mag_calib_stage , packet1.g0 , packet1.raw_latitude , packet1.raw_longitude , packet1.baro_alt , packet1.raw_gps_alt , packet1.solv_psat_num , packet1.solv_hsat_num , packet1.temperature , packet1.vibe_coe );
  68. mavlink_msg_vkins_status_decode(&msg, &packet2);
  69. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  70. memset(&packet2, 0, sizeof(packet2));
  71. mavlink_msg_vkins_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.nav_status , packet1.s_flag1 , packet1.s_flag2 , packet1.s_flag3 , packet1.s_flag4 , packet1.s_flag5 , packet1.s_flag6 , packet1.mag_calib_stage , packet1.g0 , packet1.raw_latitude , packet1.raw_longitude , packet1.baro_alt , packet1.raw_gps_alt , packet1.solv_psat_num , packet1.solv_hsat_num , packet1.temperature , packet1.vibe_coe );
  72. mavlink_msg_vkins_status_decode(&msg, &packet2);
  73. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  74. memset(&packet2, 0, sizeof(packet2));
  75. mavlink_msg_to_send_buffer(buffer, &msg);
  76. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  77. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  78. }
  79. mavlink_msg_vkins_status_decode(last_msg, &packet2);
  80. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  81. memset(&packet2, 0, sizeof(packet2));
  82. mavlink_msg_vkins_status_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.nav_status , packet1.s_flag1 , packet1.s_flag2 , packet1.s_flag3 , packet1.s_flag4 , packet1.s_flag5 , packet1.s_flag6 , packet1.mag_calib_stage , packet1.g0 , packet1.raw_latitude , packet1.raw_longitude , packet1.baro_alt , packet1.raw_gps_alt , packet1.solv_psat_num , packet1.solv_hsat_num , packet1.temperature , packet1.vibe_coe );
  83. mavlink_msg_vkins_status_decode(last_msg, &packet2);
  84. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  85. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  86. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VKINS_STATUS") != NULL);
  87. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VKINS_STATUS) != NULL);
  88. #endif
  89. }
  90. static void mavlink_test_vkfmu_status(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  91. {
  92. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  93. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  94. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VKFMU_STATUS >= 256) {
  95. return;
  96. }
  97. #endif
  98. mavlink_message_t msg;
  99. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  100. uint16_t i;
  101. mavlink_vkfmu_status_t packet_in = {
  102. 963497464,963497672,963497880,17859,17963,53,120,187
  103. };
  104. mavlink_vkfmu_status_t packet1, packet2;
  105. memset(&packet1, 0, sizeof(packet1));
  106. packet1.time_boot_ms = packet_in.time_boot_ms;
  107. packet1.flight_time = packet_in.flight_time;
  108. packet1.dist_to_tar = packet_in.dist_to_tar;
  109. packet1.ups_volt = packet_in.ups_volt;
  110. packet1.adc_volt = packet_in.adc_volt;
  111. packet1.rtl_reason = packet_in.rtl_reason;
  112. packet1.s_flag2 = packet_in.s_flag2;
  113. packet1.s_flag3 = packet_in.s_flag3;
  114. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  115. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  116. // cope with extensions
  117. memset(MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN);
  118. }
  119. #endif
  120. memset(&packet2, 0, sizeof(packet2));
  121. mavlink_msg_vkfmu_status_encode(system_id, component_id, &msg, &packet1);
  122. mavlink_msg_vkfmu_status_decode(&msg, &packet2);
  123. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  124. memset(&packet2, 0, sizeof(packet2));
  125. mavlink_msg_vkfmu_status_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.rtl_reason , packet1.s_flag2 , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar );
  126. mavlink_msg_vkfmu_status_decode(&msg, &packet2);
  127. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  128. memset(&packet2, 0, sizeof(packet2));
  129. mavlink_msg_vkfmu_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.rtl_reason , packet1.s_flag2 , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar );
  130. mavlink_msg_vkfmu_status_decode(&msg, &packet2);
  131. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  132. memset(&packet2, 0, sizeof(packet2));
  133. mavlink_msg_to_send_buffer(buffer, &msg);
  134. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  135. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  136. }
  137. mavlink_msg_vkfmu_status_decode(last_msg, &packet2);
  138. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  139. memset(&packet2, 0, sizeof(packet2));
  140. mavlink_msg_vkfmu_status_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.rtl_reason , packet1.s_flag2 , packet1.s_flag3 , packet1.ups_volt , packet1.adc_volt , packet1.flight_time , packet1.dist_to_tar );
  141. mavlink_msg_vkfmu_status_decode(last_msg, &packet2);
  142. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  143. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  144. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VKFMU_STATUS") != NULL);
  145. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VKFMU_STATUS) != NULL);
  146. #endif
  147. }
  148. static void mavlink_test_vk_roi_target(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  149. {
  150. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  151. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  152. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_ROI_TARGET >= 256) {
  153. return;
  154. }
  155. #endif
  156. mavlink_message_t msg;
  157. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  158. uint16_t i;
  159. mavlink_vk_roi_target_t packet_in = {
  160. 963497464,963497672,963497880,101.0,18067
  161. };
  162. mavlink_vk_roi_target_t packet1, packet2;
  163. memset(&packet1, 0, sizeof(packet1));
  164. packet1.time_boot_ms = packet_in.time_boot_ms;
  165. packet1.lat = packet_in.lat;
  166. packet1.lon = packet_in.lon;
  167. packet1.alt = packet_in.alt;
  168. packet1.state = packet_in.state;
  169. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  170. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  171. // cope with extensions
  172. memset(MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN);
  173. }
  174. #endif
  175. memset(&packet2, 0, sizeof(packet2));
  176. mavlink_msg_vk_roi_target_encode(system_id, component_id, &msg, &packet1);
  177. mavlink_msg_vk_roi_target_decode(&msg, &packet2);
  178. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  179. memset(&packet2, 0, sizeof(packet2));
  180. mavlink_msg_vk_roi_target_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
  181. mavlink_msg_vk_roi_target_decode(&msg, &packet2);
  182. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  183. memset(&packet2, 0, sizeof(packet2));
  184. mavlink_msg_vk_roi_target_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
  185. mavlink_msg_vk_roi_target_decode(&msg, &packet2);
  186. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  187. memset(&packet2, 0, sizeof(packet2));
  188. mavlink_msg_to_send_buffer(buffer, &msg);
  189. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  190. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  191. }
  192. mavlink_msg_vk_roi_target_decode(last_msg, &packet2);
  193. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  194. memset(&packet2, 0, sizeof(packet2));
  195. mavlink_msg_vk_roi_target_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
  196. mavlink_msg_vk_roi_target_decode(last_msg, &packet2);
  197. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  198. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  199. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_ROI_TARGET") != NULL);
  200. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_ROI_TARGET) != NULL);
  201. #endif
  202. }
  203. static void mavlink_test_vk_bms_status(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  204. {
  205. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  206. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  207. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_BMS_STATUS >= 256) {
  208. return;
  209. }
  210. #endif
  211. mavlink_message_t msg;
  212. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  213. uint16_t i;
  214. mavlink_vk_bms_status_t packet_in = {
  215. 963497464,963497672,963497880,17859,17963,18067,{ 18171, 18172, 18173, 18174, 18175, 18176, 18177, 18178, 18179, 18180, 18181, 18182, 18183, 18184, 18185, 18186, 18187, 18188, 18189, 18190, 18191, 18192, 18193, 18194, 18195, 18196, 18197, 18198, 18199, 18200 },111,178
  216. };
  217. mavlink_vk_bms_status_t packet1, packet2;
  218. memset(&packet1, 0, sizeof(packet1));
  219. packet1.time_boot_ms = packet_in.time_boot_ms;
  220. packet1.voltage = packet_in.voltage;
  221. packet1.err_code = packet_in.err_code;
  222. packet1.current = packet_in.current;
  223. packet1.temperature = packet_in.temperature;
  224. packet1.cell_num = packet_in.cell_num;
  225. packet1.cap_percent = packet_in.cap_percent;
  226. packet1.bat_id = packet_in.bat_id;
  227. mav_array_memcpy(packet1.cell_volt, packet_in.cell_volt, sizeof(uint16_t)*30);
  228. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  229. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  230. // cope with extensions
  231. memset(MAVLINK_MSG_ID_VK_BMS_STATUS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_BMS_STATUS_MIN_LEN);
  232. }
  233. #endif
  234. memset(&packet2, 0, sizeof(packet2));
  235. mavlink_msg_vk_bms_status_encode(system_id, component_id, &msg, &packet1);
  236. mavlink_msg_vk_bms_status_decode(&msg, &packet2);
  237. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  238. memset(&packet2, 0, sizeof(packet2));
  239. mavlink_msg_vk_bms_status_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.voltage , packet1.current , packet1.temperature , packet1.cap_percent , packet1.bat_id , packet1.err_code , packet1.cell_num , packet1.cell_volt );
  240. mavlink_msg_vk_bms_status_decode(&msg, &packet2);
  241. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  242. memset(&packet2, 0, sizeof(packet2));
  243. mavlink_msg_vk_bms_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.voltage , packet1.current , packet1.temperature , packet1.cap_percent , packet1.bat_id , packet1.err_code , packet1.cell_num , packet1.cell_volt );
  244. mavlink_msg_vk_bms_status_decode(&msg, &packet2);
  245. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  246. memset(&packet2, 0, sizeof(packet2));
  247. mavlink_msg_to_send_buffer(buffer, &msg);
  248. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  249. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  250. }
  251. mavlink_msg_vk_bms_status_decode(last_msg, &packet2);
  252. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  253. memset(&packet2, 0, sizeof(packet2));
  254. mavlink_msg_vk_bms_status_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.voltage , packet1.current , packet1.temperature , packet1.cap_percent , packet1.bat_id , packet1.err_code , packet1.cell_num , packet1.cell_volt );
  255. mavlink_msg_vk_bms_status_decode(last_msg, &packet2);
  256. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  257. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  258. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_BMS_STATUS") != NULL);
  259. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_BMS_STATUS) != NULL);
  260. #endif
  261. }
  262. static void mavlink_test_vk_bms_info(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  263. {
  264. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  265. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  266. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_BMS_INFO >= 256) {
  267. return;
  268. }
  269. #endif
  270. mavlink_message_t msg;
  271. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  272. uint16_t i;
  273. mavlink_vk_bms_info_t packet_in = {
  274. 963497464,17443,{ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170 },{ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230 },{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 },{ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84 },{ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242 }
  275. };
  276. mavlink_vk_bms_info_t packet1, packet2;
  277. memset(&packet1, 0, sizeof(packet1));
  278. packet1.time_boot_ms = packet_in.time_boot_ms;
  279. packet1.cyc_cnt = packet_in.cyc_cnt;
  280. mav_array_memcpy(packet1.man_name, packet_in.man_name, sizeof(uint8_t)*20);
  281. mav_array_memcpy(packet1.model_name, packet_in.model_name, sizeof(uint8_t)*20);
  282. mav_array_memcpy(packet1.sn_id, packet_in.sn_id, sizeof(uint8_t)*20);
  283. mav_array_memcpy(packet1.hw_ver, packet_in.hw_ver, sizeof(uint8_t)*10);
  284. mav_array_memcpy(packet1.fw_ver, packet_in.fw_ver, sizeof(uint8_t)*10);
  285. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  286. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  287. // cope with extensions
  288. memset(MAVLINK_MSG_ID_VK_BMS_INFO_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_BMS_INFO_MIN_LEN);
  289. }
  290. #endif
  291. memset(&packet2, 0, sizeof(packet2));
  292. mavlink_msg_vk_bms_info_encode(system_id, component_id, &msg, &packet1);
  293. mavlink_msg_vk_bms_info_decode(&msg, &packet2);
  294. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  295. memset(&packet2, 0, sizeof(packet2));
  296. mavlink_msg_vk_bms_info_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.man_name , packet1.model_name , packet1.sn_id , packet1.hw_ver , packet1.fw_ver , packet1.cyc_cnt );
  297. mavlink_msg_vk_bms_info_decode(&msg, &packet2);
  298. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  299. memset(&packet2, 0, sizeof(packet2));
  300. mavlink_msg_vk_bms_info_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.man_name , packet1.model_name , packet1.sn_id , packet1.hw_ver , packet1.fw_ver , packet1.cyc_cnt );
  301. mavlink_msg_vk_bms_info_decode(&msg, &packet2);
  302. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  303. memset(&packet2, 0, sizeof(packet2));
  304. mavlink_msg_to_send_buffer(buffer, &msg);
  305. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  306. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  307. }
  308. mavlink_msg_vk_bms_info_decode(last_msg, &packet2);
  309. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  310. memset(&packet2, 0, sizeof(packet2));
  311. mavlink_msg_vk_bms_info_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.man_name , packet1.model_name , packet1.sn_id , packet1.hw_ver , packet1.fw_ver , packet1.cyc_cnt );
  312. mavlink_msg_vk_bms_info_decode(last_msg, &packet2);
  313. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  314. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  315. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_BMS_INFO") != NULL);
  316. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_BMS_INFO) != NULL);
  317. #endif
  318. }
  319. static void mavlink_test_vk_digi_esc_status(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  320. {
  321. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  322. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  323. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS >= 256) {
  324. return;
  325. }
  326. #endif
  327. mavlink_message_t msg;
  328. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  329. uint16_t i;
  330. mavlink_vk_digi_esc_status_t packet_in = {
  331. 963497464,17443,{ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170 },{ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230 },{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 },{ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182 }
  332. };
  333. mavlink_vk_digi_esc_status_t packet1, packet2;
  334. memset(&packet1, 0, sizeof(packet1));
  335. packet1.time_boot_ms = packet_in.time_boot_ms;
  336. packet1.rot_spd = packet_in.rot_spd;
  337. mav_array_memcpy(packet1.model_name, packet_in.model_name, sizeof(uint8_t)*20);
  338. mav_array_memcpy(packet1.sn_id, packet_in.sn_id, sizeof(uint8_t)*20);
  339. mav_array_memcpy(packet1.hw_ver, packet_in.hw_ver, sizeof(uint8_t)*10);
  340. mav_array_memcpy(packet1.fw_ver, packet_in.fw_ver, sizeof(uint8_t)*10);
  341. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  342. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  343. // cope with extensions
  344. memset(MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS_MIN_LEN);
  345. }
  346. #endif
  347. memset(&packet2, 0, sizeof(packet2));
  348. mavlink_msg_vk_digi_esc_status_encode(system_id, component_id, &msg, &packet1);
  349. mavlink_msg_vk_digi_esc_status_decode(&msg, &packet2);
  350. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  351. memset(&packet2, 0, sizeof(packet2));
  352. mavlink_msg_vk_digi_esc_status_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.rot_spd , packet1.model_name , packet1.sn_id , packet1.hw_ver , packet1.fw_ver );
  353. mavlink_msg_vk_digi_esc_status_decode(&msg, &packet2);
  354. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  355. memset(&packet2, 0, sizeof(packet2));
  356. mavlink_msg_vk_digi_esc_status_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.time_boot_ms , packet1.rot_spd , packet1.model_name , packet1.sn_id , packet1.hw_ver , packet1.fw_ver );
  357. mavlink_msg_vk_digi_esc_status_decode(&msg, &packet2);
  358. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  359. memset(&packet2, 0, sizeof(packet2));
  360. mavlink_msg_to_send_buffer(buffer, &msg);
  361. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  362. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  363. }
  364. mavlink_msg_vk_digi_esc_status_decode(last_msg, &packet2);
  365. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  366. memset(&packet2, 0, sizeof(packet2));
  367. mavlink_msg_vk_digi_esc_status_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.rot_spd , packet1.model_name , packet1.sn_id , packet1.hw_ver , packet1.fw_ver );
  368. mavlink_msg_vk_digi_esc_status_decode(last_msg, &packet2);
  369. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  370. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  371. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_DIGI_ESC_STATUS") != NULL);
  372. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_DIGI_ESC_STATUS) != NULL);
  373. #endif
  374. }
  375. static void mavlink_test_vk_fw_update_begin(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  376. {
  377. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  378. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  379. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN >= 256) {
  380. return;
  381. }
  382. #endif
  383. mavlink_message_t msg;
  384. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  385. uint16_t i;
  386. mavlink_vk_fw_update_begin_t packet_in = {
  387. 963497464,17,84
  388. };
  389. mavlink_vk_fw_update_begin_t packet1, packet2;
  390. memset(&packet1, 0, sizeof(packet1));
  391. packet1.file_size = packet_in.file_size;
  392. packet1.target_system = packet_in.target_system;
  393. packet1.target_comp = packet_in.target_comp;
  394. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  395. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  396. // cope with extensions
  397. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN_MIN_LEN);
  398. }
  399. #endif
  400. memset(&packet2, 0, sizeof(packet2));
  401. mavlink_msg_vk_fw_update_begin_encode(system_id, component_id, &msg, &packet1);
  402. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  403. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  404. memset(&packet2, 0, sizeof(packet2));
  405. mavlink_msg_vk_fw_update_begin_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_comp , packet1.file_size );
  406. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  407. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  408. memset(&packet2, 0, sizeof(packet2));
  409. mavlink_msg_vk_fw_update_begin_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_comp , packet1.file_size );
  410. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  411. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  412. memset(&packet2, 0, sizeof(packet2));
  413. mavlink_msg_to_send_buffer(buffer, &msg);
  414. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  415. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  416. }
  417. mavlink_msg_vk_fw_update_begin_decode(last_msg, &packet2);
  418. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  419. memset(&packet2, 0, sizeof(packet2));
  420. mavlink_msg_vk_fw_update_begin_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_comp , packet1.file_size );
  421. mavlink_msg_vk_fw_update_begin_decode(last_msg, &packet2);
  422. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  423. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  424. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_BEGIN") != NULL);
  425. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN) != NULL);
  426. #endif
  427. }
  428. static void mavlink_test_vk_fw_update_ack(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  429. {
  430. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  431. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  432. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_ACK >= 256) {
  433. return;
  434. }
  435. #endif
  436. mavlink_message_t msg;
  437. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  438. uint16_t i;
  439. mavlink_vk_fw_update_ack_t packet_in = {
  440. 5
  441. };
  442. mavlink_vk_fw_update_ack_t packet1, packet2;
  443. memset(&packet1, 0, sizeof(packet1));
  444. packet1.result = packet_in.result;
  445. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  446. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  447. // cope with extensions
  448. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_ACK_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_ACK_MIN_LEN);
  449. }
  450. #endif
  451. memset(&packet2, 0, sizeof(packet2));
  452. mavlink_msg_vk_fw_update_ack_encode(system_id, component_id, &msg, &packet1);
  453. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  454. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  455. memset(&packet2, 0, sizeof(packet2));
  456. mavlink_msg_vk_fw_update_ack_pack(system_id, component_id, &msg , packet1.result );
  457. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  458. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  459. memset(&packet2, 0, sizeof(packet2));
  460. mavlink_msg_vk_fw_update_ack_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.result );
  461. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  462. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  463. memset(&packet2, 0, sizeof(packet2));
  464. mavlink_msg_to_send_buffer(buffer, &msg);
  465. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  466. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  467. }
  468. mavlink_msg_vk_fw_update_ack_decode(last_msg, &packet2);
  469. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  470. memset(&packet2, 0, sizeof(packet2));
  471. mavlink_msg_vk_fw_update_ack_send(MAVLINK_COMM_1 , packet1.result );
  472. mavlink_msg_vk_fw_update_ack_decode(last_msg, &packet2);
  473. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  474. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  475. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_ACK") != NULL);
  476. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_ACK) != NULL);
  477. #endif
  478. }
  479. static void mavlink_test_vk_fw_update_data_request(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  480. {
  481. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  482. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  483. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST >= 256) {
  484. return;
  485. }
  486. #endif
  487. mavlink_message_t msg;
  488. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  489. uint16_t i;
  490. mavlink_vk_fw_update_data_request_t packet_in = {
  491. 963497464,963497672
  492. };
  493. mavlink_vk_fw_update_data_request_t packet1, packet2;
  494. memset(&packet1, 0, sizeof(packet1));
  495. packet1.offset = packet_in.offset;
  496. packet1.count = packet_in.count;
  497. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  498. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  499. // cope with extensions
  500. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST_MIN_LEN);
  501. }
  502. #endif
  503. memset(&packet2, 0, sizeof(packet2));
  504. mavlink_msg_vk_fw_update_data_request_encode(system_id, component_id, &msg, &packet1);
  505. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  506. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  507. memset(&packet2, 0, sizeof(packet2));
  508. mavlink_msg_vk_fw_update_data_request_pack(system_id, component_id, &msg , packet1.offset , packet1.count );
  509. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  510. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  511. memset(&packet2, 0, sizeof(packet2));
  512. mavlink_msg_vk_fw_update_data_request_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.offset , packet1.count );
  513. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  514. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  515. memset(&packet2, 0, sizeof(packet2));
  516. mavlink_msg_to_send_buffer(buffer, &msg);
  517. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  518. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  519. }
  520. mavlink_msg_vk_fw_update_data_request_decode(last_msg, &packet2);
  521. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  522. memset(&packet2, 0, sizeof(packet2));
  523. mavlink_msg_vk_fw_update_data_request_send(MAVLINK_COMM_1 , packet1.offset , packet1.count );
  524. mavlink_msg_vk_fw_update_data_request_decode(last_msg, &packet2);
  525. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  526. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  527. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_DATA_REQUEST") != NULL);
  528. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST) != NULL);
  529. #endif
  530. }
  531. static void mavlink_test_vk_fw_update_data(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  532. {
  533. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  534. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  535. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_DATA >= 256) {
  536. return;
  537. }
  538. #endif
  539. mavlink_message_t msg;
  540. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  541. uint16_t i;
  542. mavlink_vk_fw_update_data_t packet_in = {
  543. 963497464,17,{ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211 }
  544. };
  545. mavlink_vk_fw_update_data_t packet1, packet2;
  546. memset(&packet1, 0, sizeof(packet1));
  547. packet1.offset = packet_in.offset;
  548. packet1.count = packet_in.count;
  549. mav_array_memcpy(packet1.data, packet_in.data, sizeof(uint8_t)*128);
  550. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  551. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  552. // cope with extensions
  553. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN);
  554. }
  555. #endif
  556. memset(&packet2, 0, sizeof(packet2));
  557. mavlink_msg_vk_fw_update_data_encode(system_id, component_id, &msg, &packet1);
  558. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  559. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  560. memset(&packet2, 0, sizeof(packet2));
  561. mavlink_msg_vk_fw_update_data_pack(system_id, component_id, &msg , packet1.offset , packet1.count , packet1.data );
  562. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  563. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  564. memset(&packet2, 0, sizeof(packet2));
  565. mavlink_msg_vk_fw_update_data_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.offset , packet1.count , packet1.data );
  566. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  567. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  568. memset(&packet2, 0, sizeof(packet2));
  569. mavlink_msg_to_send_buffer(buffer, &msg);
  570. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  571. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  572. }
  573. mavlink_msg_vk_fw_update_data_decode(last_msg, &packet2);
  574. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  575. memset(&packet2, 0, sizeof(packet2));
  576. mavlink_msg_vk_fw_update_data_send(MAVLINK_COMM_1 , packet1.offset , packet1.count , packet1.data );
  577. mavlink_msg_vk_fw_update_data_decode(last_msg, &packet2);
  578. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  579. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  580. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_DATA") != NULL);
  581. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA) != NULL);
  582. #endif
  583. }
  584. static void mavlink_test_vk_update_terminate(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  585. {
  586. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  587. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  588. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_UPDATE_TERMINATE >= 256) {
  589. return;
  590. }
  591. #endif
  592. mavlink_message_t msg;
  593. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  594. uint16_t i;
  595. mavlink_vk_update_terminate_t packet_in = {
  596. 5,72
  597. };
  598. mavlink_vk_update_terminate_t packet1, packet2;
  599. memset(&packet1, 0, sizeof(packet1));
  600. packet1.target_system = packet_in.target_system;
  601. packet1.target_comp = packet_in.target_comp;
  602. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  603. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  604. // cope with extensions
  605. memset(MAVLINK_MSG_ID_VK_UPDATE_TERMINATE_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_UPDATE_TERMINATE_MIN_LEN);
  606. }
  607. #endif
  608. memset(&packet2, 0, sizeof(packet2));
  609. mavlink_msg_vk_update_terminate_encode(system_id, component_id, &msg, &packet1);
  610. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  611. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  612. memset(&packet2, 0, sizeof(packet2));
  613. mavlink_msg_vk_update_terminate_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_comp );
  614. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  615. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  616. memset(&packet2, 0, sizeof(packet2));
  617. mavlink_msg_vk_update_terminate_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_comp );
  618. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  619. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  620. memset(&packet2, 0, sizeof(packet2));
  621. mavlink_msg_to_send_buffer(buffer, &msg);
  622. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  623. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  624. }
  625. mavlink_msg_vk_update_terminate_decode(last_msg, &packet2);
  626. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  627. memset(&packet2, 0, sizeof(packet2));
  628. mavlink_msg_vk_update_terminate_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_comp );
  629. mavlink_msg_vk_update_terminate_decode(last_msg, &packet2);
  630. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  631. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  632. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_UPDATE_TERMINATE") != NULL);
  633. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_UPDATE_TERMINATE) != NULL);
  634. #endif
  635. }
  636. static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  637. {
  638. mavlink_test_vkins_status(system_id, component_id, last_msg);
  639. mavlink_test_vkfmu_status(system_id, component_id, last_msg);
  640. mavlink_test_vk_roi_target(system_id, component_id, last_msg);
  641. mavlink_test_vk_bms_status(system_id, component_id, last_msg);
  642. mavlink_test_vk_bms_info(system_id, component_id, last_msg);
  643. mavlink_test_vk_digi_esc_status(system_id, component_id, last_msg);
  644. mavlink_test_vk_fw_update_begin(system_id, component_id, last_msg);
  645. mavlink_test_vk_fw_update_ack(system_id, component_id, last_msg);
  646. mavlink_test_vk_fw_update_data_request(system_id, component_id, last_msg);
  647. mavlink_test_vk_fw_update_data(system_id, component_id, last_msg);
  648. mavlink_test_vk_update_terminate(system_id, component_id, last_msg);
  649. }
  650. #ifdef __cplusplus
  651. }
  652. #endif // __cplusplus
  653. #endif // VKFLY_TESTSUITE_H