Commit Graph

25 Commits

Author SHA1 Message Date
Thomas Watson 6c2daabd21 AP_Scheduler: make overtime margin definable
Also warn about overtime on ESP32 which is most likely to hit it.
2024-09-02 09:21:08 +10:00
Andrew Tridgell 5af89a4291 AP_Scheduler: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Peter Barker 35dbf93e13 AP_Scheduler: fixes for AP_SCHEDULER_ENABLED 2024-04-18 08:25:15 +10:00
Peter Barker 3604c44000 AP_Scheduler: allow more libraries to compile with no HAL_GCS_ENABLED 2023-09-05 22:23:51 +10:00
Peter Barker 8b13413f43 AP_Scheduler: add and use AP_SCHEDULER_EXTENDED_TASKINFO_ENABLED 2023-06-27 10:43:39 +10:00
Randy Mackay d9aa366b59 AP_Scheduler: add get_filtered_loop_rate_hz 2022-12-06 11:00:51 +11:00
murata 16d7f69949 AP_Scheduler: Console output can be disabled 2022-05-17 09:53:06 +10:00
Andy Piper 2209576c90 AP_Scheduler: refactor task info into TaskInfo
break fast_loop down into FastTasks to aid profiling
run fast tasks before scheduled tasks
fix scheduler example
introduce fast task priorities
remove fast loop
2022-05-03 08:20:13 +09:00
murata 55c07e24c0 AP_Scheduler: Change the Task Performance Notification Level to Information 2021-06-13 22:47:24 -07:00
Patrick José Pereira 806bc4898b AP_Scheduler: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Andy Piper af8d6c5fc9 AP_Scheduler: add the fast loop to task statistics 2020-10-07 18:08:19 +11:00
Andy Piper 5b5b9d57a1 AP_Scheduler: add per-task performance information accesible from @SYS/tasks.txt
print fully qualified name on most boards
remove old task slip message
Don't die on allocation failure.
dynamically allocation/free task info based on SCHED_OPTIONS
dynamically enable task info on ftp get
2020-09-09 17:06:12 +10:00
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