Commit Graph

63 Commits

Author SHA1 Message Date
Dr.-Ing. Amilcar do Carmo Lucas
8e143aa637 Copter: Do not switch into a disabled flight mode 2018-03-19 15:06:41 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas
ed36ec3c29 Copter: add option to disable THROW mode 2018-03-15 07:38:14 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
b27c00dc5f Copter: add option to disable ACRO mode 2018-03-15 07:38:14 +09:00
Peter Barker
7154f4dea4 Copter: add option to disable LOITER mode 2018-02-27 07:43:13 +09:00
Peter Barker
b9ad2bc8db Copter: add option to disable AUTO mode
Saves ~12k of flash
2018-02-27 07:43:13 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
def098bd8a Copter: obey ADSB_ENABLED == DISABLED 2018-02-21 22:11:34 +09:00
murata
296ee7315b Copter: minor formatting fixes 2018-02-12 12:17:05 +09:00
murata
c31c2a4cf1 Copter: optionalize the winch 2018-02-12 12:16:57 +09:00
Andrew Tridgell
89674482a7 Copter: added FLTMODE_CH parameter
this allows for the flight mode to be on any RC channel, or no channel
at all to disable RC flight modes
2018-01-27 12:01:35 +09:00
Pierre Kancir
10e6fe43dd Copter: Add a switch option to enable/disable RC_Override 2018-01-24 21:37:41 +09:00
Randy Mackay
2d23e1f7c7 Copter: rename flightmode_ objects to mode_ 2017-12-12 10:39:26 +09:00
Peter Barker
f2495b2d08 Copter: FlightMode - convert LOITER flight mode 2017-12-06 08:24:24 +09:00
Randy Mackay
787954fa37 Copter: integrate winch library
fixes after peer review:
rename winch-disable to winch-relaxed
add DO_WINCH to do-verify
winch release-length accepts rate
2017-10-27 09:20:38 +09:00
Andrew Tridgell
951ed95eb9 Copter: support inverted flight CH7 option 2017-10-03 10:16:41 +11:00
Randy Mackay
44a436642b Copter: complete rename to SmartRTL
Also fix parameter description for CH7_OPT
2017-09-15 08:58:14 +09:00
squilter
4b57a4a231 Copter: rename SafeRTL to SmartRTL 2017-09-09 14:05:41 +09:00
squilter
ba0e08552f Copter: add SafeRTL flight mode 2017-09-09 14:05:41 +09:00
Peter Barker
cdf9ebcb39 Copter: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker
f60389d4aa Copter: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Randy Mackay
a5ea9420c0 Copter: landing gear position set less often
This change means no pwm output is sent to the landing gear servos until the pilot has moved the switch
2017-06-13 13:56:07 +09:00
Randy Mackay
51c00f8144 Copter: use only downward facing rangefinder 2017-02-27 15:18:16 +09:00
Peter Barker
b7f982d7ce Copter: support for arming and disarming using an auxsw 2017-02-06 16:48:50 +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
Andrew Tridgell
5a87ae3f01 Copter: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Peter Barker
a233024e05 Copter: fix compilation when fence andd proximity are disabled
This adds AC_AVOID_ENABLED; avoidance must be disabled if either
of fence or proximity are disabled.

Parameter definitions have been reordered to avoid compiler warnings;
this make sthe numbering non-linear
2017-01-03 10:44:03 +09:00
Randy Mackay
38478638de Copter: aux switch for enable/disable proximity based avoidance 2016-12-20 19:48:02 +09:00
Randy Mackay
2371b05696 Copter: init avoid-adsb and prec-loiter enabled from switch positions
Without this there could be a mismatch between the switch position and whether the feature is enabled/disabled
2016-12-19 17:01:16 +09:00
Randy Mackay
2365036e5c Copter: move #if within case statement in switches.cpp
This removes some compile warnings when features are disabled
2016-12-19 17:01:12 +09:00
Randy Mackay
70feff487e Copter: format fixes to switches.cpp
No functional change
2016-12-19 17:01:09 +09: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
2fd6be8ccb ArduCopter: neaten reading of aux switches 2016-11-18 09:41:56 +09:00
Peter Barker
236b8ab6b7 Copter: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:39 +09:00
Peter Barker
920868145c Copter: support for AP_Gripper 2016-11-05 10:20:33 +09:00
Peter Barker
d877a00825 Copter: call run rather than enable for sprayer 2016-10-29 15:02:54 +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
ccc99c772f Copter: remove union from aux_con for switch state 2016-10-14 10:31:05 +09:00
murata
b23823a934 Copter: delete unused variable from aux switch structure 2016-10-14 10:30:41 +09:00
Peter Barker
b81074d83a Copter: simplify auxsw duplicates check 2016-09-23 18:12:19 +09:00
Randy Mackay
e17c8ac851 Copter: remove non-working reset-to-armed-yaw
Arguably we should make this work, but until that happens we should not present the option on the auxiliary switches
2016-08-29 16:34:24 +09:00
Jonathan Challinger
80f3541933 Copter: add configurable arming delay 2016-08-04 15:19:22 +09:00
Randy Mackay
807e930251 Copter: throw uses motor spooling instead of interlock 2016-08-02 20:25:52 +09:00
Randy Mackay
d50987f976 Copter: avoidance_adsb implements copter avoidance using ADSB 2016-07-25 20:24:37 +09:00
Randy Mackay
e489c3184c Copter: rangefinder.enabled false if no range finders are configured 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
Jonathan Challinger
1356deab8b Copter: add control_mode_reason 2016-04-14 12:24:04 +09:00
Jonathan Challinger
a0ce8af633 Copter: use enum type for control_mode 2016-04-14 12:24:04 +09:00