Andrew Tridgell
47854ac4b7
APM_Control: lower the tuning trigger threshold
...
this allows for slower stick movements during tuning
This is based on analysing the log from kir850 on rcgroups
4 years ago
Andrew Tridgell
45cf726a4b
APM_Control: new autotune scheme
...
this separately tunes D and then P, which more closely follows the
technique used for a manual tune
4 years ago
Andrew Tridgell
1633afb6cd
APM_Control: adjust fixed wing filter defaults
...
adjust defaults based on discussions with Paul, and initialise the
FLTT value based on the controller time constant
4 years ago
Andrew Tridgell
cd43c0ecef
APM_Control: use FF to increase but not reduce tau in autotune
...
if user wants a slow time constant we should not override
4 years ago
Andrew Tridgell
f64c6f9ba1
APM_Control: fixed cygwin build
...
FF0 is a macro in cygwin
4 years ago
Andrew Tridgell
767a0b2a99
APM_Control: tweak the activation detection to catch more events
4 years ago
Andrew Tridgell
dd98f00947
APM_Control: prevent cross-axis tuning
...
this should fix tuning at higher AUTOTUNE_LEVEL values
4 years ago
Andrew Tridgell
320d3d20c2
APM_Control: log autotune at 25Hz
4 years ago
Andrew Tridgell
72b51a389c
APM_Control: use ATRP log msg via structure
4 years ago
Andrew Tridgell
7b073a61f1
APM_Control: allow for gain reductions when idle
4 years ago
Andrew Tridgell
91856b1d8c
APM_Control: prevent bad init of FF in autotune
4 years ago
Andrew Tridgell
3fdd507157
APM_Control: log I and prevent numercial errors in autotune
4 years ago
Andrew Tridgell
24d53eade4
APM_Control: adjust filter for autotune to 0.75 Hz
...
this should give a better FF estimate
4 years ago
Paul Riseborough
9e6561e6b5
APM_Control: Ensure adequate trim speed
4 years ago
Andrew Tridgell
fa88967b6e
APM_Control: adjust min value for tconst
4 years ago
Andrew Tridgell
b079da33c5
APM_Control: use slew rate to move gains more smoothly
4 years ago
Andrew Tridgell
772b1262d4
APM_Control: added proportional reduction to D and P
4 years ago
Andrew Tridgell
d561cd358f
APM_Control: log RMAX and TAU
4 years ago
Andrew Tridgell
d914ce6829
APM_Control: reset filters on autotune start
4 years ago
Andrew Tridgell
7e64875a02
APM_Control: tweak tuning settings
4 years ago
Andrew Tridgell
97f88f67f6
APM_Control: allow for AUTOTUNE_LEVEL=0
...
this means keep the existing TCONST and RMAX parameters, if non-zero
4 years ago
Andrew Tridgell
316541017a
APM_Control: fixed handling of clipped actuator in autotune
4 years ago
Andrew Tridgell
9997b191a8
APM_Control: log smoothed rates
4 years ago
Andrew Tridgell
20ef242280
APM_Control: fixed restore of tconst on autotune abort
4 years ago
Andrew Tridgell
53ee13a083
APM_Control: use instance logging and allow AUTOTUNE_LEVEL adjustments
4 years ago
Andrew Tridgell
70c194c358
APM_Control: fixed LoggerDocumentation test
4 years ago
Andrew Tridgell
0b76a8018f
APM_Control: move rmax and tau more slowly
4 years ago
Andrew Tridgell
3cb32a18f0
APM_Control: fixed for cygwin build
4 years ago
Andrew Tridgell
364fa0680d
APM_Control: use shorter tau for autotune higher levels
4 years ago
Andrew Tridgell
f88622def8
APM_Control: implement new autotune system
...
use actuator/rate ratio with median filter for FF and Dmod/overshoot
for P,I,D
4 years ago
Andrew Tridgell
ead011c7c2
APM_Control: move to only ACPID
4 years ago
Peter Barker
cb692c6946
APM_Control: move logger include to .cpp
6 years ago
Tom Pittenger
0a95785ff0
APM_Control: rename dataflash to logger
6 years ago
Tom Pittenger
752804c2a5
APM_Control: 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
d1f5bcb1ab
APM_Control: stop taking reference to dataflash, use singleton
6 years ago
Michael du Breuil
84b1a6a58b
APM_Control: Supress some compilier warnings about strncpy
7 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
Ricardo de Almeida Gonzaga
8d6cc587c5
APM_Control: Fix typos
9 years ago
Will Sackfield
8c98eb2b84
APMControl: Cast type to uint8
...
* Clang requires that the type be explicitly cast
to uint8
9 years ago
Lucas De Marchi
cfb5bbeb9f
APM_Control: stop using Progmem.h
9 years ago
Caio Marcelo de Oliveira Filho
fe718a6ce8
APM_Control: 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.
9 years ago
Lucas De Marchi
1b07dabeb7
Replace prog_char and prog_char_t with char
...
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.
AVR-specific places were not changed.
9 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.
9 years ago
Lucas De Marchi
1336d621be
Replace use of strcpy_P() with strcpy()
9 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.
9 years ago
Gustavo Jose de Sousa
db9f037e4b
APM_Control: 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
Lucas De Marchi
4a595bd797
APM_Control: use ARRAY_SIZE
10 years ago