5 #include <gtest/gtest.h>
7 #include <root_ns_a/MavlinkMessage.hpp>
8 #include "../clock.hpp"
9 #include "../transport/can/can.hpp"
24 "sizeof(uavcan::Publisher<root_ns_a::MavlinkMessage>): " <<
39 root_ns_a::MavlinkMessage msg;
46 const uint8_t expected_transfer_payload[] = {0x42, 0x72, 0x08, 0xa5,
'M',
's',
'g'};
59 expected_frame.
setPayload(expected_transfer_payload, 7);
64 ASSERT_TRUE(expected_frame.
compile(expected_can_frame));
66 ASSERT_TRUE(can_driver.
ifaces[0].matchAndPopTx(expected_can_frame, tx_timeout_usec + 100));
67 ASSERT_TRUE(can_driver.
ifaces[1].matchAndPopTx(expected_can_frame, tx_timeout_usec + 100));
68 ASSERT_TRUE(can_driver.
ifaces[0].tx.empty());
69 ASSERT_TRUE(can_driver.
ifaces[1].tx.empty());
75 expected_frame =
uavcan::Frame(root_ns_a::MavlinkMessage::DefaultDataTypeID,
80 expected_frame.
setPayload(expected_transfer_payload, 7);
82 ASSERT_TRUE(expected_frame.
compile(expected_can_frame));
84 ASSERT_TRUE(can_driver.
ifaces[0].matchAndPopTx(expected_can_frame, tx_timeout_usec + 100));
85 ASSERT_TRUE(can_driver.
ifaces[1].matchAndPopTx(expected_can_frame, tx_timeout_usec + 100));
86 ASSERT_TRUE(can_driver.
ifaces[0].tx.empty());
87 ASSERT_TRUE(can_driver.
ifaces[1].tx.empty());