Go to the documentation of this file.
5 #include <gtest/gtest.h>
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());
static MonotonicDuration fromMSec(int64_t ms)
GlobalTimeSyncTestNetwork()
NodeID getMasterNodeID() const
void spinAll(uavcan::MonotonicDuration duration=uavcan::MonotonicDuration::fromMSec(9))
int spin(MonotonicTime deadline)
GlobalTimeSyncMasterTestNode master_high
uavcan::UtcDuration utc_adjustment
static bool areTimestampsClose(const T &a, const T &b, int64_t precision_usec=100000)
int init(const TransferPriority priority=TransferPriority::OneLowerThanHighest)
virtual uavcan::UtcTime getUtc() const
GlobalTimeSyncMasterTestNode master_low
TEST(GlobalTimeSyncMaster, Basic)
GlobalTimeSyncMasterTestNode slave
std::queue< uavcan::CanFrame > read_queue
bool isInitialized() const
static GlobalDataTypeRegistry & instance()
std::set< PairableCanDriver * > others
GlobalTimeSyncMasterTestNode(uavcan::NodeID nid)