Commit Graph

35 Commits

Author SHA1 Message Date
Andrew Tridgell 22bfec4d2a Copter: fixed motor runup check for heli
for all auto-throttle modes we should not allow a mode change to the
mode if the motor runup is not complete.

This moves the code to the set_mode() so it applies to all modes

fixes issue #6956
2017-09-21 08:52:50 +10:00
Jonathan Challinger 054aab738b Copter: remove const qualifier from do_precision_loiter 2017-03-29 14:06:12 +09:00
Randy Mackay 62a4867cd4 Copter: use avoidance adjusted climb rate in all modes 2017-01-18 09:35:47 +09:00
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 556eb88fe5 Copter: fix compile when precland is not selected
Fixes #5327
2016-12-05 20:03:00 +09:00
Peter Barker e72f5a6240 ArduCopter: enable/disable precision loiter on a switch
A switch MUST be assigned for precision loiter to be enabled
2016-11-18 09:41:56 +09:00
Peter Barker 9e4628af58 Copter: precision loiter 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
Leonard Hall 205bac91a1 Copter: loiter spin-up to throttle min (and remove a state) 2016-08-05 12:40:37 +09:00
mirkix e3934fac80 ArduCopter: Delete (wrong) filename out of header 2016-07-25 17:13:41 -03: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
Leonard Hall e9d8a28ec0 Copter: AP_Motor's throttle_hover replaces throttle_average 2016-06-18 11:55:49 +09:00
Randy Mackay 949d5f7109 Copter: add rangefinder_alt_ok
Reduces some duplicate code,no functional change.
2016-05-21 10:36:53 +09:00
Randy Mackay 7689315ba2 Copter: rename sonar to rangefinder 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 2eb0484142 Copter: rename Loiter states and swap order within select statement 2016-05-07 10:08:34 +09:00
Randy Mackay 1c4db779a1 Copter: Loiter stabilizes roll and pitch while landed 2016-05-07 10:08:32 +09:00
Leonard Hall be7ad2d83a Copter: loiter uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall f8d03b58d1 Copter: loiter uses 0 to 1 throttle and sets motor spool state 2016-04-01 11:59:30 +09:00
Jonathan Challinger a0b36e0eff Copter: use renamed functions in AC_AttitudeControl 2015-12-09 19:58:47 +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
Robert Lefebvre 652283a570 Copter: Helicopters to force descent when motor is shut off 2015-12-07 14:51:39 +09:00
bugobliterator 945bdee452 Copter: PILOT_VELZ_MAX and PILOT_ACCEL_Z take effect immediately 2015-11-18 22:12:41 +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 9b80ab18ae Copter: position_ok when optical flow ok
Previously the GPS based absolute position was required
This allows using optical flow in all flight modes
2015-10-14 12:01:41 +09:00
Randy Mackay 35a924703f Copter: change multirotor comments to multicopter
No functional change
2015-07-21 16:26:25 +09:00
Randy Mackay d89058a75c Copter: loiter state reads takeoff climb rate during takeoff 2015-06-29 13:49:58 +09:00
Robert Lefebvre 01ae84dda6 Copter: Create Loiter state machine. 2015-06-29 13:49:55 +09:00
Randy Mackay 82ad454864 Copter: log sonar_alt even when disabled 2015-06-17 12:46:55 +10:00
Randy Mackay 362a43c126 Copter: explicitly set alt_target_from_climb_rate parameter 2015-06-05 15:11:30 +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