mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-28 01:44:08 +08:00
TimerEvent fields were renamed; timer pointer removed
This commit is contained in:
parent
6d584734bb
commit
cefc346ebb
@ -17,14 +17,12 @@ class Timer;
|
||||
|
||||
struct TimerEvent
|
||||
{
|
||||
MonotonicTime scheduled_deadline;
|
||||
MonotonicTime current_timestamp;
|
||||
Timer* timer;
|
||||
MonotonicTime scheduled_time;
|
||||
MonotonicTime real_time;
|
||||
|
||||
TimerEvent(Timer* timer, MonotonicTime scheduled_deadline, MonotonicTime current_timestamp)
|
||||
: scheduled_deadline(scheduled_deadline)
|
||||
, current_timestamp(current_timestamp)
|
||||
, timer(timer)
|
||||
TimerEvent(MonotonicTime scheduled_time, MonotonicTime real_time)
|
||||
: scheduled_time(scheduled_time)
|
||||
, real_time(real_time)
|
||||
{ }
|
||||
};
|
||||
|
||||
|
||||
@ -12,13 +12,13 @@ void Timer::handleDeadline(MonotonicTime current_timestamp)
|
||||
{
|
||||
assert(!isRunning());
|
||||
|
||||
const MonotonicTime scheduled_deadline = getDeadline();
|
||||
const MonotonicTime scheduled_time = getDeadline();
|
||||
|
||||
if (period_ < MonotonicDuration::getInfinite())
|
||||
startWithDeadline(scheduled_deadline + period_);
|
||||
startWithDeadline(scheduled_time + period_);
|
||||
|
||||
// Application can re-register the timer with different params, it's OK
|
||||
handleTimerEvent(TimerEvent(this, scheduled_deadline, current_timestamp));
|
||||
handleTimerEvent(TimerEvent(scheduled_time, current_timestamp));
|
||||
}
|
||||
|
||||
void Timer::startOneShotWithDeadline(MonotonicTime deadline)
|
||||
|
||||
@ -60,10 +60,8 @@ TEST(Scheduler, Timers)
|
||||
ASSERT_EQ(0, sch.spin(start_ts + durMono(1000000)));
|
||||
|
||||
ASSERT_EQ(1, tcc.events_a.size());
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_a[0].scheduled_deadline, start_ts + durMono(100000)));
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_a[0].current_timestamp,
|
||||
tcc.events_a[0].scheduled_deadline));
|
||||
ASSERT_EQ(&a, tcc.events_a[0].timer);
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_a[0].scheduled_time, start_ts + durMono(100000)));
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_a[0].scheduled_time, tcc.events_a[0].real_time));
|
||||
|
||||
ASSERT_LT(900, tcc.events_b.size());
|
||||
ASSERT_GT(1100, tcc.events_b.size());
|
||||
@ -71,10 +69,8 @@ TEST(Scheduler, Timers)
|
||||
uavcan::MonotonicTime next_expected_deadline = start_ts + durMono(1000);
|
||||
for (unsigned int i = 0; i < tcc.events_b.size(); i++)
|
||||
{
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_b[i].scheduled_deadline, next_expected_deadline));
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_b[i].current_timestamp,
|
||||
tcc.events_b[i].scheduled_deadline));
|
||||
ASSERT_EQ(&b, tcc.events_b[i].timer);
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_b[i].scheduled_time, next_expected_deadline));
|
||||
ASSERT_TRUE(areTimestampsClose(tcc.events_b[i].scheduled_time, tcc.events_b[i].real_time));
|
||||
next_expected_deadline += durMono(1000);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user