Commit Graph

208 Commits

Author SHA1 Message Date
Randy Mackay 2f5a8fd6b9 RC_Channel: add aux function for visodom-calibrate 2020-04-09 19:41:08 +09:00
Michael du Breuil 2b9aa9bc21 RC_Channel: Add option bit for arming checking the throttle input (opt-in)
Also adds interface to find out what channel is used for rudder arming
2020-04-07 14:01:12 -07:00
Andrew Tridgell f299a4af33 RC_Channel: added RC_OPTION bit for protocol logging 2020-03-24 09:10:36 +09:00
Randy Mackay cd38940ecf RC_Channel: formatting fixes 2020-02-25 17:38:24 +09:00
Randy Mackay 77d5165c01 RC_Channel: add norm_input_ignore_trim
same as norm_input but ignores the trim value
2020-02-25 17:38:24 +09:00
Matt Lawrence 27e825b058 RC_Channel: Add GoPro mode toggle Aux switch 2020-02-18 11:13:27 +11:00
Peter Barker 73e51c480a RC_Channel: correct RC_set_override parameter name
This was just misnamed.  All callers appear to be passing ms in.
2020-02-10 13:46:33 -07:00
Peter Barker ac25b90dda RC_Channel: factor out a do_aux_function_armdisarm method 2020-01-08 18:36:02 +11:00
Andrew Tridgell 7769cf5316 RC_Channel: added FPort pad option 2020-01-02 09:52:57 +11:00
Peter Hall df3ffb215e RC_Channel: add Flap input 2020-01-01 08:11:01 +11:00
Andy Piper fcc7b58b5f RC_Channel: add runcam osd control option 2019-12-30 13:02:04 +11:00
Andy Piper 3cba76123b RC_Channel: add support for RunCam camera control
make read_3pos_switch and enum public
2019-12-30 13:02:04 +11:00
Andrew Tridgell dfd7b022fd RC_Channel: added get_pwm() function for Lua 2019-12-20 19:51:46 -07:00
Andrew Tridgell 6ff303adf4 RC_Channel: added comment on odd inheritance 2019-12-19 14:52:33 +11:00
Peter Barker e12a841eb5 RC_Channel: move support for ADSB avoidance switch enable up 2019-11-12 13:48:09 +11:00
Peter Barker 3bec1c7d4f RC_Channel: correct description of standby option
Also canonicalise on STANDBY rather than STANDBY
2019-10-21 21:22:17 +08:00
Henry Wurzburg 119f0a95ad RC_Channel: added RC option for new takeoff mode 2019-10-21 08:41:58 +11:00
Leonard Hall 05f1161e63 RC_Channel: Support for Standby functions 2019-10-17 14:57:18 +09:00
Randy Mackay 6be4adbe02 RC_Channels: define surface tracking auxiliary function 2019-09-28 11:13:14 +09:00
Peter Hall 2f3c0447eb RC_Channel: add fence and value for rover 2019-09-02 11:03:27 +09:00
Peter Hall fdb6da0793 RC_Channel: define sailboat mainsail and motor input channels
The unusual use of 207 is in preparation for Peter Barker's RCMAP replacement PR which uses 200 to 206
2019-09-01 09:11:25 +09:00
SergeyBokhantsev c73a4fd227 RC_Channel: unify debounce code 2019-08-02 12:34:02 +01:00
Peter Barker aab787b08b RC_Channel: move mission reset in from Copter 2019-07-16 09:24:18 +10:00
Andrew Tridgell 30d27147a8 RC_Channel: added RC switch for killing IMUs 2019-07-07 19:03:01 +10:00
Andrew Tridgell 19ace7cace RC_Channel: guarantee logging of RCIN on switch changes 2019-05-22 07:37:56 +10:00
Tom Pittenger fbe43dba5c RC_Channel: refactor stick_mixing to library 2019-05-03 13:14:11 -07:00
Arjun Vinod 54302d4943 RC_Channel: added left out copter flight modes as auxiliary switch options 2019-04-16 10:47:25 +09:00
Andrew Tridgell 4b0339d940 RC_Channel: fixed crash in RC_ProtocolTest example test 2019-04-09 12:50:17 +10:00
Patrick José Pereira 3a0ac4bb09 RC_Channel: Move aux_func to class enum
aux_func declaration shadows enums of mavlink ardupilotmega
RC_Channel declares `PARACHUTE_ENABLE = 21`
ardupilotmega defines it as `PARACHUTE_ENABLE=1`

This fix a compilation error with clang-8

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2019-04-03 09:53:58 -07:00
Peter Barker e869eaeda4 RC_Channel: make has_new_overrides non-static 2019-04-02 10:16:30 +11:00
Peter Barker 2331232bdd RC_Channel: remove static override_timeout 2019-04-02 10:16:30 +11:00
Peter Barker bc2ede5582 RC_Channel: tidy RC option flag handling 2019-04-02 10:16:30 +11:00
Peter Barker 8808991638 RC_Channel: remove unused enumeration 2019-04-02 10:16:30 +11:00
Andrew Tridgell 59082a0833 RC_Channel: added RC_OPTIONS flag for failsafe ignore
this is useful for SBUS with a receiver setup for HOLD on failsafe to
not trigger a RC failsafe
2019-03-15 14:38:57 +11:00
Pierre Kancir c81ddd85b6 RC_Channel: fix receiver typos 2019-01-25 10:01:00 +09:00
Randy Mackay 413bceda9d RC_Channel: minor format fix 2019-01-21 14:47:32 +09:00
ChrisBird fad02bf55a AP_Relay: Adding a 5th and 6th Relay as per issue #8979 2019-01-16 13:26:25 +00:00
Peter Barker 87aeaf7315 RC_Channel: adjust type for auxillary switch position 2019-01-09 17:21:00 +11:00
Peter Barker bb0a4f3c78 RC_Channel: avoid using out-of-range aux switch values
We already use these ranges for the mode switch
2019-01-08 12:56:32 +09:00
Randy Mackay aa7c9ec89e RC_Channel: minor format fixes 2018-12-05 19:18:31 +09:00
Andrew Tridgell ee78374513 RC_Channel: added GPS_DISABLE option on a switch 2018-11-29 08:49:23 +11:00
Peter Barker c9714ae962 RC_Channel: read_aux_all is no longer overrridden by any class 2018-11-23 10:56:17 +11:00
Andrew Tridgell 285935f8b3 RC_Channel: added reverse throttle RC option
used in plane for reverse on a switch
2018-11-16 08:33:35 +11:00
IamPete1 e42c3c6fab RC_Channel: add Sailboat Tack to aux switch 2018-11-01 18:04:19 +09:00
Randy Mackay 2c29f0d45a RC_Channel: handle AC_Avoid enable and disable
Also change Copter's option from Object Avoidance to Proximity Avoidance
due to impending AP_Avoidance stuff

RC_Channel: update aux switch param docs to add object avoidance
2018-10-30 12:10:42 +11:00
Randy Mackay e6b8607baf RC_Channel: formatting and comment fix 2018-10-30 12:10:42 +11:00
Andrew Tridgell 5fe9334a18 RC_Channel: allow compass learning to be triggered on option
this allows for RCn_OPTION=62 to trigger compass learning, so you can
enable in-flight without using the GCS
2018-10-24 07:25:42 +10:00
Peter Barker c7d052eec8 RC_Channel: add const keyword to many methods 2018-10-23 12:30:35 +11:00
Peter Barker ea426a3d45 RC_Channel: fix erroneous comment on RC relay options 2018-10-23 11:42:47 +11:00
CAO MUQING 09030b1b13 RC_Channel: add aux switch options for ZigZag mode and ZigZag SaveWP 2018-10-05 10:05:45 +09:00
Ammarf 2beb3a278a RC_Channel: add simple mode to aux functions 2018-09-11 16:43:17 +09:00
Michael du Breuil 20c56f3e06 RC_Channel: Add an accessor for a channels range and type 2018-09-11 09:07:00 +10:00
Peter Barker 047689981b RC_Channel: honour gcs_overrides_enabled as part of set_override
This will stop situations like we currently have where the
MANUAL_CONTROL GCS mavlink packets can still affect the vehicle

Also resolves an issue where has_new_overrides may not be set
appropriately
2018-09-05 11:54:32 +10:00
Peter Barker 7bdd9b1aea RC_Channel: move handling of disable-gcs-rc-overrides-channel-option 2018-09-05 11:54:32 +10:00
Peter Barker 3c8738b4d8 RC_Channel: add clear-waypoints option 2018-09-04 10:32:26 +10:00
Peter Barker a7acc92663 RC_Channel: move rc-channel option for lost-vehicle sound up to base class 2018-09-03 16:57:25 +09:00
Peter Barker e4d3ed7e39 RC_Channel: move handling of sprayer and gripper in from Copter 2018-08-17 15:33:35 +09:00
Peter Barker e4ff937c96 RC_Channel: remove min-max-configured pre-arm checks
These are really, really expensive to run while your RC isn't
configured.

We now have a split between inputs (RC) and servos (SRV), so these
aren't as critical as they were.  We also have range checks to ensure
they're roughly good enough to fly with.
2018-08-07 09:45:09 +10:00
Peter Barker ff36eb3aca RC_Channel: remove old members objects 2018-08-03 13:07:50 +10:00
Peter Barker 0f084ed5bf RC_Channel: add compatability static functions
Just to avoid churn in Sub, Plane and Tracker
2018-08-01 12:11:30 +09:00
Peter Barker 747fc3814d RC_Channel: rename in_rc_failsafe to has_valid_input 2018-08-01 12:11:30 +09:00
Peter Barker 61c34ea98c RC_Channel: move handling of auxillary switches into RC_Channel
RC_Channel: move handling of Rover's functions into RC_Channel

RC_Channel: move auxsw handling for camera to base RC_Channel

RC_Channel: add responsibility for servorelay events

RC_Channel: move mode switch handling to base class
2018-08-01 12:11:30 +09:00
Michael du Breuil 60f19bbf02 RC_Channel: Allow an input to be ignored 2018-08-01 09:19:20 +10:00
Michael du Breuil 95eda5d9b7 RC_Channel: Remove unneeded interfaces 2018-06-11 16:29:36 -07:00
Michael du Breuil 0fcf07fde7 RC_Channel: Remove input() method from individual channels 2018-06-05 09:51:09 +10:00
Michael du Breuil 4253c7f74d RC_Channel: Move overrides out of the HAL 2018-06-05 09:51:09 +10:00
Michael du Breuil c8a93f9b76 RC_Channel: Remove set_overrides() method 2018-05-11 12:13:39 +01:00
Michael du Breuil 30554d0de0 RC_Channels: Collapse has_new_input() with set_pwm_all() 2018-04-26 08:00:09 +10:00
Michael du Breuil c8fdb90ab5 RC_Channel: Rework set_pwm_no_deadzone() to a recompute function 2018-04-14 14:05:20 +10:00
Michael du Breuil a6afc69c13 RC_Channel: Support most hal.rcin functions in RC_Channels 2018-04-11 21:47:07 +01:00
Andrew Tridgell ac4017e2ae RC_Channel: added set_and_save_radio_trim()
# Conflicts:
#	libraries/RC_Channel/RC_Channel.h
2018-02-08 17:36:33 +11:00
Andrew Tridgell e5813effff RC_Channel: improved efficiency of min_max_configured
this is quite a costly function due to scan in AP_Param. It takes
about 4 to 5 milliseconds when done as part of AP_Arming
2018-01-10 16:42:51 +09:00
Andrew Tridgell 64f722876f RC_Channel: use set_and_save_ifchanged 2017-07-03 11:17:42 +10:00
Andrew Tridgell b50ab75f4c RC_Channel: added set_and_save_trim() 2017-07-03 11:17:42 +10:00
Peter Barker d2b2ddcb02 RC_Channel: make min_max_configured const 2017-01-20 13:02:53 +09:00
Andrew Tridgell 77a7e7ca01 RC_Channel: give access to internals to SRV_Channel
needed for parameter upgrade
2017-01-12 17:39:37 +11:00
Andrew Tridgell b6aa4205b4 RC_Channel: cleanup API and comments a bit 2017-01-12 17:39:37 +11:00
Andrew Tridgell 64aa13e7f4 RC_Channel: 2nd stage of SRV_Channels conversion
allow for 16 output channel objects
2017-01-12 17:39:37 +11: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
Andrew Tridgell 73b9123495 RC_Channel: added set_trim() API to SRV_Channels object 2016-10-15 16:59:35 +11:00
Andrew Tridgell fea7903aa8 RC_Channel: added get_radio_out_normalised() 2016-10-15 16:59:35 +11:00
Andrew Tridgell 96c7d9dde8 RC_Channel: make output_trim() go via _radio_out
this ensures that _radio_out always contains the value that would be
output to the channel. This will be used by the SRV_Channels object
2016-10-15 16:59:35 +11:00
Andrew Tridgell 3377714300 RC_Channel: fixed typo 2016-07-01 15:35:55 +10:00
Andrew Tridgell 934d2b6ae4 RC_Channel: added setup_failsafe_trim_mask() 2016-06-30 16:46:57 +10:00
skyscraper d9ab3baf84 RC_Channel: Refactor to make data members private
rename all public data members of RC_Channnels with
leading underscore and make all data members private.
Provide get_xx and set_xx methods for access

 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)

add function to save radio trim
(expression where c is an object of type RC_Channel)
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);
// other
c.min_max_configured() // return true if min and max are configured
c.save_radio_trim()    // save radio trim to eeprom
2016-05-10 16:21:15 +10:00
skyscraper 134ea338da RC_Channel: remove unused control_mix method 2016-05-05 18:58:17 -03:00
Andrew Tridgell 1ecfa6b487 RC_Channel: fixed example in SITL 2016-03-25 21:35:33 +11:00
Lucas De Marchi 08cc7b2472 RC_Channel: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Andrew Tridgell a07a8aece1 RC_Channel: added pwm_to_angle_dz_trim() 2016-01-06 22:47:21 +11:00
Andrew Tridgell 48b774bc63 RC_Channel: allow more complete separation of input and output of channels
this allows for the type and range of channels to be different on
input and output
2016-01-04 11:23:30 +09:00
Grant Morphett 7edf8c0e0a RC_Channel: New method to detect if channel is in trim location
This is a new method which will return true if an RC_Channel has a PWM
value that is at its TRIM value plus or minus the allowed dead zone
around the TRIM.
2015-11-11 13:39:38 +11:00
Grant Morphett 122e88dbed RC_Channel: remove the unused test function get_failsafe 2015-09-09 10:28:02 +10:00
Gustavo Jose de Sousa d2780623f7 RC_Channel: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:38:25 +10:00
Randy Mackay 73f3b50e2f RC_Channel: make get_control_mid const 2014-11-17 18:16:12 -08:00
Jonathan Challinger 9375fc8947 RC_Channel: add get_control_mid function 2014-11-17 18:16:09 -08:00
Andrew Tridgell 6b0c15b70f RC_Channel: added norm_input_dz()
normalised input, taking into account dead zone
2014-11-18 12:44:05 +11:00
Andrew Tridgell 0d4985079e RC_Channel: added support for LimitValue settings
this allows you to set a channel failsafe or radio_out to a limit
value
2014-04-21 11:52:41 +10:00
Andrew Tridgell 7f4178d967 RC_Channel: added setup_failsafe_trim_all() function
sets all channels to output trim values on FMU failure
2014-04-21 08:37:24 +10:00
Andrew Tridgell 11f196318e RC_Channel: added static functions to simplify operations on all channels
this avoids vehicle code having to loop over all channels for common
operations
2014-04-03 12:18:56 +11:00
Andrew Tridgell a788405c8b RC_Channel: added percent_input() function
useful for plane flaps
2014-03-05 09:17:50 +11:00