mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-16 07:07:35 +08:00
px4_work_queue: minor status changes
- only record start time on first run rather than init - increase name length - round average interval to nearest microsecond - basic formatting consistency (google style guide)
This commit is contained in:
@@ -41,41 +41,33 @@ ScheduledWorkItem::~ScheduledWorkItem()
|
||||
ScheduleClear();
|
||||
}
|
||||
|
||||
void
|
||||
ScheduledWorkItem::schedule_trampoline(void *arg)
|
||||
void ScheduledWorkItem::schedule_trampoline(void *arg)
|
||||
{
|
||||
ScheduledWorkItem *dev = static_cast<ScheduledWorkItem *>(arg);
|
||||
dev->ScheduleNow();
|
||||
}
|
||||
|
||||
void
|
||||
ScheduledWorkItem::ScheduleDelayed(uint32_t delay_us)
|
||||
void ScheduledWorkItem::ScheduleDelayed(uint32_t delay_us)
|
||||
{
|
||||
hrt_call_after(&_call, delay_us, (hrt_callout)&ScheduledWorkItem::schedule_trampoline, this);
|
||||
}
|
||||
|
||||
void
|
||||
ScheduledWorkItem::ScheduleOnInterval(uint32_t interval_us, uint32_t delay_us)
|
||||
void ScheduledWorkItem::ScheduleOnInterval(uint32_t interval_us, uint32_t delay_us)
|
||||
{
|
||||
// reset start time to first deadline (approximately)
|
||||
_start_time = hrt_absolute_time() + interval_us + delay_us;
|
||||
|
||||
hrt_call_every(&_call, delay_us, interval_us, (hrt_callout)&ScheduledWorkItem::schedule_trampoline, this);
|
||||
}
|
||||
|
||||
void
|
||||
ScheduledWorkItem::ScheduleClear()
|
||||
void ScheduledWorkItem::ScheduleClear()
|
||||
{
|
||||
// first clear any scheduled hrt call, then remove the item from the runnable queue
|
||||
hrt_cancel(&_call);
|
||||
WorkItem::ScheduleClear();
|
||||
}
|
||||
|
||||
void
|
||||
ScheduledWorkItem::print_run_status() const
|
||||
void ScheduledWorkItem::print_run_status() const
|
||||
{
|
||||
if (_call.period > 0) {
|
||||
PX4_INFO_RAW("%-24s %8.1f Hz %12.1f us (%" PRId64 " us)\n", _item_name, (double)average_rate(),
|
||||
PX4_INFO_RAW("%-26s %8.1f Hz %12.0f us (%" PRId64 " us)\n", _item_name, (double)average_rate(),
|
||||
(double)average_interval(), _call.period);
|
||||
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user