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