ArduPlane, ArduCopter, ArduRover, ArduSub source
Go to file
skyscraper 8c9e55edfa APMRover2: Fix up after refactoring RC_Channel class
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)
2016-05-10 16:21:16 +10:00
.github Revising ardupilot.com to .org 2016-04-23 22:49:45 -07:00
AntennaTracker GCS_MAVLink: Use a single stream_trigger() implementation 2016-05-07 23:49:35 -03:00
APMrover2 APMRover2: Fix up after refactoring RC_Channel class 2016-05-10 16:21:16 +10:00
ArduCopter ArduCopter: Fix up after refactoring RC_Channel class 2016-05-10 16:21:16 +10:00
ArduPlane ArduPlane: Fix up after refactoring RC_Channel class 2016-05-10 16:21:16 +10:00
benchmarks waf: add gbenchmark Waf tool 2015-12-03 07:54:31 +11:00
docs docs: remove mention to .pde files 2016-05-07 22:55:48 -03:00
libraries AP_ServoRelayEvents: Fix up after RC_Channels refactor 2016-05-10 16:21:15 +10:00
mk Revising ardupilot.com to .org 2016-04-23 22:49:47 -07:00
modules mavlink: submodule update 2016-05-01 07:37:46 +10:00
tests waf: use gtest for tests 2015-12-03 07:54:31 +11:00
Tools Tools: sitl_calibration: add sitl_magcal command 2016-05-10 16:16:38 +10:00
.editorconfig all: Change the editorconfig so that it won't want to reformat 2014-07-09 19:03:18 -07:00
.gitattributes Revert ".gitattributes: automatically clean up newlines in source files" 2015-04-20 11:04:59 +09:00
.gitignore gitignore: ignore mav.parm in the entire tree 2016-03-14 12:20:26 -03:00
.gitmodules git: changed URLs for modules 2016-03-25 20:46:30 +11:00
.pydevproject AP_Relay: add -1:Disabled to list of param values 2014-05-15 17:13:37 +09:00
.travis.yml Tools: added Navio 2 build to CI 2016-04-29 16:48:36 -03:00
COPYING.txt cmake overhaul, cleaned up readme, added license 2011-09-30 17:32:51 -04:00
Doxyfile.in Working on doxygen support. 2011-11-25 21:35:20 -05:00
eclipse.cproject Eclipse: template project files 2015-07-28 16:11:45 +09:00
eclipse.project Eclipse: template project files 2015-07-28 16:11:45 +09:00
Makefile build: allow -j on top level makefile 2015-11-09 08:32:04 +11:00
Makefile.waf waf: Makefile.waf: use check-all command instead of --alltests 2016-02-01 14:08:39 -02:00
README-WAF.md waf: add --debug configuration option 2016-05-07 22:55:03 -03:00
README.md readme: fix link to CONTRIBUTING.md 2016-05-06 11:33:41 -03:00
reformat.sh reformat: remove mention to .pde files 2016-05-07 22:55:48 -03:00
uncrustify_cpp.cfg fixes to preprocessor retab settings 2012-08-17 11:36:07 -07:00
uncrustify_headers.cfg small changes to uncrustify_headers.cft 2012-08-21 18:59:13 -07:00
Vagrantfile Fix vagrant build issues with submodules. 2015-06-18 08:47:32 +10:00
wscript waf: add --debug configuration option 2016-05-07 22:55:03 -03:00

#ArduPilot Project#

Gitter

Build SemaphoreCI

Build Travis

The ArduPilot project is made up of:

ArduCopter (or APM:Copter) : code, wiki

ArduPlane (or APM:Plane) : code, wiki

ArduRover (or APMrover2) : code, wiki

Antenna Tracker : code, wiki

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

Github statistics

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

Overview of license

Full Text

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.