344 lines
15 KiB
C
344 lines
15 KiB
C
|
/** @file
|
||
|
* @brief MAVLink comm protocol testsuite generated from paparazzi.xml
|
||
|
* @see https://mavlink.io/en/
|
||
|
*/
|
||
|
#pragma once
|
||
|
#ifndef PAPARAZZI_TESTSUITE_H
|
||
|
#define PAPARAZZI_TESTSUITE_H
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#ifndef MAVLINK_TEST_ALL
|
||
|
#define MAVLINK_TEST_ALL
|
||
|
static void mavlink_test_common(uint8_t, uint8_t, mavlink_message_t *last_msg);
|
||
|
static void mavlink_test_paparazzi(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_common(system_id, component_id, last_msg);
|
||
|
mavlink_test_paparazzi(system_id, component_id, last_msg);
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#include "../common/testsuite.h"
|
||
|
|
||
|
|
||
|
static void mavlink_test_script_item(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_SCRIPT_ITEM >= 256) {
|
||
|
return;
|
||
|
}
|
||
|
#endif
|
||
|
mavlink_message_t msg;
|
||
|
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||
|
uint16_t i;
|
||
|
mavlink_script_item_t packet_in = {
|
||
|
17235,139,206,"EFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA"
|
||
|
};
|
||
|
mavlink_script_item_t packet1, packet2;
|
||
|
memset(&packet1, 0, sizeof(packet1));
|
||
|
packet1.seq = packet_in.seq;
|
||
|
packet1.target_system = packet_in.target_system;
|
||
|
packet1.target_component = packet_in.target_component;
|
||
|
|
||
|
mav_array_memcpy(packet1.name, packet_in.name, sizeof(char)*50);
|
||
|
|
||
|
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
|
||
|
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
|
||
|
// cope with extensions
|
||
|
memset(MAVLINK_MSG_ID_SCRIPT_ITEM_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SCRIPT_ITEM_MIN_LEN);
|
||
|
}
|
||
|
#endif
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_item_encode(system_id, component_id, &msg, &packet1);
|
||
|
mavlink_msg_script_item_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_item_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_component , packet1.seq , packet1.name );
|
||
|
mavlink_msg_script_item_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_item_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_component , packet1.seq , packet1.name );
|
||
|
mavlink_msg_script_item_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_script_item_decode(last_msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_item_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_component , packet1.seq , packet1.name );
|
||
|
mavlink_msg_script_item_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("SCRIPT_ITEM") != NULL);
|
||
|
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SCRIPT_ITEM) != NULL);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
static void mavlink_test_script_request(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_SCRIPT_REQUEST >= 256) {
|
||
|
return;
|
||
|
}
|
||
|
#endif
|
||
|
mavlink_message_t msg;
|
||
|
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||
|
uint16_t i;
|
||
|
mavlink_script_request_t packet_in = {
|
||
|
17235,139,206
|
||
|
};
|
||
|
mavlink_script_request_t packet1, packet2;
|
||
|
memset(&packet1, 0, sizeof(packet1));
|
||
|
packet1.seq = packet_in.seq;
|
||
|
packet1.target_system = packet_in.target_system;
|
||
|
packet1.target_component = packet_in.target_component;
|
||
|
|
||
|
|
||
|
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
|
||
|
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
|
||
|
// cope with extensions
|
||
|
memset(MAVLINK_MSG_ID_SCRIPT_REQUEST_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SCRIPT_REQUEST_MIN_LEN);
|
||
|
}
|
||
|
#endif
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_encode(system_id, component_id, &msg, &packet1);
|
||
|
mavlink_msg_script_request_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_component , packet1.seq );
|
||
|
mavlink_msg_script_request_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_component , packet1.seq );
|
||
|
mavlink_msg_script_request_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_script_request_decode(last_msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_component , packet1.seq );
|
||
|
mavlink_msg_script_request_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("SCRIPT_REQUEST") != NULL);
|
||
|
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SCRIPT_REQUEST) != NULL);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
static void mavlink_test_script_request_list(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_SCRIPT_REQUEST_LIST >= 256) {
|
||
|
return;
|
||
|
}
|
||
|
#endif
|
||
|
mavlink_message_t msg;
|
||
|
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||
|
uint16_t i;
|
||
|
mavlink_script_request_list_t packet_in = {
|
||
|
5,72
|
||
|
};
|
||
|
mavlink_script_request_list_t packet1, packet2;
|
||
|
memset(&packet1, 0, sizeof(packet1));
|
||
|
packet1.target_system = packet_in.target_system;
|
||
|
packet1.target_component = packet_in.target_component;
|
||
|
|
||
|
|
||
|
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
|
||
|
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
|
||
|
// cope with extensions
|
||
|
memset(MAVLINK_MSG_ID_SCRIPT_REQUEST_LIST_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SCRIPT_REQUEST_LIST_MIN_LEN);
|
||
|
}
|
||
|
#endif
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_list_encode(system_id, component_id, &msg, &packet1);
|
||
|
mavlink_msg_script_request_list_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_list_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_component );
|
||
|
mavlink_msg_script_request_list_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_list_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_component );
|
||
|
mavlink_msg_script_request_list_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_script_request_list_decode(last_msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_request_list_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_component );
|
||
|
mavlink_msg_script_request_list_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("SCRIPT_REQUEST_LIST") != NULL);
|
||
|
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SCRIPT_REQUEST_LIST) != NULL);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
static void mavlink_test_script_count(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_SCRIPT_COUNT >= 256) {
|
||
|
return;
|
||
|
}
|
||
|
#endif
|
||
|
mavlink_message_t msg;
|
||
|
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||
|
uint16_t i;
|
||
|
mavlink_script_count_t packet_in = {
|
||
|
17235,139,206
|
||
|
};
|
||
|
mavlink_script_count_t packet1, packet2;
|
||
|
memset(&packet1, 0, sizeof(packet1));
|
||
|
packet1.count = packet_in.count;
|
||
|
packet1.target_system = packet_in.target_system;
|
||
|
packet1.target_component = packet_in.target_component;
|
||
|
|
||
|
|
||
|
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
|
||
|
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
|
||
|
// cope with extensions
|
||
|
memset(MAVLINK_MSG_ID_SCRIPT_COUNT_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SCRIPT_COUNT_MIN_LEN);
|
||
|
}
|
||
|
#endif
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_count_encode(system_id, component_id, &msg, &packet1);
|
||
|
mavlink_msg_script_count_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_count_pack(system_id, component_id, &msg , packet1.target_system , packet1.target_component , packet1.count );
|
||
|
mavlink_msg_script_count_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_count_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.target_system , packet1.target_component , packet1.count );
|
||
|
mavlink_msg_script_count_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_script_count_decode(last_msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_count_send(MAVLINK_COMM_1 , packet1.target_system , packet1.target_component , packet1.count );
|
||
|
mavlink_msg_script_count_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("SCRIPT_COUNT") != NULL);
|
||
|
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SCRIPT_COUNT) != NULL);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
static void mavlink_test_script_current(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_SCRIPT_CURRENT >= 256) {
|
||
|
return;
|
||
|
}
|
||
|
#endif
|
||
|
mavlink_message_t msg;
|
||
|
uint8_t buffer[MAVLINK_MAX_PACKET_LEN];
|
||
|
uint16_t i;
|
||
|
mavlink_script_current_t packet_in = {
|
||
|
17235
|
||
|
};
|
||
|
mavlink_script_current_t packet1, packet2;
|
||
|
memset(&packet1, 0, sizeof(packet1));
|
||
|
packet1.seq = packet_in.seq;
|
||
|
|
||
|
|
||
|
#ifdef MAVLINK_STATUS_FLAG_OUT_MAVLINK1
|
||
|
if (status->flags & MAVLINK_STATUS_FLAG_OUT_MAVLINK1) {
|
||
|
// cope with extensions
|
||
|
memset(MAVLINK_MSG_ID_SCRIPT_CURRENT_MIN_LEN + (char *)&packet1, 0, sizeof(packet1)-MAVLINK_MSG_ID_SCRIPT_CURRENT_MIN_LEN);
|
||
|
}
|
||
|
#endif
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_current_encode(system_id, component_id, &msg, &packet1);
|
||
|
mavlink_msg_script_current_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_current_pack(system_id, component_id, &msg , packet1.seq );
|
||
|
mavlink_msg_script_current_decode(&msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_current_pack_chan(system_id, component_id, MAVLINK_COMM_0, &msg , packet1.seq );
|
||
|
mavlink_msg_script_current_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_script_current_decode(last_msg, &packet2);
|
||
|
MAVLINK_ASSERT(memcmp(&packet1, &packet2, sizeof(packet1)) == 0);
|
||
|
|
||
|
memset(&packet2, 0, sizeof(packet2));
|
||
|
mavlink_msg_script_current_send(MAVLINK_COMM_1 , packet1.seq );
|
||
|
mavlink_msg_script_current_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("SCRIPT_CURRENT") != NULL);
|
||
|
MAVLINK_ASSERT(mavlink_get_message_info_by_id(MAVLINK_MSG_ID_SCRIPT_CURRENT) != NULL);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
static void mavlink_test_paparazzi(uint8_t system_id, uint8_t component_id, mavlink_message_t *last_msg)
|
||
|
{
|
||
|
mavlink_test_script_item(system_id, component_id, last_msg);
|
||
|
mavlink_test_script_request(system_id, component_id, last_msg);
|
||
|
mavlink_test_script_request_list(system_id, component_id, last_msg);
|
||
|
mavlink_test_script_count(system_id, component_id, last_msg);
|
||
|
mavlink_test_script_current(system_id, component_id, last_msg);
|
||
|
}
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif // __cplusplus
|
||
|
#endif // PAPARAZZI_TESTSUITE_H
|