5 #include <gtest/gtest.h> 18 , node(can, clock, nid)
40 assert(!duration.isNegative());
41 unsigned nspins3 = unsigned(duration.toMSec() / 3);
42 nspins3 = nspins3 ? nspins3 : 2;
52 TEST(GlobalTimeSyncMaster, Basic)
65 ASSERT_LE(0, slave.
start());
66 ASSERT_LE(0, master_low.
init());
67 ASSERT_LE(0, master_high.
init());
75 ASSERT_LE(0, master_low.
publish());
79 ASSERT_LE(0, master_low.
publish());
94 ASSERT_LE(0, master_low.
publish());
97 ASSERT_LE(0, master_high.
publish());
101 ASSERT_LE(0, master_low.
publish());
102 ASSERT_LE(0, master_high.
publish());
114 ASSERT_LE(0, master_low.
publish());
115 ASSERT_LE(0, master_low.
publish());
116 ASSERT_LE(0, master_low.
publish());
121 ASSERT_LE(0, master_low.
publish());
std::set< PairableCanDriver * > others
GlobalTimeSyncTestNetwork()
NodeID getMasterNodeID() const
bool isInitialized() const
uavcan::UtcDuration utc_adjustment
virtual uavcan::UtcTime getUtc() const
void spinAll(uavcan::MonotonicDuration duration=uavcan::MonotonicDuration::fromMSec(9))
int spin(MonotonicTime deadline)
int init(const TransferPriority priority=TransferPriority::OneLowerThanHighest)
static bool areTimestampsClose(const T &a, const T &b, int64_t precision_usec=100000)
GlobalTimeSyncMasterTestNode master_low
GlobalTimeSyncMasterTestNode slave
static GlobalDataTypeRegistry & instance()
GlobalTimeSyncMasterTestNode master_high
TEST(GlobalTimeSyncMaster, Basic)
static MonotonicDuration fromMSec(int64_t ms)
std::queue< uavcan::CanFrame > read_queue
GlobalTimeSyncMasterTestNode(uavcan::NodeID nid)