8c9e55edfa
Further to refactor of RC_Channel class which included adding get_xx set_xx methods, change reads and writes to the public members to calls to get and set functionsss old public member(int16_t) get function -> int16_t set function (int16_t) (expression where c is an object of type RC_Channel) c.radio_in c.get_radio_in() c.set_radio_in(v) c.control_in c.get_control_in() c.set_control_in(v) c.servo_out c.get_servo_out() c.set_servo_out(v) c.pwm_out c.get_pwm_out() // use existing c.radio_out c.get_radio_out() c.set_radio_out(v) c.radio_max c.get_radio_max() c.set_radio_max(v) c.radio_min c.get_radio_min() c.set_radio_min(v) c.radio_trim c.get_radio_trim() c.set_radio_trim(v); c.min_max_configured() // return true if min and max are configured Because data members of RC_Channels are now private and so cannot be written directly some overloads are provided in the Plane classes to provide the old functionality new overload Plane::stick_mix_channel(RC_Channel *channel) which forwards to the previously existing void stick_mix_channel(RC_Channel *channel, int16_t &servo_out); new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const which forwards to (uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const; Rename functions RC_Channel_aux::set_radio_trim(Aux_servo_function_t function) to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function) RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value) to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value) Rationale: RC_Channel is a complicated class, which combines several functionalities dealing with stick inputs in pwm and logical units, logical and actual actuator outputs, unit conversion etc, etc The intent of this PR is to clarify existing use of the class. At the basic level it should now be possible to grep all places where private variable is set by searching for the set_xx function. (The wider purpose is to provide a more generic and logically simpler method of output mixing. This is a small step) |
||
---|---|---|
.github | ||
AntennaTracker | ||
APMrover2 | ||
ArduCopter | ||
ArduPlane | ||
benchmarks | ||
docs | ||
libraries | ||
mk | ||
modules | ||
tests | ||
Tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pydevproject | ||
.travis.yml | ||
COPYING.txt | ||
Doxyfile.in | ||
eclipse.cproject | ||
eclipse.project | ||
Makefile | ||
Makefile.waf | ||
README-WAF.md | ||
README.md | ||
reformat.sh | ||
uncrustify_cpp.cfg | ||
uncrustify_headers.cfg | ||
Vagrantfile | ||
wscript |
#ArduPilot Project#
The ArduPilot project is made up of:
User Support & Discussion Forums
Support Forum: http://discuss.ardupilot.org/
Community Site: http://ardupilot.org
Developer Information
Github repository: https://github.com/ArduPilot/ardupilot
Main developer wiki: http://dev.ardupilot.org
Developer email group: drones-discuss@googlegroups.com
Contributors
Dronecode.org
ArduPilot is part of Dronecode.org, a Linux Foundation collaborative project.
Dronecode encompasses projects that control flight, enable mission planning, and otherwise make drone flight and advanced functionality possible.
Dronecode development is done at the project level with coordinating and resource allocation performed by the TSC and the Board.
For information on the foundation please visit https://www.dronecode.org and https://github.com/Dronecode for further information or contact celder@dronecode.org
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 especially for ArduCopter to help us find bugs: release procedures
Desired Enhancements and Bugs can be posted to the issues list.
Helping other users with log analysis on http://discuss.ardupilot.org/ is always appreciated:
There is a group of wiki editors as well in case documentation is your thing: ardu-wiki-editors@googlegroups.com
Developer discussions occur on drones-discuss@google-groups.com
License
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 CONTRIBUTING.md for more information.
- Andrew Tridgell
- Vehicle: AntennaTracker, Plane
- Board: APM1, APM2, Pixhawk
- Randy Mackay
- Vehicle: Copter
- Robert Lefebvre
- Vehicle: TradHeli
- Grant Morphett:
- Vehicle: Rover
- Matthias Badaire
- Subsystem: FRSky
- Paul Riseborough
- Subsystem: AP_NavEKF
- Lucas De Marchi
- Subsystem: Linux
- Peter Barker
- Subsystem: DataFlash
- Subsystem: Tools
- Michael du Breuil
- Subsystem: uBlox GPS
- Víctor Mayoral Vilches
- Board: PXF, Erle-Brain 2, PXFmini
- Mirko Denecke
- Board: BBBmini
- Georgii Staroselskii
- Board: NavIO
- Emile Castelnuovo
- Board: VRBrain
- Mike McCauley
- Board: Flymaple
- Julien BERAUD
- Board: Bebop & Bebop 2
- Pritam Ghanghas
- Board: Raspilot
- [Jonathan Challinger] (https://github.com/3drobotics/ardupilot-solo)
- Vehicle: 3DRobotics Solo ArduPilot maintainer
- Gustavo José de Sousa
- Subsystem: Build system
- [Craig Elder] (https://github.com/CraigElder)
- Administration: Dronecode Technical Community Manager
- [Tom Pittenger] (https://github.com/magicrub)
- Vehicle: Plane