testsuite.h 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814
  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.loiter_reason = packet_in.loiter_reason;
  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.loiter_reason , 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.loiter_reason , 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.loiter_reason , 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_comp_version(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_COMP_VERSION >= 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_comp_version_t packet_in = {
  387. 17235,{ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154 },{ 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202 },{ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250 },{ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42 },{ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90 },{ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138 }
  388. };
  389. mavlink_vk_comp_version_t packet1, packet2;
  390. memset(&packet1, 0, sizeof(packet1));
  391. packet1.comp_id = packet_in.comp_id;
  392. mav_array_memcpy(packet1.hw_ver, packet_in.hw_ver, sizeof(uint8_t)*16);
  393. mav_array_memcpy(packet1.fw_ver, packet_in.fw_ver, sizeof(uint8_t)*16);
  394. mav_array_memcpy(packet1.SN, packet_in.SN, sizeof(uint8_t)*16);
  395. mav_array_memcpy(packet1.manufactory, packet_in.manufactory, sizeof(uint8_t)*16);
  396. mav_array_memcpy(packet1.model, packet_in.model, sizeof(uint8_t)*16);
  397. mav_array_memcpy(packet1.priv_data, packet_in.priv_data, sizeof(uint8_t)*16);
  398. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  399. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  400. // cope with extensions
  401. memset(MAVLINK_MSG_ID_VK_COMP_VERSION_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_COMP_VERSION_MIN_LEN);
  402. }
  403. #endif
  404. memset(&packet2, 0, sizeof(packet2));
  405. mavlink_msg_vk_comp_version_encode(system_id, component_id, &msg, &packet1);
  406. mavlink_msg_vk_comp_version_decode(&msg, &packet2);
  407. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  408. memset(&packet2, 0, sizeof(packet2));
  409. mavlink_msg_vk_comp_version_pack(system_id, component_id, &msg , packet1.comp_id , packet1.hw_ver , packet1.fw_ver , packet1.SN , packet1.manufactory , packet1.model , packet1.priv_data );
  410. mavlink_msg_vk_comp_version_decode(&msg, &packet2);
  411. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  412. memset(&packet2, 0, sizeof(packet2));
  413. mavlink_msg_vk_comp_version_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.comp_id , packet1.hw_ver , packet1.fw_ver , packet1.SN , packet1.manufactory , packet1.model , packet1.priv_data );
  414. mavlink_msg_vk_comp_version_decode(&msg, &packet2);
  415. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  416. memset(&packet2, 0, sizeof(packet2));
  417. mavlink_msg_to_send_buffer(buffer, &msg);
  418. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  419. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  420. }
  421. mavlink_msg_vk_comp_version_decode(last_msg, &packet2);
  422. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  423. memset(&packet2, 0, sizeof(packet2));
  424. mavlink_msg_vk_comp_version_send(MAVLINK_COMM_1 , packet1.comp_id , packet1.hw_ver , packet1.fw_ver , packet1.SN , packet1.manufactory , packet1.model , packet1.priv_data );
  425. mavlink_msg_vk_comp_version_decode(last_msg, &packet2);
  426. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  427. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  428. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_COMP_VERSION") != NULL);
  429. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_COMP_VERSION) != NULL);
  430. #endif
  431. }
  432. static void mavlink_test_vk_fw_update_begin(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  433. {
  434. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  435. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  436. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN >= 256) {
  437. return;
  438. }
  439. #endif
  440. mavlink_message_t msg;
  441. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  442. uint16_t i;
  443. mavlink_vk_fw_update_begin_t packet_in = {
  444. 963497464,17,84
  445. };
  446. mavlink_vk_fw_update_begin_t packet1, packet2;
  447. memset(&packet1, 0, sizeof(packet1));
  448. packet1.file_size = packet_in.file_size;
  449. packet1.target_system = packet_in.target_system;
  450. packet1.target_comp = packet_in.target_comp;
  451. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  452. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  453. // cope with extensions
  454. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN_MIN_LEN);
  455. }
  456. #endif
  457. memset(&packet2, 0, sizeof(packet2));
  458. mavlink_msg_vk_fw_update_begin_encode(system_id, component_id, &msg, &packet1);
  459. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  460. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  461. memset(&packet2, 0, sizeof(packet2));
  462. mavlink_msg_vk_fw_update_begin_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_comp , packet1.file_size );
  463. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  464. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  465. memset(&packet2, 0, sizeof(packet2));
  466. 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 );
  467. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  468. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  469. memset(&packet2, 0, sizeof(packet2));
  470. mavlink_msg_to_send_buffer(buffer, &msg);
  471. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  472. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  473. }
  474. mavlink_msg_vk_fw_update_begin_decode(last_msg, &packet2);
  475. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  476. memset(&packet2, 0, sizeof(packet2));
  477. mavlink_msg_vk_fw_update_begin_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_comp , packet1.file_size );
  478. mavlink_msg_vk_fw_update_begin_decode(last_msg, &packet2);
  479. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  480. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  481. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_BEGIN") != NULL);
  482. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN) != NULL);
  483. #endif
  484. }
  485. static void mavlink_test_vk_fw_update_ack(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  486. {
  487. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  488. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  489. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_ACK >= 256) {
  490. return;
  491. }
  492. #endif
  493. mavlink_message_t msg;
  494. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  495. uint16_t i;
  496. mavlink_vk_fw_update_ack_t packet_in = {
  497. 5
  498. };
  499. mavlink_vk_fw_update_ack_t packet1, packet2;
  500. memset(&packet1, 0, sizeof(packet1));
  501. packet1.result = packet_in.result;
  502. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  503. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  504. // cope with extensions
  505. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_ACK_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_ACK_MIN_LEN);
  506. }
  507. #endif
  508. memset(&packet2, 0, sizeof(packet2));
  509. mavlink_msg_vk_fw_update_ack_encode(system_id, component_id, &msg, &packet1);
  510. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  511. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  512. memset(&packet2, 0, sizeof(packet2));
  513. mavlink_msg_vk_fw_update_ack_pack(system_id, component_id, &msg , packet1.result );
  514. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  515. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  516. memset(&packet2, 0, sizeof(packet2));
  517. mavlink_msg_vk_fw_update_ack_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.result );
  518. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  519. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  520. memset(&packet2, 0, sizeof(packet2));
  521. mavlink_msg_to_send_buffer(buffer, &msg);
  522. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  523. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  524. }
  525. mavlink_msg_vk_fw_update_ack_decode(last_msg, &packet2);
  526. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  527. memset(&packet2, 0, sizeof(packet2));
  528. mavlink_msg_vk_fw_update_ack_send(MAVLINK_COMM_1 , packet1.result );
  529. mavlink_msg_vk_fw_update_ack_decode(last_msg, &packet2);
  530. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  531. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  532. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_ACK") != NULL);
  533. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_ACK) != NULL);
  534. #endif
  535. }
  536. static void mavlink_test_vk_fw_update_data_request(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  537. {
  538. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  539. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  540. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST >= 256) {
  541. return;
  542. }
  543. #endif
  544. mavlink_message_t msg;
  545. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  546. uint16_t i;
  547. mavlink_vk_fw_update_data_request_t packet_in = {
  548. 963497464,963497672
  549. };
  550. mavlink_vk_fw_update_data_request_t packet1, packet2;
  551. memset(&packet1, 0, sizeof(packet1));
  552. packet1.offset = packet_in.offset;
  553. packet1.count = packet_in.count;
  554. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  555. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  556. // cope with extensions
  557. 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);
  558. }
  559. #endif
  560. memset(&packet2, 0, sizeof(packet2));
  561. mavlink_msg_vk_fw_update_data_request_encode(system_id, component_id, &msg, &packet1);
  562. mavlink_msg_vk_fw_update_data_request_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_request_pack(system_id, component_id, &msg , packet1.offset , packet1.count );
  566. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  567. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  568. memset(&packet2, 0, sizeof(packet2));
  569. mavlink_msg_vk_fw_update_data_request_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.offset , packet1.count );
  570. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  571. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  572. memset(&packet2, 0, sizeof(packet2));
  573. mavlink_msg_to_send_buffer(buffer, &msg);
  574. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  575. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  576. }
  577. mavlink_msg_vk_fw_update_data_request_decode(last_msg, &packet2);
  578. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  579. memset(&packet2, 0, sizeof(packet2));
  580. mavlink_msg_vk_fw_update_data_request_send(MAVLINK_COMM_1 , packet1.offset , packet1.count );
  581. mavlink_msg_vk_fw_update_data_request_decode(last_msg, &packet2);
  582. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  583. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  584. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_DATA_REQUEST") != NULL);
  585. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST) != NULL);
  586. #endif
  587. }
  588. static void mavlink_test_vk_fw_update_data(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  589. {
  590. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  591. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  592. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_DATA >= 256) {
  593. return;
  594. }
  595. #endif
  596. mavlink_message_t msg;
  597. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  598. uint16_t i;
  599. mavlink_vk_fw_update_data_t packet_in = {
  600. 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 }
  601. };
  602. mavlink_vk_fw_update_data_t packet1, packet2;
  603. memset(&packet1, 0, sizeof(packet1));
  604. packet1.offset = packet_in.offset;
  605. packet1.count = packet_in.count;
  606. mav_array_memcpy(packet1.data, packet_in.data, sizeof(uint8_t)*128);
  607. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  608. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  609. // cope with extensions
  610. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN);
  611. }
  612. #endif
  613. memset(&packet2, 0, sizeof(packet2));
  614. mavlink_msg_vk_fw_update_data_encode(system_id, component_id, &msg, &packet1);
  615. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  616. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  617. memset(&packet2, 0, sizeof(packet2));
  618. mavlink_msg_vk_fw_update_data_pack(system_id, component_id, &msg , packet1.offset , packet1.count , packet1.data );
  619. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  620. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  621. memset(&packet2, 0, sizeof(packet2));
  622. mavlink_msg_vk_fw_update_data_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.offset , packet1.count , packet1.data );
  623. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  624. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  625. memset(&packet2, 0, sizeof(packet2));
  626. mavlink_msg_to_send_buffer(buffer, &msg);
  627. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  628. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  629. }
  630. mavlink_msg_vk_fw_update_data_decode(last_msg, &packet2);
  631. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  632. memset(&packet2, 0, sizeof(packet2));
  633. mavlink_msg_vk_fw_update_data_send(MAVLINK_COMM_1 , packet1.offset , packet1.count , packet1.data );
  634. mavlink_msg_vk_fw_update_data_decode(last_msg, &packet2);
  635. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  636. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  637. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_DATA") != NULL);
  638. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA) != NULL);
  639. #endif
  640. }
  641. static void mavlink_test_vk_update_terminate(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  642. {
  643. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  644. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  645. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_UPDATE_TERMINATE >= 256) {
  646. return;
  647. }
  648. #endif
  649. mavlink_message_t msg;
  650. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  651. uint16_t i;
  652. mavlink_vk_update_terminate_t packet_in = {
  653. 5,72
  654. };
  655. mavlink_vk_update_terminate_t packet1, packet2;
  656. memset(&packet1, 0, sizeof(packet1));
  657. packet1.target_system = packet_in.target_system;
  658. packet1.target_comp = packet_in.target_comp;
  659. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  660. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  661. // cope with extensions
  662. memset(MAVLINK_MSG_ID_VK_UPDATE_TERMINATE_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_UPDATE_TERMINATE_MIN_LEN);
  663. }
  664. #endif
  665. memset(&packet2, 0, sizeof(packet2));
  666. mavlink_msg_vk_update_terminate_encode(system_id, component_id, &msg, &packet1);
  667. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  668. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  669. memset(&packet2, 0, sizeof(packet2));
  670. mavlink_msg_vk_update_terminate_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_comp );
  671. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  672. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  673. memset(&packet2, 0, sizeof(packet2));
  674. mavlink_msg_vk_update_terminate_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_comp );
  675. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  676. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  677. memset(&packet2, 0, sizeof(packet2));
  678. mavlink_msg_to_send_buffer(buffer, &msg);
  679. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  680. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  681. }
  682. mavlink_msg_vk_update_terminate_decode(last_msg, &packet2);
  683. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  684. memset(&packet2, 0, sizeof(packet2));
  685. mavlink_msg_vk_update_terminate_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_comp );
  686. mavlink_msg_vk_update_terminate_decode(last_msg, &packet2);
  687. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  688. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  689. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_UPDATE_TERMINATE") != NULL);
  690. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_UPDATE_TERMINATE) != NULL);
  691. #endif
  692. }
  693. static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  694. {
  695. mavlink_test_vkins_status(system_id, component_id, last_msg);
  696. mavlink_test_vkfmu_status(system_id, component_id, last_msg);
  697. mavlink_test_vk_roi_target(system_id, component_id, last_msg);
  698. mavlink_test_vk_bms_status(system_id, component_id, last_msg);
  699. mavlink_test_vk_bms_info(system_id, component_id, last_msg);
  700. mavlink_test_vk_digi_esc_status(system_id, component_id, last_msg);
  701. mavlink_test_vk_comp_version(system_id, component_id, last_msg);
  702. mavlink_test_vk_fw_update_begin(system_id, component_id, last_msg);
  703. mavlink_test_vk_fw_update_ack(system_id, component_id, last_msg);
  704. mavlink_test_vk_fw_update_data_request(system_id, component_id, last_msg);
  705. mavlink_test_vk_fw_update_data(system_id, component_id, last_msg);
  706. mavlink_test_vk_update_terminate(system_id, component_id, last_msg);
  707. }
  708. #ifdef __cplusplus
  709. }
  710. #endif // __cplusplus
  711. #endif // VKFLY_TESTSUITE_H