testsuite.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  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,17443,17547,29,96,163
  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.ups_volt = packet_in.ups_volt;
  108. packet1.adc_volt = packet_in.adc_volt;
  109. packet1.rtl_reason = packet_in.rtl_reason;
  110. packet1.s_flag2 = packet_in.s_flag2;
  111. packet1.s_flag3 = packet_in.s_flag3;
  112. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  113. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  114. // cope with extensions
  115. memset(MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VKFMU_STATUS_MIN_LEN);
  116. }
  117. #endif
  118. memset(&packet2, 0, sizeof(packet2));
  119. mavlink_msg_vkfmu_status_encode(system_id, component_id, &msg, &packet1);
  120. mavlink_msg_vkfmu_status_decode(&msg, &packet2);
  121. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  122. memset(&packet2, 0, sizeof(packet2));
  123. 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 );
  124. mavlink_msg_vkfmu_status_decode(&msg, &packet2);
  125. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  126. memset(&packet2, 0, sizeof(packet2));
  127. 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 );
  128. mavlink_msg_vkfmu_status_decode(&msg, &packet2);
  129. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  130. memset(&packet2, 0, sizeof(packet2));
  131. mavlink_msg_to_send_buffer(buffer, &msg);
  132. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  133. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  134. }
  135. mavlink_msg_vkfmu_status_decode(last_msg, &packet2);
  136. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  137. memset(&packet2, 0, sizeof(packet2));
  138. 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 );
  139. mavlink_msg_vkfmu_status_decode(last_msg, &packet2);
  140. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  141. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  142. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VKFMU_STATUS") != NULL);
  143. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VKFMU_STATUS) != NULL);
  144. #endif
  145. }
  146. static void mavlink_test_vk_roi_target(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  147. {
  148. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  149. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  150. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_ROI_TARGET >= 256) {
  151. return;
  152. }
  153. #endif
  154. mavlink_message_t msg;
  155. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  156. uint16_t i;
  157. mavlink_vk_roi_target_t packet_in = {
  158. 963497464,963497672,963497880,101.0,18067
  159. };
  160. mavlink_vk_roi_target_t packet1, packet2;
  161. memset(&packet1, 0, sizeof(packet1));
  162. packet1.time_boot_ms = packet_in.time_boot_ms;
  163. packet1.lat = packet_in.lat;
  164. packet1.lon = packet_in.lon;
  165. packet1.alt = packet_in.alt;
  166. packet1.state = packet_in.state;
  167. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  168. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  169. // cope with extensions
  170. memset(MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_ROI_TARGET_MIN_LEN);
  171. }
  172. #endif
  173. memset(&packet2, 0, sizeof(packet2));
  174. mavlink_msg_vk_roi_target_encode(system_id, component_id, &msg, &packet1);
  175. mavlink_msg_vk_roi_target_decode(&msg, &packet2);
  176. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  177. memset(&packet2, 0, sizeof(packet2));
  178. mavlink_msg_vk_roi_target_pack(system_id, component_id, &msg , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
  179. mavlink_msg_vk_roi_target_decode(&msg, &packet2);
  180. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  181. memset(&packet2, 0, sizeof(packet2));
  182. 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 );
  183. mavlink_msg_vk_roi_target_decode(&msg, &packet2);
  184. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  185. memset(&packet2, 0, sizeof(packet2));
  186. mavlink_msg_to_send_buffer(buffer, &msg);
  187. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  188. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  189. }
  190. mavlink_msg_vk_roi_target_decode(last_msg, &packet2);
  191. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  192. memset(&packet2, 0, sizeof(packet2));
  193. mavlink_msg_vk_roi_target_send(MAVLINK_COMM_1 , packet1.time_boot_ms , packet1.lat , packet1.lon , packet1.alt , packet1.state );
  194. mavlink_msg_vk_roi_target_decode(last_msg, &packet2);
  195. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  196. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  197. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_ROI_TARGET") != NULL);
  198. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_ROI_TARGET) != NULL);
  199. #endif
  200. }
  201. static void mavlink_test_vk_fw_update_begin(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  202. {
  203. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  204. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  205. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN >= 256) {
  206. return;
  207. }
  208. #endif
  209. mavlink_message_t msg;
  210. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  211. uint16_t i;
  212. mavlink_vk_fw_update_begin_t packet_in = {
  213. 963497464,17,84
  214. };
  215. mavlink_vk_fw_update_begin_t packet1, packet2;
  216. memset(&packet1, 0, sizeof(packet1));
  217. packet1.file_size = packet_in.file_size;
  218. packet1.target_system = packet_in.target_system;
  219. packet1.target_comp = packet_in.target_comp;
  220. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  221. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  222. // cope with extensions
  223. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN_MIN_LEN);
  224. }
  225. #endif
  226. memset(&packet2, 0, sizeof(packet2));
  227. mavlink_msg_vk_fw_update_begin_encode(system_id, component_id, &msg, &packet1);
  228. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  229. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  230. memset(&packet2, 0, sizeof(packet2));
  231. mavlink_msg_vk_fw_update_begin_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_comp , packet1.file_size );
  232. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  233. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  234. memset(&packet2, 0, sizeof(packet2));
  235. 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 );
  236. mavlink_msg_vk_fw_update_begin_decode(&msg, &packet2);
  237. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  238. memset(&packet2, 0, sizeof(packet2));
  239. mavlink_msg_to_send_buffer(buffer, &msg);
  240. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  241. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  242. }
  243. mavlink_msg_vk_fw_update_begin_decode(last_msg, &packet2);
  244. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  245. memset(&packet2, 0, sizeof(packet2));
  246. mavlink_msg_vk_fw_update_begin_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_comp , packet1.file_size );
  247. mavlink_msg_vk_fw_update_begin_decode(last_msg, &packet2);
  248. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  249. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  250. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_BEGIN") != NULL);
  251. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_BEGIN) != NULL);
  252. #endif
  253. }
  254. static void mavlink_test_vk_fw_update_ack(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  255. {
  256. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  257. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  258. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_ACK >= 256) {
  259. return;
  260. }
  261. #endif
  262. mavlink_message_t msg;
  263. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  264. uint16_t i;
  265. mavlink_vk_fw_update_ack_t packet_in = {
  266. 5
  267. };
  268. mavlink_vk_fw_update_ack_t packet1, packet2;
  269. memset(&packet1, 0, sizeof(packet1));
  270. packet1.result = packet_in.result;
  271. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  272. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  273. // cope with extensions
  274. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_ACK_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_ACK_MIN_LEN);
  275. }
  276. #endif
  277. memset(&packet2, 0, sizeof(packet2));
  278. mavlink_msg_vk_fw_update_ack_encode(system_id, component_id, &msg, &packet1);
  279. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  280. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  281. memset(&packet2, 0, sizeof(packet2));
  282. mavlink_msg_vk_fw_update_ack_pack(system_id, component_id, &msg , packet1.result );
  283. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  284. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  285. memset(&packet2, 0, sizeof(packet2));
  286. mavlink_msg_vk_fw_update_ack_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.result );
  287. mavlink_msg_vk_fw_update_ack_decode(&msg, &packet2);
  288. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  289. memset(&packet2, 0, sizeof(packet2));
  290. mavlink_msg_to_send_buffer(buffer, &msg);
  291. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  292. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  293. }
  294. mavlink_msg_vk_fw_update_ack_decode(last_msg, &packet2);
  295. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  296. memset(&packet2, 0, sizeof(packet2));
  297. mavlink_msg_vk_fw_update_ack_send(MAVLINK_COMM_1 , packet1.result );
  298. mavlink_msg_vk_fw_update_ack_decode(last_msg, &packet2);
  299. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  300. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  301. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_ACK") != NULL);
  302. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_ACK) != NULL);
  303. #endif
  304. }
  305. static void mavlink_test_vk_fw_update_data_request(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  306. {
  307. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  308. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  309. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST >= 256) {
  310. return;
  311. }
  312. #endif
  313. mavlink_message_t msg;
  314. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  315. uint16_t i;
  316. mavlink_vk_fw_update_data_request_t packet_in = {
  317. 963497464,963497672
  318. };
  319. mavlink_vk_fw_update_data_request_t packet1, packet2;
  320. memset(&packet1, 0, sizeof(packet1));
  321. packet1.offset = packet_in.offset;
  322. packet1.count = packet_in.count;
  323. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  324. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  325. // cope with extensions
  326. 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);
  327. }
  328. #endif
  329. memset(&packet2, 0, sizeof(packet2));
  330. mavlink_msg_vk_fw_update_data_request_encode(system_id, component_id, &msg, &packet1);
  331. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  332. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  333. memset(&packet2, 0, sizeof(packet2));
  334. mavlink_msg_vk_fw_update_data_request_pack(system_id, component_id, &msg , packet1.offset , packet1.count );
  335. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  336. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  337. memset(&packet2, 0, sizeof(packet2));
  338. mavlink_msg_vk_fw_update_data_request_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.offset , packet1.count );
  339. mavlink_msg_vk_fw_update_data_request_decode(&msg, &packet2);
  340. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  341. memset(&packet2, 0, sizeof(packet2));
  342. mavlink_msg_to_send_buffer(buffer, &msg);
  343. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  344. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  345. }
  346. mavlink_msg_vk_fw_update_data_request_decode(last_msg, &packet2);
  347. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  348. memset(&packet2, 0, sizeof(packet2));
  349. mavlink_msg_vk_fw_update_data_request_send(MAVLINK_COMM_1 , packet1.offset , packet1.count );
  350. mavlink_msg_vk_fw_update_data_request_decode(last_msg, &packet2);
  351. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  352. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  353. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_DATA_REQUEST") != NULL);
  354. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_REQUEST) != NULL);
  355. #endif
  356. }
  357. static void mavlink_test_vk_fw_update_data(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  358. {
  359. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  360. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  361. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_FW_UPDATE_DATA >= 256) {
  362. return;
  363. }
  364. #endif
  365. mavlink_message_t msg;
  366. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  367. uint16_t i;
  368. mavlink_vk_fw_update_data_t packet_in = {
  369. 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 }
  370. };
  371. mavlink_vk_fw_update_data_t packet1, packet2;
  372. memset(&packet1, 0, sizeof(packet1));
  373. packet1.offset = packet_in.offset;
  374. packet1.count = packet_in.count;
  375. mav_array_memcpy(packet1.data, packet_in.data, sizeof(uint8_t)*128);
  376. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  377. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  378. // cope with extensions
  379. memset(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_FW_UPDATE_DATA_MIN_LEN);
  380. }
  381. #endif
  382. memset(&packet2, 0, sizeof(packet2));
  383. mavlink_msg_vk_fw_update_data_encode(system_id, component_id, &msg, &packet1);
  384. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  385. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  386. memset(&packet2, 0, sizeof(packet2));
  387. mavlink_msg_vk_fw_update_data_pack(system_id, component_id, &msg , packet1.offset , packet1.count , packet1.data );
  388. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  389. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  390. memset(&packet2, 0, sizeof(packet2));
  391. mavlink_msg_vk_fw_update_data_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.offset , packet1.count , packet1.data );
  392. mavlink_msg_vk_fw_update_data_decode(&msg, &packet2);
  393. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  394. memset(&packet2, 0, sizeof(packet2));
  395. mavlink_msg_to_send_buffer(buffer, &msg);
  396. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  397. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  398. }
  399. mavlink_msg_vk_fw_update_data_decode(last_msg, &packet2);
  400. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  401. memset(&packet2, 0, sizeof(packet2));
  402. mavlink_msg_vk_fw_update_data_send(MAVLINK_COMM_1 , packet1.offset , packet1.count , packet1.data );
  403. mavlink_msg_vk_fw_update_data_decode(last_msg, &packet2);
  404. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  405. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  406. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_FW_UPDATE_DATA") != NULL);
  407. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_FW_UPDATE_DATA) != NULL);
  408. #endif
  409. }
  410. static void mavlink_test_vk_update_terminate(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  411. {
  412. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  413. mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
  414. if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_VK_UPDATE_TERMINATE >= 256) {
  415. return;
  416. }
  417. #endif
  418. mavlink_message_t msg;
  419. uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
  420. uint16_t i;
  421. mavlink_vk_update_terminate_t packet_in = {
  422. 5,72
  423. };
  424. mavlink_vk_update_terminate_t packet1, packet2;
  425. memset(&packet1, 0, sizeof(packet1));
  426. packet1.target_system = packet_in.target_system;
  427. packet1.target_comp = packet_in.target_comp;
  428. #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
  429. if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
  430. // cope with extensions
  431. memset(MAVLINK_MSG_ID_VK_UPDATE_TERMINATE_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_VK_UPDATE_TERMINATE_MIN_LEN);
  432. }
  433. #endif
  434. memset(&packet2, 0, sizeof(packet2));
  435. mavlink_msg_vk_update_terminate_encode(system_id, component_id, &msg, &packet1);
  436. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  437. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  438. memset(&packet2, 0, sizeof(packet2));
  439. mavlink_msg_vk_update_terminate_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_comp );
  440. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  441. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  442. memset(&packet2, 0, sizeof(packet2));
  443. mavlink_msg_vk_update_terminate_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_comp );
  444. mavlink_msg_vk_update_terminate_decode(&msg, &packet2);
  445. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  446. memset(&packet2, 0, sizeof(packet2));
  447. mavlink_msg_to_send_buffer(buffer, &msg);
  448. for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
  449. comm_send_ch(MAVLINK_COMM_0, buffer[i]);
  450. }
  451. mavlink_msg_vk_update_terminate_decode(last_msg, &packet2);
  452. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  453. memset(&packet2, 0, sizeof(packet2));
  454. mavlink_msg_vk_update_terminate_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_comp );
  455. mavlink_msg_vk_update_terminate_decode(last_msg, &packet2);
  456. MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
  457. #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
  458. MAVLINK_ASSERT(mavlink_get_message_info_by_name("VK_UPDATE_TERMINATE") != NULL);
  459. MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_VK_UPDATE_TERMINATE) != NULL);
  460. #endif
  461. }
  462. static void mavlink_test_VKFly(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
  463. {
  464. mavlink_test_vkins_status(system_id, component_id, last_msg);
  465. mavlink_test_vkfmu_status(system_id, component_id, last_msg);
  466. mavlink_test_vk_roi_target(system_id, component_id, last_msg);
  467. mavlink_test_vk_fw_update_begin(system_id, component_id, last_msg);
  468. mavlink_test_vk_fw_update_ack(system_id, component_id, last_msg);
  469. mavlink_test_vk_fw_update_data_request(system_id, component_id, last_msg);
  470. mavlink_test_vk_fw_update_data(system_id, component_id, last_msg);
  471. mavlink_test_vk_update_terminate(system_id, component_id, last_msg);
  472. }
  473. #ifdef __cplusplus
  474. }
  475. #endif // __cplusplus
  476. #endif // VKFLY_TESTSUITE_H