Commit Graph

25 Commits

Author SHA1 Message Date
skyscraper
6f200fa923 ArduCopter: 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
Randy Mackay
fac7b7c566 Copter: rename set_alt to set_alt_cm in control_guided 2016-04-30 10:33:01 +09:00
Randy Mackay
cac79f297e Copter: guided can trigger terrain failsafe 2016-04-30 10:33:01 +09:00
Randy Mackay
267c1c3934 Copter: guided mode handles terrain alt 2016-04-30 10:33:01 +09:00
Randy Mackay
94b35d659e Copter: guided uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall
42f5de44d4 Copter: guided sets desired spool state 2016-04-01 11:59:30 +09:00
Randy Mackay
89c147184f Copter: log guided mode targets 2016-01-12 18:04:59 +09:00
Jonathan Challinger
dfab21171b Copter: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:37 +09:00
Jonathan Challinger
9d8b0f3d58 Copter: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:30 +09: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
Caio Marcelo de Oliveira Filho
c7acc46d09 Copter: use millis/micros/panic functions 2015-11-20 12:26:31 +09:00
Randy Mackay
b2b8dcb8ff Copter: guided calls velocity controller at 400hz
velocity controller internally updates xy-axis at 50hz, z-axis at 400hz
2015-11-18 13:31:22 +09:00
Randy Mackay
606a0e0d0b Copter: set jerk to default for circle and guided 2015-10-29 12:10:49 +09:00
Leonard Hall
411e75b917 Copter: feed forward only used for AltHold, Loiter, PosHold
land modes use non-feedforward alt hold
2015-10-28 20:21:54 +09:00
Randy Mackay
1858a0544f Copter: guided takeoff checks auto-armed status
This resolves an edge case in which the vehicle could takeoff with auto-armed false
2015-10-20 15:51:55 +09:00
Randy Mackay
a142688fea Copter: guided attitude timeout to 1sec
Also add set-attitude-target capabilities flag
Thanks to Fredia and Sebastian for noticing these issues!
2015-10-10 22:04:48 +09:00
Randy Mackay
e20038a453 Copter: support SET_ATTITUDE_TARGET in guided mode 2015-10-09 12:15:38 +09:00
Randy Mackay
0eaf815411 Copter: guided mode vel controller integrates althold lean limit
Note it does not yet actually limit the lean angles based on throttle
2015-09-07 15:10:13 +09:00
TShapinsky
5dfd1ff8d6 Copter: add velocity control timeout in guided mode 2015-08-13 02:07:00 +09:00
Randy Mackay
59d5a4fad8 Copter: landing with guided velocity controller 2015-08-11 16:41:05 -07:00
Randy Mackay
35a924703f Copter: change multirotor comments to multicopter
No functional change
2015-07-21 16:26:25 +09:00
Robert Lefebvre
24d0031389 Copter: replace slow_start() with full set_throttle_takeoff() function. 2015-07-14 20:17:15 +09:00
Robert Lefebvre
0a69c13b1d Copter: Fix helicopter ground stabilization in Auto, Brake, Circle, Guided, Land and RTL modes. 2015-07-14 20:17:14 +09:00
Andrew Tridgell
278883c521 Copter: finished conversion to .cpp files
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2015-05-30 15:21:19 +09:00
Andrew Tridgell
356ece3402 Copter: rename .pde files to .cpp files 2015-05-30 15:21:15 +09:00