Хронометраж головного циклу, який друкується, бо ввімкнено SCHED_DEBUG
Що пише ArduPilot:
- PERF: N/N [N:N] F=NHz sd=N Ex=N
Коли SCHED_DEBUG не 0, ArduPilot повідомляє, як його цикл керування тримає час: кожні 10 секунд на Copter, кожні 5 на Plane. Перша пара — повільні цикли з усіх циклів від попереднього звіту (повільний — на 20% довший за запланований); у дужках — найдовший і найкоротший цикл у мікросекундах; F — відфільтрована частота циклу, що має дорівнювати SCHED_LOOP_RATE; sd — розкид тривалості циклів у мікросекундах; Ex — додатковий час, який планувальник додав до кожного циклу, бо завдання не вміщалися.
Що робити: найімовірніше спершу
Ці рядки заповнюють список повідомлень, а навантаження процесора ви не досліджуєте.
ВиправтеПоверніть
SCHED_DEBUGдо 0.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
SCHED_DEBUG | Scheduler debug level |
SCHED_LOOP_RATE | Scheduling main loop rate |
Код, який це надсилає
PERF: N/N [N:N] F=NHz sd=N Ex=N
libraries/AP_Scheduler/PerfInfo.cpp AP::PerfInfo::update_logging() · Відкрити в ArduPilot Copter-4.7.1