ArduPlane, ArduCopter, ArduRover, ArduSub source
Go to file
Andy Piper 6da1f3bf2e AP_GyroFFT: filter energy, harmonic and amplitude fit. Make a better guess at harmonic matching
add filtered second and third harmonics and log them
make sure we use all of the gyro samples available on each axis rather than skipping
separate gyro update from fft start to minimize time in fast loop
add FFT_HMNC_PEAK to allow users to select which noise peak and which axis will be tracked.
make sure the self-test runs once and display the results
report self-test failure reason. make sure self-test runs for all windows.
always give logging a chance to run at IO_PRIORITY
add log message documentation
make sure the engine still runs even when the arming check has been disabled
record last FFT update time and cycle time and fallback to throttle estimate when update is too old
delay for longer in FFT thread between cycles to cope on F4
try really hard to get a viable frequency estimate
change range on MAXHZ/MINHZ to reflect that 50Hz is actually quite dangerous
swap the center peak for one of the shoulders if there is temporarily a closer match with the frequency trend
when FFT is disabled still log harmonic notch frequency
use distance matrix to find most appropriate peak
use a median filter to remove outliers before filtering
discount peaks that are relatively too low in energy
make sure harmonic fit is tracked for both potential targets
convert all gyro buffers to ObjectBuffer<float> for lock-free access
run all FFT steps inside the FFT thread
calculate cycle time and loop delay correctly
drop samples when the ring buffer is full
2020-05-24 07:43:34 +10:00
.azure Azure: fix build with uavcan support 2020-04-23 08:43:46 +10:00
.github .github: update template engine, fix issue template random linking to PR 2020-02-18 10:09:14 +11:00
AntennaTracker Tracker: add AP_Logger parameter tree 2020-05-21 08:59:02 +10:00
ArduCopter Copter: make sure AP_Vehicle::fast_loop() gets called 2020-05-24 07:43:34 +10:00
ArduPlane Plane: increased allowed time for mavlink send to 750us 2020-05-23 11:54:41 +10:00
ArduSub Sub: make sure AP_Vehicle::fast_loop() gets called 2020-05-24 07:43:34 +10:00
benchmarks waf: add gbenchmark Waf tool 2015-12-03 07:54:31 +11:00
docs docs: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
libraries AP_GyroFFT: filter energy, harmonic and amplitude fit. Make a better guess at harmonic matching 2020-05-24 07:43:34 +10:00
mk Make: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +11:00
modules mavlink: update for new guided commands 2020-05-20 15:03:21 +10:00
Rover Rover: align GCS PID with logged 2020-05-19 09:04:16 +10:00
tests tests: avoid warning 2020-05-10 15:11:22 +10:00
Tools autotest: test 256 FT windows and fix calculation of log-based FFT 2020-05-24 07:43:34 +10:00
.dir-locals.el emacs: add a .dir-locals.el 2016-10-24 09:41:31 -02:00
.dockerignore Docker: update the docker file and add .dockerignore 2020-04-30 20:32:34 +10:00
.editorconfig all: Change the editorconfig so that it won't want to reformat 2014-07-09 19:03:18 -07:00
.flake8 Global: add .flake8 2018-08-15 10:16:13 +10:00
.gitattributes Revert ".gitattributes: automatically clean up newlines in source files" 2015-04-20 11:04:59 +09:00
.gitignore gitignore: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
.gitmodules git: added libcanard submodule 2019-08-27 10:29:56 +10:00
.pydevproject AP_Relay: add -1:Disabled to list of param values 2014-05-15 17:13:37 +09:00
.travis.yml travis: restore fly.ArduCopter as running all tests 2020-02-22 16:51:39 +11:00
.valgrind-suppressions Valgrind: add supressions file and .valgrindrc using it 2019-07-18 16:49:11 +10:00
.valgrindrc Valgrind: add supressions file and .valgrindrc using it 2019-07-18 16:49:11 +10:00
appveyor.yml CI: fixed appveyor python install 2019-07-03 11:05:55 +10:00
BUILD.md Update BUILD.md 2020-01-14 08:30:12 +11:00
COPYING.txt cmake overhaul, cleaned up readme, added license 2011-09-30 17:32:51 -04:00
Dockerfile Docker: update the docker file and add .dockerignore 2020-04-30 20:32:34 +10:00
Doxyfile.in cfg: Fix typos 2016-05-13 19:20:07 -03:00
Makefile Make: use https:// scheme for ardupilot URLs 2019-12-10 07:53:46 +11:00
README.md README: Add soaring maintainer. 2020-05-10 15:35:00 +10:00
reformat.sh reformat: remove mention to .pde files 2016-05-07 22:55:48 -03:00
uncrustify_cpp.cfg cfg: Fix typos 2016-05-13 19:20:07 -03:00
uncrustify_headers.cfg cfg: Fix typos 2016-05-13 19:20:07 -03:00
Vagrantfile Tools: use renamed autotest step names 2020-03-27 18:20:52 +11:00
waf waf: use Python from environment 2018-11-13 10:30:34 +11:00
wscript waf: recurse into AP_Scripting for build 2020-05-12 19:55:21 +10:00

ArduPilot Project

Gitter

Build Travis Build SemaphoreCI Build Status

Coverity Scan Build Status

Autotest Status

Ardupilot is the most advanced, full-featured and reliable open source autopilot software available. It has been under development since 2010 by a team of diverse professional engineers and computer scientists. It is the only autopilot software capable of controlling almost any vehicle system imaginable, from conventional airplanes, multirotors, and helicopters, to boats and even submarines. And now being expanded to feature support for new emerging vehicle types such as quad-planes and compound helicopters.

The ArduPilot project is made up of:

User Support & Discussion Forums

Developer Information

Top Contributors

How To Get Involved

License

The ArduPilot project is licensed under the GNU General Public License, version 3.

Maintainers

Ardupilot is comprised of several parts, vehicles and boards. The list below contains the people that regularly contribute to the project and are responsible for reviewing patches on their specific area. See also the list of developers with merge rights.