Main loop timing, printed because SCHED_DEBUG is on
What ArduPilot says:
- PERF: N/N [N:N] F=NHz sd=N Ex=N
With SCHED_DEBUG not 0, ArduPilot reports how its control loop is keeping time: every 10 seconds on Copter, every 5 on Plane. The first pair is slow loops out of all loops since the last report (slow means 20% over the planned time); the bracket holds the longest and shortest loop in microseconds; F is the filtered loop rate, which should equal SCHED_LOOP_RATE; sd is the spread of loop times in microseconds; Ex is extra time the scheduler has added to each loop because tasks were not fitting.
What to do, most likely first
The lines fill the message list and you are not studying the processor load.
FixSet
SCHED_DEBUGback to 0.
Parameters to look at
| Parameter | What it is |
|---|---|
SCHED_DEBUG | Scheduler debug level |
SCHED_LOOP_RATE | Scheduling main loop rate |
The code that sends it
PERF: N/N [N:N] F=NHz sd=N Ex=N
libraries/AP_Scheduler/PerfInfo.cpp AP::PerfInfo::update_logging() · Open in ArduPilot Copter-4.7.1