b4f4ad7c01
Co-authored-by: Torsten Z <t.zunker@fettec.net> Co-authored-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de> Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au> - uses ArduPilot's coding guidelines and naming conventions - control motor speed - Use the AP_ESC_Telem base class to: - copy ESC telemetry data into MAVLink telemetry - save ESC telemetry data in dataflash logs - use RPM telemetry for dynamic notch filter frequencies - sum the current telemetry info from all ESCs and use it as virtual battery current monitor sensor - average the voltage telemetry info and use it as virtual battery voltage monitor sensor - average the temperature telemetry info and use it as virtual battery temperature monitor sensor - Obey the safety switch. Keeps motors from turning - Use `SERVO_FWT_MASK` to define which servo output should be routed to FETtec ESCs - Use `SERVO_FWT_RVMASK` to define the rotation direction of the motors - `SERVO_FWT_RVMASK` changes only take effect when disarmed - Can be compiled when `HAL_WITH_ESC_TELEM` is disabled. No telemetry data will be available but it saves a lot of memory - pre-arm checks: - Check that UART is available - check that the desired motor channels parameter (`SERVO_FWT_MASK`) is valid - check that the desired motor poles parameter (`SERVO_FWT_POLES`) is valid - check that the all desired ESCs are found and configured - check that the ESCs are periodically sending telemetry data - re-init and configure an ESC(s) if not armed (motors not spinning) when - telemetry communication with the ESC(s) is lost - adds a serial simulator (--uartF=sim:fetteconewireesc) of FETtec OneWire ESCs - adds autotest (using the simulator) to: - simulate telemetry voltage, current, temperature, RPM data using SITL internal variables - test the safety switch functionality - test ESC power outages - test `SERVO_FWT_MASK` parameter validation - fly a copter over a simulated serial link connection |
||
---|---|---|
.github | ||
.semaphore | ||
AntennaTracker | ||
ArduCopter | ||
ArduPlane | ||
ArduSub | ||
benchmarks | ||
Blimp | ||
docs | ||
libraries | ||
mk | ||
modules | ||
Rover | ||
tests | ||
Tools | ||
.dir-locals.el | ||
.dockerignore | ||
.editorconfig | ||
.flake8 | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pydevproject | ||
.travis.yml | ||
.valgrind-suppressions | ||
.valgrindrc | ||
appveyor.yml | ||
BUILD.md | ||
COPYING.txt | ||
Dockerfile | ||
Doxyfile.in | ||
Makefile | ||
README.md | ||
Vagrantfile | ||
waf | ||
wscript |
ArduPilot Project
ArduPilot is the most advanced, full-featured and reliable open source autopilot software available. It has been under development since 2010 by a diverse team of professional engineers, computer scientists and community contributors. Our autopilot software is capable of controlling almost any vehicle system imaginable, from conventional airplanes, quad planes, multi-rotors, and helicopters to rovers, boats, balance bots and even submarines. It is continually being expanded to provide support for new emerging vehicle types.
The ArduPilot project is made up of:
User Support & Discussion Forums
-
Support Forum: https://discuss.ardupilot.org/
-
Community Site: https://ardupilot.org
Developer Information
-
Github repository: https://github.com/ArduPilot/ardupilot
-
Main developer wiki: https://ardupilot.org/dev/
-
Developer discussion: https://discuss.ardupilot.org
-
Developer chat: https://discord.com/channels/ardupilot
Top Contributors
- Flight code contributors
- Wiki contributors
- Most active support forum users
- Partners who contribute financially
How To Get Involved
-
The ArduPilot project is open source and we encourage participation and code contributions: guidelines for contributors to the ardupilot codebase
-
We have an active group of Beta Testers to help us improve our code: release procedures
-
Desired Enhancements and Bugs can be posted to the issues list.
-
Help other users with log analysis in the support forums
-
Improve the wiki and chat with other wiki editors on Discord #documentation
-
Contact the developers on one of the communication channels
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.
- Andrew Tridgell:
- Vehicle: Plane, AntennaTracker
- Board: Pixhawk, Pixhawk2, PixRacer
- Francisco Ferreira:
- Bug Master
- Grant Morphett:
- Vehicle: Rover
- Jacob Walser:
- Vehicle: Sub
- Lucas De Marchi:
- Subsystem: Linux
- Michael du Breuil:
- Subsystem: Batteries
- Subsystem: GPS
- Subsystem: Scripting
- Peter Barker:
- Subsystem: DataFlash, Tools
- Randy Mackay:
- Vehicle: Copter, Rover, AntennaTracker
- Siddharth Purohit:
- Subsystem: CAN, Compass
- Board: Cube*
- Tom Pittenger:
- Vehicle: Plane
- Bill Geyer:
- Vehicle: TradHeli
- Chris Olson:
- Vehicle: TradHeli
- Emile Castelnuovo:
- Board: VRBrain
- Georgii Staroselskii:
- Board: NavIO
- Gustavo José de Sousa:
- Subsystem: Build system
- Julien Beraud:
- Board: Bebop & Bebop 2
- Leonard Hall:
- Subsystem: Copter attitude control and navigation
- Matt Lawrence:
- Vehicle: 3DR Solo & Solo based vehicles
- Matthias Badaire:
- Subsystem: FRSky
- Mirko Denecke:
- Board: BBBmini, BeagleBone Blue, PocketPilot
- Paul Riseborough:
- Subsystem: AP_NavEKF2
- Subsystem: AP_NavEKF3
- Pierre Kancir:
- Subsystem: Copter SITL, Rover SITL
- Víctor Mayoral Vilches:
- Board: PXF, Erle-Brain 2, PXFmini
- Amilcar Lucas:
- Subsystem: Marvelmind
- Samuel Tabor:
- Subsystem: Soaring/Gliding