mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-28 13:44:06 +08:00
CanRxFrame inherits CanFrame
This commit is contained in:
parent
8794c7eab9
commit
6790b04056
@ -15,9 +15,8 @@
|
||||
namespace uavcan
|
||||
{
|
||||
|
||||
struct CanRxFrame
|
||||
struct CanRxFrame : public CanFrame
|
||||
{
|
||||
CanFrame frame;
|
||||
uint64_t timestamp;
|
||||
uint8_t iface_index;
|
||||
|
||||
|
||||
@ -137,7 +137,7 @@ struct RxFrame
|
||||
|
||||
bool parse(const CanRxFrame& can_frame)
|
||||
{
|
||||
if (!frame.parse(can_frame.frame))
|
||||
if (!frame.parse(can_frame))
|
||||
return false;
|
||||
timestamp = can_frame.timestamp;
|
||||
iface_index = can_frame.iface_index;
|
||||
|
||||
@ -347,7 +347,7 @@ int CanIOManager::receive(CanRxFrame& frame, uint64_t monotonic_deadline)
|
||||
assert(0); // Nonexistent interface
|
||||
continue;
|
||||
}
|
||||
const int res = iface->receive(frame.frame, frame.timestamp);
|
||||
const int res = iface->receive(frame, frame.timestamp);
|
||||
if (res == 0)
|
||||
{
|
||||
assert(0); // select() reported that iface has pending RX frames, but receive() returned none
|
||||
|
||||
@ -196,13 +196,14 @@ TEST(CanIOManager, CanDriverMock)
|
||||
static bool rxFrameEquals(const uavcan::CanRxFrame& rxframe, const uavcan::CanFrame& frame,
|
||||
uint64_t timestamp, int iface_index)
|
||||
{
|
||||
if (rxframe.frame != frame)
|
||||
if (static_cast<const uavcan::CanFrame&>(rxframe) != frame)
|
||||
{
|
||||
std::cout << "Frame mismatch:\n"
|
||||
<< " " << rxframe.frame.toString(uavcan::CanFrame::STR_ALIGNED) << "\n"
|
||||
<< " " << rxframe.toString(uavcan::CanFrame::STR_ALIGNED) << "\n"
|
||||
<< " " << frame.toString(uavcan::CanFrame::STR_ALIGNED) << std::endl;
|
||||
}
|
||||
return (rxframe.frame == frame) && (rxframe.timestamp == timestamp) && (rxframe.iface_index == iface_index);
|
||||
return (static_cast<const uavcan::CanFrame&>(rxframe) == frame) &&
|
||||
(rxframe.timestamp == timestamp) && (rxframe.iface_index == iface_index);
|
||||
}
|
||||
|
||||
TEST(CanIOManager, Reception)
|
||||
|
||||
@ -145,7 +145,7 @@ TEST(Transfer, RxFrameParseCompile)
|
||||
ASSERT_FALSE(rx_frame.parse(can_rx_frame));
|
||||
|
||||
// Default
|
||||
can_rx_frame.frame.id = CanFrame::FLAG_EFF;
|
||||
can_rx_frame.id = CanFrame::FLAG_EFF;
|
||||
ASSERT_TRUE(rx_frame.parse(can_rx_frame));
|
||||
ASSERT_EQ(0, rx_frame.timestamp);
|
||||
ASSERT_EQ(0, rx_frame.iface_index);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user