testsuite.h 23 KB

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