Andrew Tridgell
79acaeaef1
AP_Scheduler: cope with high CPU load by stretching loop times
...
this adds an extra budget of time per loop when we are not achieving
scheduled tasks at a rate of at least 1/8 of the desired rate. This
fixes an issue where a vehicle can become uncontrollable if the user
asks for a SCHED_LOOP_RATE which is not achievable. As these events
happen we add extra loop budget until we are able to run all tasks. We
drop the extra time when the CPU pressure eases.
2019-09-19 18:25:20 +10:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
Peter Barker
2d4d99e836
AP_Scheduler: remove unused log_dropped variable
2018-05-15 08:35:05 +09:00
Andrew Tridgell
ce5db7b813
AP_Scheduler: fixed use of sqrt()
2018-05-07 11:43:23 +10:00
Peter Barker
8288198ac8
AP_Scheduler: force single-precision floating point calculations
2018-02-13 17:15:05 +11:00
Andrew Tridgell
f436901517
AP_Scheduler: fixed perf info to match previous behaviour
2018-02-13 17:15:05 +11:00
Andrew Tridgell
434c3fffc7
AP_Scheduler: fixed filtered loop time
2018-02-13 17:15:05 +11:00
Andrew Tridgell
620d6ab4b8
AP_Scheduler: fixed merge issues
2018-02-13 17:15:05 +11:00
Peter Barker
d3c1b720c6
AP_Scheduler: move logging of PM messages to AP_Scheduler
2018-02-13 17:15:05 +11:00
Peter Barker
d151b27e92
AP_Scheduler: move PERF: statustext sending into AP_Scheduler
2018-02-13 17:15:05 +11:00
Andrew Tridgell
b3ed8fd3f9
AP_Scheduler: scale perf_info with loop rate
...
this allows it to be used for a wide range of loop rates
2018-02-08 17:36:33 +11:00
Peter Barker
fd543fce6d
AP_Scheduler: create AP::PerfInfo class
2017-11-16 15:31:53 +00:00
Peter Barker
5c2f68e8f5
Copter+AP_Scheduler: move perf_info.cpp into Scheduler
2017-11-16 15:31:53 +00:00