123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- /** @file
- * @brief MAVLink comm protocol testsuite generated from minimal.xml
- * @see https://mavlink.io/en/
- */
- #pragma once
- #ifndef MINIMAL_TESTSUITE_H
- #define MINIMAL_TESTSUITE_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef MAVLINK_TEST_ALL
- #define MAVLINK_TEST_ALL
- static void mavlink_test_minimal(uint8_t, uint8_t, mavlink_message_t *last_msg);
- static void mavlink_test_all(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
- {
- mavlink_test_minimal(system_id, component_id, last_msg);
- }
- #endif
- static void mavlink_test_heartbeat(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
- {
- #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
- mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
- if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_HEARTBEAT >= 256) {
- return;
- }
- #endif
- mavlink_message_t msg;
- uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
- uint16_t i;
- mavlink_heartbeat_t packet_in = {
- 963497464,17,84,151,218,3
- };
- mavlink_heartbeat_t packet1, packet2;
- memset(&packet1, 0, sizeof(packet1));
- packet1.custom_mode = packet_in.custom_mode;
- packet1.type = packet_in.type;
- packet1.autopilot = packet_in.autopilot;
- packet1.base_mode = packet_in.base_mode;
- packet1.system_status = packet_in.system_status;
- packet1.mavlink_version = packet_in.mavlink_version;
-
-
- #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
- if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
- // cope with extensions
- memset(MAVLINK_MSG_ID_HEARTBEAT_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_HEARTBEAT_MIN_LEN);
- }
- #endif
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_heartbeat_encode(system_id, component_id, &msg, &packet1);
- mavlink_msg_heartbeat_decode(&msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_heartbeat_pack(system_id, component_id, &msg , packet1.type , packet1.autopilot , packet1.base_mode , packet1.custom_mode , packet1.system_status );
- mavlink_msg_heartbeat_decode(&msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_heartbeat_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.type , packet1.autopilot , packet1.base_mode , packet1.custom_mode , packet1.system_status );
- mavlink_msg_heartbeat_decode(&msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_to_send_buffer(buffer, &msg);
- for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
- comm_send_ch(MAVLINK_COMM_0, buffer[i]);
- }
- mavlink_msg_heartbeat_decode(last_msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_heartbeat_send(MAVLINK_COMM_1 , packet1.type , packet1.autopilot , packet1.base_mode , packet1.custom_mode , packet1.system_status );
- mavlink_msg_heartbeat_decode(last_msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
- MAVLINK_ASSERT(mavlink_get_message_info_by_name("HEARTBEAT") != NULL);
- MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_HEARTBEAT) != NULL);
- #endif
- }
- static void mavlink_test_protocol_version(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
- {
- #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
- mavlink_status_t *status = mavlink_get_channel_status(MAVLINK_COMM_0);
- if ((status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) && MAVLINK_MSG_ID_PROTOCOL_VERSION >= 256) {
- return;
- }
- #endif
- mavlink_message_t msg;
- uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
- uint16_t i;
- mavlink_protocol_version_t packet_in = {
- 17235,17339,17443,{ 151, 152, 153, 154, 155, 156, 157, 158 },{ 175, 176, 177, 178, 179, 180, 181, 182 }
- };
- mavlink_protocol_version_t packet1, packet2;
- memset(&packet1, 0, sizeof(packet1));
- packet1.version = packet_in.version;
- packet1.min_version = packet_in.min_version;
- packet1.max_version = packet_in.max_version;
-
- mav_array_memcpy(packet1.spec_version_hash, packet_in.spec_version_hash, sizeof(uint8_t)*8);
- mav_array_memcpy(packet1.library_version_hash, packet_in.library_version_hash, sizeof(uint8_t)*8);
-
- #ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
- if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
- // cope with extensions
- memset(MAVLINK_MSG_ID_PROTOCOL_VERSION_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_PROTOCOL_VERSION_MIN_LEN);
- }
- #endif
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_protocol_version_encode(system_id, component_id, &msg, &packet1);
- mavlink_msg_protocol_version_decode(&msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_protocol_version_pack(system_id, component_id, &msg , packet1.version , packet1.min_version , packet1.max_version , packet1.spec_version_hash , packet1.library_version_hash );
- mavlink_msg_protocol_version_decode(&msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_protocol_version_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.version , packet1.min_version , packet1.max_version , packet1.spec_version_hash , packet1.library_version_hash );
- mavlink_msg_protocol_version_decode(&msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_to_send_buffer(buffer, &msg);
- for (i=0; i<mavlink_msg_get_send_buffer_length(&msg); i++) {
- comm_send_ch(MAVLINK_COMM_0, buffer[i]);
- }
- mavlink_msg_protocol_version_decode(last_msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
-
- memset(&packet2, 0, sizeof(packet2));
- mavlink_msg_protocol_version_send(MAVLINK_COMM_1 , packet1.version , packet1.min_version , packet1.max_version , packet1.spec_version_hash , packet1.library_version_hash );
- mavlink_msg_protocol_version_decode(last_msg, &packet2);
- MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
- #ifdef MAVLINK_HAVE_GET_MESSAGE_INFO
- MAVLINK_ASSERT(mavlink_get_message_info_by_name("PROTOCOL_VERSION") != NULL);
- MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_PROTOCOL_VERSION) != NULL);
- #endif
- }
- static void mavlink_test_minimal(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
- {
- mavlink_test_heartbeat(system_id, component_id, last_msg);
- mavlink_test_protocol_version(system_id, component_id, last_msg);
- }
- #ifdef __cplusplus
- }
- #endif // __cplusplus
- #endif // MINIMAL_TESTSUITE_H
|