Commit Graph

38 Commits

Author SHA1 Message Date
Andrew Tridgell 0f6d0c5ba9 Copter: combined tri, single, coax and multicopter into a single build
this allows copter to be just 2 builds, one for heli, and one for
everything else
2017-01-12 17:39:37 +11:00
Peter Barker b9808662b8 Copter: remove dead code 2016-11-18 09:41:56 +09:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Randy Mackay 5894a54a16 Copter: althold uses current alt target if active
Previously we always reset the altitude target to the current altitude but this causes a jump if the vehicle is already in an alt-hold flight mode but has an altitude error
2016-10-15 11:29:10 +09:00
Jonathan Challinger 7cb9ad6e2b Copter: descend normally from 35cm 2016-10-14 10:46:11 +09:00
Jonathan Challinger f2ef8eec8c Copter: use velocity output from AC_PrecLand 2016-10-14 10:46:08 +09:00
Andrew Tridgell 3041a75798 Copter: limit attitude on landing using WP_NAVALT_MIN 2016-08-16 11:26:56 +10:00
Jonathan Challinger 0051ecb288 Copter: fix LAND_SPEED_HIGH 2016-08-11 19:17:17 -07:00
Randy Mackay 542677f1d5 Copter: land vertical control uses current_loc.alt instead of get_alt_cm
This resolves a warning from Covarity that we were not checking the return
value of Location_Class::get_alt_cm.  It was not actually a problem.
No functional change
2016-08-08 13:30:53 +09:00
Randy Mackay ac4f36a992 Copter: remove LAND_REQUIRE_MIN_THROTTLE_TO_DISARM feature
This definition has been false for over a year and we have not heard of any users wanting to delay the disarming until the pilot's throttle goes to zero.  Removing this feature removes a small bit of complexity from the code.
2016-08-05 12:40:37 +09:00
Randy Mackay 8681911a0b Copter: small fix to precision land descent rate 2016-07-12 18:40:25 +09:00
Jonathan Challinger a4827aff53 Copter: slow down precision landing descent based on position error 2016-07-12 18:40:25 +09:00
Jonathan Challinger e22220ab62 Copter: refactor landing to reduce duplication, use vertical vel ff 2016-07-12 18:40:25 +09:00
Jonathan Challinger 91a5b26725 Copter: use simplified precland interface 2016-07-04 16:57:06 +09:00
Leonard Hall 7d54c268f6 Copter: consolidate input_euler_angle calls to use smoothing gain
Previously we had _smooth and non-smooth methods in the attitude
controller but as part of the move to quaternions these have been replaced
by a single call which always takes a smoothing gain
2016-06-24 17:17:17 +09:00
Randy Mackay e6b3638d84 Copter: minor change to land mode's logic to use rangefinder
No functional change
2016-05-21 10:36:53 +09:00
Randy Mackay 5ac13c0355 Copter: move rangefinder variables into structure
moved in rangefinder_alt, rangefinder_alt_health and rangefinder_enabled
2016-05-21 10:36:53 +09:00
Randy Mackay 7689315ba2 Copter: rename sonar to rangefinder 2016-05-21 10:36:53 +09:00
Randy Mackay 028946ae9e Copter: rename CONFIG_SONAR to RANGEFINDER_ENABLE 2016-05-21 10:36:53 +09:00
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 27517004c0 Copter: slow to land-speed 10m above terrain 2016-04-30 10:33:01 +09:00
Randy Mackay 39dc2d7176 Copter: while landing use land-speed from 10m above home
Previously vehicle was switching to land-speed at 10m above the origin
2016-04-30 10:33:01 +09:00
Jonathan Challinger 1356deab8b Copter: add control_mode_reason 2016-04-14 12:24:04 +09:00
Randy Mackay 02ac2d0e4e Copter: land uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall 100fcf799e Copter: land sets desired spool state 2016-04-01 11:59:30 +09:00
Andrew Tridgell f19922fec5 Copter: added LAND_SPEED_HIGH parameter
this is the descent rate for the first part of a landing. Separating
this from WPNAV_SPEED_DN allows for independent tuning of fast fwd
flight from landings
2016-03-30 15:54:20 +11:00
Randy Mackay d989cf29e2 Copter: cancelling no-gps-land switches to AltHold
Previously it could switch to Loiter
2016-01-14 15:22:02 +09:00
Randy Mackay 2c5f9422d4 Copter: log event if pilot cancels land
Also add definition for throttle value that cancels land
2016-01-14 15:21:57 +09:00
Jonathan Challinger 8965185587 Copter: add "high throttle cancels landing" option 2016-01-14 15:21:54 +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
Leonard Hall 543f6fdcd4 Copter: AltHold limits lean angle to maintain altitude
get_pilot_desired_lean_angles function now takes angle max parameter but
all flight modes except AltHold simply pass in the ANGLE_MAX parameter
meaning no functional change for them
2015-09-07 15:10:12 +09:00
Randy Mackay f4b152f0e3 Copter: add Precision Landing to GPS land 2015-08-31 18:00:31 +09:00
Randy Mackay 35a924703f Copter: change multirotor comments to multicopter
No functional change
2015-07-21 16:26:25 +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
Jonathan Challinger fb82ac3eb3 Copter: rework land detector logic 2015-05-30 18:51:55 +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