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.
9 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
Andrew Tridgell
ced4cce358
AP_Scheduler: added optional perf counters at SCHED_DEBUG >= 4
9 years ago
Andrew Tridgell
cc25575b3a
AP_Scheduler: prevent a startup crash in autotest for Rover
9 years ago
Andrew Tridgell
c3829dfb64
AP_Scheduler: allow for arbitrary loop rates
...
it turns out 300Hz is pretty useful as it allows for triple EKF on
pixhawk
9 years ago
Lucas De Marchi
eb9fd96d5c
AP_Scheduler: remove trailing whitespace
9 years ago
Lucas De Marchi
3375b6b01c
AP_Scheduler: stop using Progmem.h
9 years ago
Andrew Tridgell
1b1be7e4a2
AP_Scheduler: switch to Hz based scheduler config
9 years ago
Caio Marcelo de Oliveira Filho
81186e5416
AP_Scheduler: use millis/micros/panic functions
9 years ago
Lucas De Marchi
5244559010
Minimize AP_Progmem.h includes
...
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.
In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
10 years ago
Lucas De Marchi
20c6ffc5e3
Replace use of UARTDriver::printf_P() with UARTDriver::printf()
...
This also starts to show warnings on places that were already using
wrong printf format strings.
10 years ago
Lucas De Marchi
831d8acca5
Remove use of PROGMEM
...
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:
git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'
The 2 commands were done so we don't leave behind spurious spaces.
AVR-specific places were not changed.
10 years ago
Lucas De Marchi
2c38e31c93
Remove use of PSTR
...
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.
This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.
AVR-specific places were not changed.
10 years ago
Gustavo Jose de Sousa
53b5b70960
AP_Scheduler: use also task name besides the id for logging
...
This makes it easier to identify for which task a log line is.
10 years ago
Gustavo Jose de Sousa
c04b984e6c
AP_Scheduler: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
10 years ago
Andrew Tridgell
dd691ae75c
AP_Scheduler: all vehicles now use functors
10 years ago
Andrew Tridgell
7db9da6545
AP_Scheduler: removed delegate ptr handling
...
no longer needed
10 years ago
Lucas De Marchi
78b00784fb
AP_Scheduler: allow to use functor
10 years ago
Andrew Tridgell
1237772479
AP_Scheduler: support member functions for rover
10 years ago
Andrew Tridgell
8ba5272b0e
AP_Scheduler: fixed PSTR() usage
10 years ago
Tom Pittenger
d823541eb1
AP_Scheduler: compile warnings: format not a string literal, argument types not checked
...
PSTR() goofs things up when using hal.console->printf_P()
10 years ago
Andrew Tridgell
67f5ba0b94
AP_Scheduler: added current_task static
...
will be used to debug stuck tasks on PX4
11 years ago
Andrew Tridgell
c4d62f6b92
AP_Scheduler: fixed SCHED_DEBUG docs
12 years ago
Andrew Tridgell
0f4da25e68
AP_Scheduler: make sure we run remaining tasks on overrun
...
when a task overruns its time, we can still run the rest of the tasks
in the task list
12 years ago
Andrew Tridgell
cfa1b5353f
AP_Scheduler: show slips only for SCHED_DEBUG>1
...
this allows us to see PERF reports in copter without console writes
slowing things down
12 years ago