Peter Barker
4672e9d4eb
AP_Scheduler: resolve debug name conflict
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
Peter Barker
baa6e04854
AP_Scheduler: change loop time to remove sleeping in wait_for_sample
2018-02-13 17:15:05 +11:00
Peter Barker
4909000441
AP_Scheduler: implement loop()
2018-02-13 17:15:05 +11:00
Peter Barker
e713802c24
AP_Scheduler: add accessor for tick counter
2018-02-13 17:15:05 +11:00
Peter Barker
ae9d4d514d
AP_Scheduler: PerfInfo: allow specification of loop rate
2018-02-13 17:15:05 +11:00
Peter Barker
d1781532d4
AP_Scheduler: PerfInfo: add pragma-once to header
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
Andrew Tridgell
8dcf89b2b7
AP_Scheduler: put scheduler debug on console
2018-02-08 17:36:33 +11:00
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
2018-01-20 15:35:58 +11:00
Peter Barker
f2242e07db
AP_Scheduler: remove memoisation in loop_period_s()
2018-01-20 15:35:58 +11:00
Peter Barker
a6ac37d0ba
AP_Scheduler: eliminate MAIN_LOOP_SECONDS macro
2018-01-20 15:35:58 +11:00
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.
2018-01-20 10:40:37 +11:00
Andrew Tridgell
580af4a69a
AP_Scheduler: removed create() method for objects
...
See discussion here:
https://github.com/ArduPilot/ardupilot/issues/7331
we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach
Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +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
Lucas De Marchi
69b6d95cb2
global: use static method to construct AP_Board_Config{,_CAN}
2017-09-26 03:01:21 +01:00
Lucas De Marchi
de680dac5b
global: use static method to construct AP_Scheduler
2017-09-26 03:01:21 +01:00
Lucas De Marchi
d3e12eb899
AP_Scheduler: add static create method
2017-09-26 03:01:21 +01:00
Lucas De Marchi
87b30b4552
global: use static method to construct AP_InertialSensor
2017-09-26 03:01:21 +01:00
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
2017-08-01 19:39:27 +01:00
Andrew Tridgell
56aa467d60
AP_Scheduler: adjust debug levels
...
this is more useful for performance analysis of scheduler, using perf
command
2017-05-01 15:02:34 +10:00
jaxxzer
ccb6434831
AP_Scheduler: Set main loop rate to 400hz for Sub
2017-02-21 11:26:14 +11:00
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.
2016-10-24 09:42:01 -02:00
murata
bb1a787852
AP_Scheduler: To add a comment to _loop_rate_hz variable.
2016-10-16 00:02:40 -07:00
Lucas De Marchi
ae53920e5b
build: don't build examples with old build system
...
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file. Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Andy Little
0d113b265c
Examples: fix examples for px4
...
The change to use AP_BoardConfig messed up the examples. Here are some
updated but there are plenty more to do.
2016-10-04 12:50:47 -03:00
murata
7721290160
AP_Scheduler:time_available value type invalid uint16_t to valid uint32_t.
2016-07-25 20:18:16 -03:00
Andrew Tridgell
63d0c040e4
AP_Scheduler: expose loop rate on all builds
...
as discussed with Randy
2016-06-17 15:02:28 +10:00
Andrew Tridgell
fb4cdafef8
AP_Scheduler: allow SCHED_LOOP_RATE for copter in SITL
...
very useful for slow simulation environment
2016-06-17 15:01:18 +10:00
Andrew Tridgell
ced4cce358
AP_Scheduler: added optional perf counters at SCHED_DEBUG >= 4
2016-04-21 16:45:02 +10:00
Lucas De Marchi
f5437f30ac
AP_Scheduler: replace header guard with pragma once
2016-02-18 14:52:35 -02:00
Gustavo Jose de Sousa
c2e3f05dbf
waf: ardupilotwaf: prefix build context methods with ap_
...
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
3d22490397
waf: examples: use methods from bld instead of ardupilotwaf
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
d281067bcc
waf: make example binaries be placed in 'examples' dir
...
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Andrew Tridgell
cc25575b3a
AP_Scheduler: prevent a startup crash in autotest for Rover
2016-01-05 16:31:06 +11:00
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
2016-01-04 08:37:31 +11:00
Jonathan Challinger
94543d55bb
AP_Scheduler: fix example build
2015-12-29 10:46:35 -08:00
Lucas De Marchi
a096703b06
Global: don't link with AP_Progmem
...
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Lucas De Marchi
eb9fd96d5c
AP_Scheduler: remove trailing whitespace
2015-12-27 15:58:12 -02:00
Lucas De Marchi
3375b6b01c
AP_Scheduler: stop using Progmem.h
2015-12-27 15:58:12 -02:00
Andrew Tridgell
1b1be7e4a2
AP_Scheduler: switch to Hz based scheduler config
2015-12-27 14:57:06 +09:00
Lucas De Marchi
c59490677d
AP_Scheduler: remove unused AP_ADC_AnalogSource
2015-12-03 13:32:44 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +11:00
Caio Marcelo de Oliveira Filho
81186e5416
AP_Scheduler: use millis/micros/panic functions
2015-11-20 12:34:17 +09:00
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.
2015-10-30 14:35:32 +09:00
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.
2015-10-30 14:35:25 +09:00
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.
2015-10-30 14:35:16 +09:00
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.
2015-10-30 14:35:04 +09:00