Tamas Nepusz
c544f3dd01
AP_Scheduler: corrected tick counter overflow handling, fixes #17642
4 years ago
Andrew Tridgell
f6ec48e0e2
AP_Scheduler: removed perf counters
4 years ago
Patrick José Pereira
806bc4898b
AP_Scheduler: Add missing const in member functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
4 years ago
Andrew Tridgell
6da0212ce4
AP_Scheduler: use ExpandingString class
4 years ago
Michael du Breuil
0f5179d204
AP_Scheduler: Emit last internal error line
4 years ago
Andy Piper
af8d6c5fc9
AP_Scheduler: add the fast loop to task statistics
4 years ago
Andy Piper
958c19543f
AP_Scheduler: print task total time as a percentage of all tasks time
4 years ago
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
4 years ago
Andy Piper
a16bb2f188
AP_Scheduler: allow registration of tasks at loop rate
5 years ago
Michael du Breuil
c257cea375
AP_Scheduler: Add a lock that is held during all normal operations
5 years ago
Peter Barker
5580196b1c
AP_Scheduler: move clamping of loop rate to init function
...
Parameters may not be available in the constructor, and that's what we
need to be clamping.
5 years ago
Andy Piper
debc13965a
AP_Scheduler: add common tasks from AP_Vehicle and manage them
5 years ago
Andrew Tridgell
ddde512b74
AP_Scheduler: use fill_nanf() on each scheduler function
5 years ago
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.
5 years ago
Andrew Tridgell
4027d61e17
AP_Scheduler: log I2C ISR count
6 years ago
Peter Barker
cc7044b360
AP_Scheduler: include internal error count in PM log message
6 years ago
Andrew Tridgell
4888583e17
AP_Scheduler: use task -3 for wait_for_sample()
6 years ago
Andrew Tridgell
e801821f0c
AP_Scheduler: log SPI and I2C counters in PM msg
6 years ago
Andrew Tridgell
49061aae67
AP_Scheduler: use persistent_data for current_task
6 years ago
Peter Barker
82f8a7fa1b
AP_Scheduler: include internal errors in dataflash PM message
6 years ago
Tom Pittenger
155a1b7ec7
AP_Scheduler: unify singleton naming to _singleton and get_singleton()
6 years ago
Peter Barker
6fc76a32af
GLOBAL: use AP::logger() and strip redundant Log_ from methods
6 years ago
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
6 years ago
Peter Barker
01e0c03a12
AP_Scheduler: add singleton
7 years ago
Peter Barker
c4ea83177f
AP_Scheduler: remove unused ins error count logging
7 years ago
Peter Barker
d5c57d949b
AP_Scheduler: eliminate goto update_spare_ticks
7 years ago
Peter Barker
badfde6f18
AP_Scheduler: use continue instead of nested-if (NFC)
7 years ago
Peter Barker
224ea50260
AP_Scheduler: continue in place of nested if (NFC)
7 years ago
Mark Whitehorn
919383a739
AP_Scheduler: add load_average() to PM log message
7 years ago
Andrew Tridgell
6cc007598e
AP_Scheduler: initialise _last_loop_time_s in init()
7 years ago
Andrew Tridgell
491715bec7
AP_Scheduler: added get_last_loop_time_s()
...
this gives compatibility with previous G_Dt in copter
7 years ago
Andrew Tridgell
f436901517
AP_Scheduler: fixed perf info to match previous behaviour
7 years ago
Andrew Tridgell
e0c9d9b592
AP_Scheduler: fixed loop time available
7 years ago
Andrew Tridgell
24d6493453
AP_Scheduler: make loop times cover INS wait_for_sample
...
this matches past behaviour, and gives much more useful information to
a user wanting to know if their board it meeting its desired loop rate
7 years ago
Peter Barker
73c0905b5e
AP_Scheduler: pass log-performance-bit at init time rather than update time
7 years ago
Peter Barker
4672e9d4eb
AP_Scheduler: resolve debug name conflict
7 years ago
Peter Barker
d3c1b720c6
AP_Scheduler: move logging of PM messages to AP_Scheduler
7 years ago
Peter Barker
d151b27e92
AP_Scheduler: move PERF: statustext sending into AP_Scheduler
7 years ago
Peter Barker
baa6e04854
AP_Scheduler: change loop time to remove sleeping in wait_for_sample
7 years ago
Peter Barker
4909000441
AP_Scheduler: implement loop()
7 years ago
Andrew Tridgell
8dcf89b2b7
AP_Scheduler: put scheduler debug on console
7 years ago
Andrew Tridgell
8b0e9bcff4
AP_Scheduler: use pre-computed loop constants
...
this prevents changing the loop rate without a reboot. Too many
subsystems rely on a consistent loop rate to allow it to be changed
7 years ago
Andrew Tridgell
44dd079cb9
AP_Scheduler: allow for loop rates above 400Hz
...
with ChibiOS we can run copter at 1KHz with no scheduling misses. This
small PR allows that to be configured.
7 years ago
Peter Barker
b445313bf1
AP_Scheduler: remove loop-period argument from load_average
...
This now comes from a parameter rather than being hard-set
in the vehicle code
Also adds a method returning the max loop period based on the
loop rate
8 years ago
Andrew Tridgell
56aa467d60
AP_Scheduler: adjust debug levels
...
this is more useful for performance analysis of scheduler, using perf
command
8 years ago
jaxxzer
ccb6434831
AP_Scheduler: Set main loop rate to 400hz for Sub
8 years ago
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
8 years ago
murata
7721290160
AP_Scheduler:time_available value type invalid uint16_t to valid uint32_t.
9 years ago
Andrew Tridgell
63d0c040e4
AP_Scheduler: expose loop rate on all builds
...
as discussed with Randy
9 years ago
Andrew Tridgell
fb4cdafef8
AP_Scheduler: allow SCHED_LOOP_RATE for copter in SITL
...
very useful for slow simulation environment
9 years ago