Andrew Tridgell
ccae8979c1
AC_PID: expose filt_hz as a AP_Float
...
this allows defaults to be overridden
2017-01-12 17:39:37 +11:00
Andrew Tridgell
2086b591a2
AC_PID: expose ff() method in AC_PID
...
this allows for an abstract AC_PID class to be used in
AC_AttitudeControl for both multicopter and heli
2017-01-12 17:39:37 +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
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
Andrew Tridgell
a6404cf1ea
AC_PID: removed AFF from heli PID
...
this is not used any more. Discussed with Rob on dev call
2016-05-12 17:37:01 +10:00
Andrew Tridgell
cf08c46f30
AC_PID: fixed default leak min for heli
2016-05-12 17:34:23 +10:00
Andrew Tridgell
412dc10353
AC_PID: expose parameters as AP_Float
...
this enables full tuning capability
2016-05-07 18:34:03 +10:00
Ricardo de Almeida Gonzaga
5bd034a5a8
Global: start using cmath instead of math.h
2016-04-05 21:06:19 -07:00
Randy Mackay
de537390c2
AC_HELI_PID: adjust parameter descriptions
...
ILMI range is now 0 to 1
2016-04-01 11:59:30 +09:00
Randy Mackay
3465f05bec
AC_HELI_PID: shorten FILT_HZ to FILT, I_L_MIN to ILMI
...
Also minor formatting fix
2016-04-01 11:59:30 +09:00
Randy Mackay
425caeabf7
AC_PI_2D: fix parameter description
2016-04-01 11:59:30 +09:00
Randy Mackay
227e4f86d7
AC_PID: fix parameter description
2016-04-01 11:59:30 +09:00
Randy Mackay
920425567c
AC_PID: shorten FILT_HZ to FILT
2016-04-01 11:59:30 +09:00
Lucas De Marchi
f637a29ab6
AC_PID: replace header guard with pragma once
2016-03-16 18:40:39 +11:00
dgrat
5148e41c1a
AP_Math: Cleaned macro definitions
...
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03: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
27b43f4036
AC_PID: fixed example build warning
2016-01-04 08:22:17 +11:00
Jonathan Challinger
9e6be648b9
AC_PID: 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
247195512f
AC_PID: remove unused AP_ADC_AnalogSource
2015-12-03 13:32:42 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +11:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Andrew Tridgell
8f4ce7f20b
build: removed all nocore.inoflag files
...
these were APM2 specific
2015-11-16 08:05:17 +11:00
Robert Lefebvre
c66af9b788
AC_HELI_PID: Add Leak-Min param and functionality.
2015-11-12 19:37:20 +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
Caio Marcelo de Oliveira Filho
9a2e0c2fd9
AC_PID: remove unnecessary includes from example
2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
ec52df991c
build: compile only the HAL files needed by the board
...
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
2e464a53c2
AP_HAL: make code not depend on concrete HAL implementations
...
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.
A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.
The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.
Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.
The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Grant Morphett
1595c137f8
AC_PID_test: fixed AC_HELI_PID constructor
2015-08-31 13:45:13 +09:00
Gustavo Jose de Sousa
286d084d83
AC_PID: 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.
2015-08-11 16:28:41 +10:00
Andrew Tridgell
a62c450f86
AC_PID: convert example from .pde to .cpp
2015-06-01 16:58:10 +10:00
Andrew Tridgell
3ec8857fbc
AC_PID: added set_desired_rate() interface
...
used to setup _pid_info for logging
2015-05-27 14:28:48 +10:00
Andrew Tridgell
6000bb0c32
AC_PID: log desired rate for VFF as well as AFF
2015-05-27 14:28:48 +10:00
Robert Lefebvre
366f87c91c
AC_HELI_PID: Add Acceleration FF method.
2015-05-27 14:28:47 +10:00
Andrew Tridgell
e79a21d8c2
AC_PID: fill in desired rate for heli PID
2015-05-27 14:28:46 +10:00
Robert Lefebvre
967071ca62
AC_PID: Integrate PID Logging functionality.
2015-05-27 14:28:44 +10:00
Robert Lefebvre
bcc3fa0526
AC_HELI_PID: Pass default FF param setting in constructor
2015-05-22 09:38:28 +09:00
Randy Mackay
56b92e7d8c
AC_PID: fix example sketch
2015-05-13 17:55:39 +09:00
Tom Pittenger
9d74f57ed3
AP_PID: replace fabs() with fabsf()
2015-05-09 09:57:26 +10:00
Andrew Tridgell
33555b7f12
AC_PID: revert AP_Math class change
2015-05-05 13:27:05 +10:00
Tom Pittenger
54f4d4b07c
AP_PID: compiler warnings: reordered constructor
2015-05-05 13:26:56 +10:00
Tom Pittenger
01180d52c4
AP_PID: compiler warnings: apply is_zero(float)
2015-05-05 13:26:51 +10:00
Andrew Tridgell
777685ce1f
AC_PID: fix for HAL_SITL rename
2015-05-05 09:45:54 +10:00
Randy Mackay
67b0c6f5c4
AC_PID: replace is_equal with is_zero
2015-04-28 16:22:08 +09:00
Randy Mackay
3514177314
AC_PI_2D: minor format fix
2015-04-28 16:21:53 +09:00
dgrat
303cfd683a
AC_PID: replace floating point '==' with is_equal
...
Also add div-by-zero check to fix calc_filt_alpha
Also get_i and get_shrink_i do not need to set values to zero in Vector2f
constructor because this is already done.
2015-04-28 16:21:46 +09:00
Tom Pittenger
4b97cc1957
AC_PID: fix compile warnings re float constants
2015-04-24 12:22:43 +09:00
Jonathan Challinger
6ea91d012e
AC_PID: calculate filt_alpha every time the filter is run
2015-04-14 16:19:02 +09:00
Randy Mackay
a095a8c3a1
AC_PID: more protection against NaN and Inf
2015-04-09 20:19:55 +09:00
Leonard Hall
ae77c18a19
AC_PID: Protect against NaN and INF
2015-04-09 18:30:12 +09:00
Randy Mackay
f260536373
AC_PID: fix example sketch compile error
2015-04-08 15:05:29 +09:00
Randy Mackay
3f3e622be5
AC_PID: fix example sketch
2015-03-30 16:07:56 -07:00
Randy Mackay
12724e9556
AC_PID: remove include of stdio.h
2015-03-11 20:40:05 +09:00
Randy Mackay
cc0d5b9ced
AC_PI_2D: replace set_filt_hz method with filt_hz
...
Thanks to Jonathan Challinger for spotting this bug
2015-03-11 17:28:36 +09:00
Randy Mackay
c10b0b34ca
AC_PID: replace set_filt_hz method with filt_hz
...
Thanks to Jonathan Challinger for spotting this bug
Also add sanity check to filt_hz
2015-03-11 17:28:20 +09:00
Leonard Hall
34a5bc8b33
AC_PI_2D: 2-axis PI controller
2015-03-06 14:01:56 +09:00
Leonard Hall
046949ea8a
AC_HELI_PID: add input filter and restructure
...
Also removed unused initial_ff from construtor
2015-03-06 14:01:54 +09:00
Leonard Hall
517448e536
AC_PID: add input filtering and restructure
2015-03-06 14:01:52 +09:00
Andrew Tridgell
83dc9bf5b3
AC_PID: fixed example build
2014-08-13 22:11:16 +10:00
Randy Mackay
0a46afa6c4
AC_PID: init members to reduce compiler warnings
2014-07-16 17:46:14 +09:00
Robert Lefebvre
fa9d625e39
AC_HELI_PID: Add feedforward accessor functions.
2014-07-08 20:18:05 +09:00
Randy Mackay
faf3415e5e
AC_PID: example sketch prints individual P, I and D values
2014-05-29 17:39:19 +09:00
Robert Lefebvre
b35ec4339e
AC_PID: Add method to set the D-term Filter Rate from main code.
2014-05-29 17:39:10 +09:00
Robert Lefebvre
f1c3f2a3d1
AC_PID: Remove get_leaky_i function which is now found in AC_HELI_PID.
2014-05-29 17:39:08 +09:00
Robert Lefebvre
6333b4bba6
AC_PID: update example sketch to test AC_HELI_PID
2014-05-29 17:39:01 +09:00
Robert Lefebvre
ef7dc815cd
AC_PID: Change Private members to Protected so that AC_HELI_PID can access them.
2014-05-29 17:38:59 +09:00
Robert Lefebvre
94e9bed9cf
AC_PID: Add new AC_HELI_PID as a child of AC_PID
2014-05-29 17:38:57 +09:00
Kevin Hester
b7410494e3
AC_PID: fixup line endings
2014-04-15 15:55:59 +09:00
Randy Mackay
8fae75ee87
AC_PID: add AC_P controller
...
Used for stabilize angle controllers, alt hold and loiter
2014-02-15 06:09:08 +11:00
Randy Mackay
fbc5af2705
AC_PID: results returned as float
2014-02-15 06:09:08 +11:00
Andrew Tridgell
8c25a504c3
AC_PID: fixed indent-tabs-mode
2013-05-30 09:54:53 +10:00
James Bielman
4fa7bb1486
Add AVR compatibility header for missing math.h definitions.
...
- Define float versions of math functions to the double versions
on AVR (eg. #define sinf sin).
- These macros appear to be missing in older versions of avr-libs.
- Include AP_Math.h rather than math.h to get these definitions.
2013-01-16 13:52:17 +11:00
Andrew Tridgell
2294acc652
AC_PID: fixed build on ARM
2013-01-02 22:09:02 +11:00
Andrew Tridgell
374af1cd14
build: change from Arduino.mk to apm.mk
2013-01-02 17:29:37 +11:00
Andrew Tridgell
a1187519a8
AP_HAL: use AP_HAL_BOARD_DRIVER in remaining test sketches
2012-12-20 14:52:37 +11:00
Pat Hickey
eb530b86e8
move Arduino.mk to /mk/Arduino.mk
2012-12-20 14:52:35 +11:00
Andrew Tridgell
7d27e420ae
AP_HAL: remove unnecessary Arduino.h includes
2012-12-20 14:52:30 +11:00
Andrew Tridgell
9349259487
AC_PID: updates for new AP_Param API
2012-12-20 14:51:38 +11:00
Pat Hickey
475da4eca4
CONFIG_HAL_BOARD - test sketches fixed up, build all passes
2012-12-20 14:51:37 +11:00
Pat Hickey
a4f1f6a5db
AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR
2012-12-20 14:51:28 +11:00
Pat Hickey
c56c4ae240
Various example sketches: hal.uart0->begin(115200) is redundant. use console.
...
just assume uart0 is initialized by the HAL, because it is. DRY.
also, don't ever use uart0 explicitly in example sketches, use console
and let the hal figure it out.
2012-12-20 14:51:25 +11:00
Pat Hickey
050a878935
AC_PID: Ported to AP_HAL.
2012-12-20 14:51:25 +11:00
Pat Hickey
3f1d9d7f69
AP_Param: #include <AP_Param.h> fixups for libraries & sketches
...
* I mostly went through with grep and added an #include <AP_Param.h> below
every #include <AP_Common.h>. Not all of these example sketches might
strictly need AP_Param.
2012-12-20 14:51:19 +11:00
rmackay9
24317e721b
AC_PID, AP_AHRS: added descriptions to some parameters
2012-12-10 22:28:39 +09:00
Andrew Tridgell
5e7ca5b0f8
AC_PID: suppress the derivative immediately after reset
...
use _last_derivative == NAN to flag that the derivative is invalid
2012-11-27 18:45:49 +11:00
Andrew Tridgell
eac1ad49d6
AC_PID: save 8 bytes per AC_PID object
...
we don't need the _derivative or _output variables
2012-11-27 18:06:22 +11:00
Robert Lefebvre
1d12b781a0
AC_PID: Create Leaky Integrator Function.
2012-11-26 21:01:20 -05:00
Andrew Tridgell
eb5ac90e12
AC_PID: fixed example build
2012-11-24 21:07:34 +11:00
rmackay9
41489f34f9
AC_PID: fixed example sketch's compile errors
2012-11-07 23:34:10 +09:00
uncrustify
6c5757e775
uncrustify libraries/AC_PID/AC_PID.h
2012-08-21 18:59:13 -07:00
uncrustify
fc9f1a8216
uncrustify libraries/AC_PID/AC_PID.cpp
2012-08-21 18:59:13 -07:00
uncrustify
7c4f980638
uncrustify libraries/AC_PID/examples/AC_PID_test/AC_PID_test.pde
2012-08-21 18:59:13 -07:00
Andrew Tridgell
5e8fe8d93e
AP_Param: update PID libraries for new constructor syntax
2012-08-08 12:11:57 +10:00
rmackay9
24a471ff8f
AC_PID - added more paranoid checking that imax is positive in constructor, operator() and load_gains methods
2012-03-20 11:51:15 +09:00
Jason Short
b094f6ce52
added set integrator
2012-02-23 09:38:08 -08:00
Jason Short
24ce02c6a4
made I term return in same pattern as D term
2012-02-16 22:09:22 -08:00
Andrew Tridgell
9c5a5473ab
added indexes to group info structures
2012-02-13 16:22:52 +11:00
Andrew Tridgell
452749149f
convert AC_PID library to AP_Param
2012-02-13 16:22:52 +11:00