Commit Graph

648 Commits

Author SHA1 Message Date
Peter Barker 4d30b52744 RC_Channel: add string for motor eSTOP 2020-12-01 10:06:57 +11:00
Peter Barker 4b6e4e10ed AP_Button: allow RC Channel function to be specified for a button
Function will be executed on transition
2020-12-01 10:06:57 +11:00
Peter Barker 7ea78791c2 RC_Channel: make string_for_aux public 2020-12-01 10:06:57 +11:00
Peter Barker 0f597e0919 RC_Channel: expose do_aux_function for button to call 2020-12-01 10:06:57 +11:00
Hwurzburg f37d8e5865 RC_Channel: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Hwurzburg ae8fe818c8 RC_Channel: move RETRACT_MOUNT option to common for all vehicles 2020-11-24 20:22:02 +11:00
Gone4Dirt 66285b65ce RC_Channel: Add support for AP_Generator frontend 2020-11-24 12:54:52 +11:00
Randy Mackay 04655d9698 RC_Channel: add aux switch to change the EKF's sensor sources 2020-11-20 16:43:44 +09:00
Tom Pittenger 8bcc32db78 RC_Channel: added adsb health check 2020-11-04 16:22:47 +11:00
Hwurzburg 230798546e RC_Channel: correct metadata for RC_OPTION param 2020-11-03 11:06:36 +11:00
Hwurzburg a7a780ec6e RC_Channel: add RC option for landing flare 2020-10-13 11:36:19 +11:00
Tatsuya Yamaguchi ea0d869a9c RC_Channels: redefine surface tracking auxiliary function 2020-10-05 13:23:51 +09:00
Andy Piper 93ac301b19 RC_Channel: conditionlly compile in ADSB support 2020-09-22 09:33:51 +10:00
Tatsuya Yamaguchi 5ea1fde6ee RC_Channel: update RCx_OPTION's @Values order 2020-09-14 13:27:53 +10:00
ashvath100 9968b2f52c RC_Channel: add height input channel 2020-09-10 08:27:01 +09:00
Samuel Tabor f1290a2e17 Plane: Add use of airbrakes, used when throttle is negative OR via RC channel option. 2020-09-02 10:10:09 -07:00
Peter Hall d5316edde7 RC_Channel: add roll and pitch input channels 2020-09-01 09:33:24 +09:00
Peter Barker 9cdda81e9c RC_Channel: correct case in AvoidAPRoximity function string 2020-08-29 09:48:33 +09:00
Andrew Tridgell 959e3da406 RC_Channel: added RC_PROTOCOLS mask
allows selection of supported protocols
2020-08-24 16:32:35 +10:00
Mark Whitehorn 7d67151c87 RC_Channel: update Plane RC_Option metadata 2020-08-13 08:47:27 +10:00
Mark Whitehorn 1c60a3eb4c RC_Channel: default throttle pre-arm check to enabled 2020-08-04 10:26:45 +10:00
Andrew Tridgell 676c36bad4 RC_Channel: fixed use of radio_in out of range for angle inputs
this prevents mis-calculation of the angle when RC input goes outside
of the configured range. This impacted on throttle nudge in plane when
reverse thrust was enabled

thanks to Pompecukor for reporting!
2020-08-04 09:33:19 +10:00
Iampete1 a95981d022 RC_Channel: add scripting functions 2020-07-28 13:47:35 +10:00
Samuel Tabor db081459d8 RC_Channel: Fix missing soaring entry. 2020-07-22 19:05:03 +10:00
Samuel Tabor 455ebaadf2 RC_Channel: Add soaring aux function. 2020-07-21 09:38:04 +10:00
Henry Wurzburg 966e9ddf2b RC_Channel: add CROW flaps mode select switch 2020-07-16 13:30:45 +10:00
Henry Wurzburg 2ba458a75d RC_Channel: adds Generator to metadata 2020-07-14 14:06:03 +09:00
Henry Wurzburg b84b6b52b3 RC_Channel: add terrain follow disable switch for CRUISE/FBWB 2020-07-08 13:39:42 +10:00
Mark Whitehorn 2af6e255d1 RC_Channel: add RC option for VTOL manual forward throttle
fix RC_OPTION metadata for 209: Forward Throttle
2020-07-07 08:37:46 +10:00
Peter Barker 4b2851a9b2 RC_Channel: add text for Generator AUX_FUNC 2020-07-03 08:21:42 +09:00
Peter Barker b2bd8d5759 RC_Channel: add support for RichenPower generator control 2020-07-03 08:21:42 +09:00
Michael du Breuil e4d0484b75 RC_Channel: Cope with selective overrides and no RC reciever in a healthier way 2020-06-23 09:33:30 +10:00
Henry Wurzburg fe2a468b14 RC_Channel: fix metadata order on _OPTIONS 2020-06-22 20:56:39 +10:00
Peter Barker 349c11d631 RC_Channel: comment some of our range conventions on RC channel options 2020-06-19 10:03:02 +09:00
Andrew Tridgell 7d430ae0ca RC_Channel: added rc option 105 to disable GPS yaw
very useful when doing testing of a moving baseline GPS yaw setup
2020-06-18 15:01:00 +10:00
Andy Piper 1280eff6ef RC_Channel: add AIRMODE for copter 2020-06-16 20:30:26 +10:00
Peter Barker 040f78f515 RC_Channel: announce RC switch changes via statustext 2020-06-16 14:03:07 +10:00
Peter Barker 88f4232e46 RC_Channel: rename 'enum aux_switch_pos_t' to 'enum class AuxSwitchPos' 2020-06-12 08:11:46 +10:00
Sergey Bokhantsev f92d539b41 RC_Channel: Aux switches to respect 'reverse' option 2020-06-09 11:13:35 +10:00
Peter Barker f04acbd7de RC_Channel: stop writing events when fence enabled or disabled
AC_Fence now does this
2020-06-09 10:52:19 +10:00
Randy Mackay c936307ecf RC_Channel: minor format fix to option param desc 2020-06-03 15:21:21 +09:00
Tatsuya Yamaguchi ea3c11030c RC_Channel: add ZIGZAG_Auto Aux switch 2020-06-03 15:21:21 +09:00
Peter Hall bfd71fdae1 RC_Channel: add Qassist switch 2020-05-26 09:01:47 +10:00
Andrew Tridgell 04e29d58e3 RC_Channel: avoid invalid misaligned access in example 2020-05-10 15:11:22 +10:00
Tatsuya Yamaguchi 806bd38c7f RC_Channel: add get_channel_pos function 2020-05-05 10:09:30 +09:00
Tatsuya Yamaguchi 4fdd24ecd3 RC_Channel: add disarm aux switch RCn_OPTION=81 2020-05-05 10:09:30 +09:00
Andrew Tridgell 6b6f083bf2 RC_Channel: added lane switch RCn_OPTION=103
RC_Channel: added yaw reset switch RCn_OPTION=104
2020-04-24 09:43:23 +10:00
Randy Mackay 47c7c8fb53 RC_Channel: rover option param desc gets Viso Align 2020-04-22 10:34:18 +09:00
Peter Barker 4245ee6543 RC_Channel: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
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
Peter Barker 347f64264d RC_Channel: log disarm method 2020-02-22 12:16:29 +11: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
Rob Ratcliff 5c388507d4 RC_Channel: fix handling of rc_override_time of -1 2020-01-27 19:21:54 +09:00
Andrew Tridgell 32221e2207 RC_Channel: use HAL_SPRAYER_ENABLED 2020-01-18 13:48:48 +11:00
Peter Barker ac25b90dda RC_Channel: factor out a do_aux_function_armdisarm method 2020-01-08 18:36:02 +11:00
Peter Barker 10976344b8 RC_Channel: let RC_Channel indicate AUX_FUNC::ARMDISARM needs no initialisation
All users set this.
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 750718bdd3 RC_Channel: simplify channel check in get_pwm() 2019-12-20 19:51:46 -07: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
giacomo892 1763be2c03 RC_Channel: added LOITER switch for plane 2019-12-17 16:14:53 +11:00
Randy Mackay 93e1f7d46a RC_Channel: init aux function cases in alphabetical order 2019-11-12 18:56:13 +11:00
Henry Wurzburg 1238d4b3e6 RC_Channel: add ADSB Avoidance enable option to RC options for plane 2019-11-12 13:48:09 +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 3fb596d5ae RC_Channel: don't enter the config error loop on unknown options
... unless we are in SITL

Users moving backwards and forwards between versions can hit this case
too easily.

We probably need a better story around this error loop so it's less
confusing to the user about what's going on.
2019-11-12 09:20:03 +08:00
Mark Whitehorn 285901f57c RC_Channel: enter config_error loop for invalid RC option 2019-11-08 10:14:34 +11:00
Mark Whitehorn 7f6e89bee8 RC_Channel: enter error loop on invalid RC option 2019-11-08 10:14:34 +11:00
Mark Whitehorn c5abcb5584 RC_Channel: don't panic on unsupported RCn_OPTION in SITL 2019-11-08 10:14:34 +11:00
Henry Wurzburg f1efc957fc RC_Channel: OPTION:Copter re-order,add STANDBY, rmv winch,Rover rename Simple 2019-11-05 11:30:43 +11:00
Peter Barker 8686fb30f8 RC_Channel: remove old comments to do with gripper grab/release 2019-11-05 08:19:26 +08:00
Peter Barker daf071f7f6 RC_Channel: cope with change in namespace of LogEvent enum 2019-11-05 08:19:26 +08: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
Henry Wurzburg 4a42a3a23a Rover: implement steering trim save in armed/manual mode only 2019-10-08 07:41:57 +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
Randy Mackay 00cc4ace8a RC_Channel: resolve gcs::send_text compiler warning 2019-07-30 09:02:39 +09:00
murata fa78987046 RC_Channel: Match output type and variable type 2019-07-16 10:11:13 +10:00
Peter Barker f85bad752e RC_Channel: add both clear and reset options to Rover and Plane docs 2019-07-16 09:24:18 +10:00
Peter Barker aab787b08b RC_Channel: move mission reset in from Copter 2019-07-16 09:24:18 +10:00
Andrew Tridgell a38b030c41 RC_Channel: disable kill IMU with HAL_MINIMIZE_FEATURES 2019-07-07 19:03:01 +10:00
Andrew Tridgell 30d27147a8 RC_Channel: added RC switch for killing IMUs 2019-07-07 19:03:01 +10:00
Peter Barker 8f8851271a RC_Channel: add mode-changing options to Plane RC channel options 2019-06-18 10:48:47 +10:00
Michael du Breuil 6317355390 RC_Channel: Fix AP_GPS include 2019-06-18 10:02:05 +10:00
Peter Barker c38e5ba4fc RC_Channel: handle AUX_FUNC::ARMDISARM 2019-05-30 07:37:30 +09:00
Andrew Tridgell 19ace7cace RC_Channel: guarantee logging of RCIN on switch changes 2019-05-22 07:37:56 +10:00
Tom Pittenger fc710d8a81 RC_Channel: remove UINT16_MAX check, moved to mavlink handler 2019-05-10 15:30:54 -07:00
Tom Pittenger fbe43dba5c RC_Channel: refactor stick_mixing to library 2019-05-03 13:14:11 -07:00
Peter Barker 6157aae747 RC_Channel: correct examples with override keyword 2019-04-30 09:29:59 +10:00
Randy Mackay c2318503db RC_Channel: fix-up OPTION param docs 2019-04-16 10:56:23 +09:00
Arjun Vinod 66bdabfa26 RC_Channel: updated the parameter docs 2019-04-16 10:47:26 +09:00
Arjun Vinod 54302d4943 RC_Channel: added left out copter flight modes as auxiliary switch options 2019-04-16 10:47:25 +09:00
Arjun Vinod 77a7c1bdf7 RC_Channel: fixed typo 2019-04-12 09:23:42 +10:00
Andrew Tridgell 4b0339d940 RC_Channel: fixed crash in RC_ProtocolTest example test 2019-04-09 12:50:17 +10:00
Michael du Breuil 125f9bd806 RC: Fix includes 2019-04-05 20:12:53 +11:00
Tom Pittenger dce484685b RC_Channel: fix compiler warning. %u should be cast as unsigned 2019-04-04 10:19:50 +11: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
Tom Pittenger 961085fbd1 RC_Channel: rename dataflash to logger 2019-03-28 16:40:58 +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
IamPete1 8f9f572489 RC_Channel: add global E-stop function 2019-02-27 08:51:24 +09:00
Peter Barker c235b1ccc2 RC_Channel: correct comment 2019-02-15 08:15:45 +11:00
Tom Pittenger ece8580c1d RC_Channel: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07:00
Peter Barker e7e51d6f49 RC_Channel: indicate gripper available on an RC Channel 2019-02-09 11:02:22 +09: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
Peter Barker a800395742 RC_Channel: remove use of never-set AP_HAL_PX4 and AP_HAL_VRBRAIN 2019-01-18 09:53:44 +11: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
Andrew Tridgell 7fad72dacf RC_Channel: moved LANDING_GEAR to common library 2018-11-09 14:35:14 +11:00
Andrew Tridgell eac7c28005 RC_Channel: allow landing gear control for plane 2018-11-09 14:35:14 +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 0cf12ad47e RC_Channel: add aux option to fly inverted for Plane 2018-09-07 09:07:40 +10:00
Peter Barker bd5cdf9e64 RC_Channel: update aux options for planes to include arm/disarm 2018-09-06 08:26:50 +10:00
Peter Barker 10d7cc6bf4 RC_Channel: add Plane support for channel options 2018-09-05 13:47:19 +10:00
Peter Barker 9650846497 RC_Channel: treat UINT16_MAX as a value of 0 in set_override
This shouldn't really in in RC_Channels - when we move the mavlink
packet handling up to the GCS_MAVLink base class we should move this
into there.
2018-09-05 11:54:32 +10:00
Peter Barker 1c527df084 RC_Channel: note that Rover now has disable-gcs-overrides channel option 2018-09-05 11:54:32 +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 c54c2a2930 RC_Channel: fix and tidy example 2018-08-31 21:08:11 +09:00
Michael du Breuil 80597d5cba RC_Channel: Fix accidental quantization of override_timeout to 1 second 2018-08-28 14:18:54 +10:00
Peter Barker f2b8c9e501 RC_Channel: improve debug when failing to initialise RC channel 2018-08-21 20:34:01 +09:00
Peter Barker e4d3ed7e39 RC_Channel: move handling of sprayer and gripper in from Copter 2018-08-17 15:33:35 +09:00
Michael du Breuil e7ebea55d2 RC_Channel: Fix possible user induced out of bounds write
CID 308348
2018-08-09 10:27:10 +10: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 87e7cc7ef0 RC_Channels: zero all channels before populating
Fix for CID 308365
2018-08-07 09:12:43 +10:00
Peter Barker f2b1387c1c RC_Channel: add AUTOTUNE to init_aux_function routine
Also, cark it in SITL if we fail to initialise an aux function
2018-08-05 07:52:28 +10:00
Peter Barker ff36eb3aca RC_Channel: remove old members objects 2018-08-03 13:07:50 +10:00
Peter Barker 5df70cf93a RC_Channel: update examples for new rc() method 2018-08-01 12:11:30 +09: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 16b6201195 RC_Channel: Allow a RC_OVERRIDE_TIMEOUT of -1 to use the overrides
forever
2018-07-19 07:53:43 +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 0155434057 RC_Channel: fixed bug in manual with TRIM == MIN
This fixes the bug described here:

https://discuss.ardupilot.org/t/arduplane-reverse-thrust-setup/18324/5

which otherwise would prevent output with TRIM == MIN or TRIM == MAX
2017-08-26 20:30:54 +10: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
Dr.-Ing. Amilcar Do Carmo Lucas ed07d5b5c9 RC_Channel: Improve the PWM parameters descriptions 2017-06-06 11:06:26 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas 8661bdda8a RC_Channel: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Pierre Kancir 90661c528a RC_Channel: example fix travis warning
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
Andrew Tridgell d6d94bd26c RC_Channel: improved doc string 2017-02-07 16:32:57 +11:00
Andrew Tridgell 11afd0c7d4 RC_Channel: split RC_Channels.cpp out to separate cpp file
this is needed for automatic parameter documentation generation
2017-02-06 15:12:32 +11:00
murata 836c8aa684 RC_Channel: Unify from print or println to printf. 2017-01-27 18:20:22 +11: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 0791186cd2 RC_Channel: split SRV_Channel into separate directory 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
Peter Barker 319cfa766b RC_Channel: add method to get current radio out for a function 2016-12-02 12:04:05 +11:00
Peter Barker 7200692137 RC_Channel: make EPM a subclass of AP_Gripper_Backend 2016-11-05 10:20:41 +09:00
Peter Barker d2e798d549 RC_Channel: alias k_epm to k_kgripper 2016-11-05 10:20:31 +09:00
murata c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02: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 f9dd31b6e5 RC_Channel: support automatic servo trimming 2016-10-16 15:20:47 +11:00
Andrew Tridgell 992bf2368e RC_Channel: cope with SERVO_RNG_ENABLE changing while booted
this prevents a one second throttle up on scaled ESCs when
enabling/disabling the servo output mapping
2016-10-15 16:59:37 +11:00
Andrew Tridgell 4a9ddf52e0 RC_Channel: constrain output to servo range
don't allow servos past configured range in any mode
2016-10-15 16:59:36 +11:00
Andrew Tridgell 2ceddddd3b RC_Channel: don't call output() in SRV_Channel
we may need to run another mixer
2016-10-15 16:59:36 +11:00
Andrew Tridgell 78ef3b77c6 RC_Channel: added disable_passthrough() method 2016-10-15 16:59:36 +11:00
Andrew Tridgell 2ec439d7e3 RC_Channel: added set_esc_scaling() to SRV_Channels 2016-10-15 16:59:36 +11:00
Andrew Tridgell 73b9123495 RC_Channel: added set_trim() API to SRV_Channels object 2016-10-15 16:59:35 +11:00
Andrew Tridgell c7f8b255e7 RC_Channel: added SRV_Channels object for remapping output channels
this allows for decoupling RC input ranges from servo output ranges
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
Lucas De Marchi ae53920e5b build: don't build examples with old build system
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file.  Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Andrew Tridgell 38fff6d43d RC_Channel: expanded docs for RCn_FUNCTION 2016-08-16 16:16:09 +10:00
Andrew Tridgell 62f3818b83 RC_Channel: added k_throttle
for secondary throttle on planes
2016-08-16 16:14:34 +10:00
Andrew Tridgell be2b6e47aa RC_Channel: added output types for choke, ignition and starter 2016-07-25 10:06:03 +10:00
Andrew Tridgell 7ea68f8f80 RC_Channel: fixed function indexes above 64 2016-07-24 19:46:01 +10: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
Andrew Tridgell 120564f094 RC_Channel: set_radio() should not constrain values
caller is supplying direct PWM value. The MIN/MAX should not apply
2016-06-14 13:08:35 +10:00
Andrew Tridgell 4e3dd315cb RC_Channel: fixed double channel assignment
this fixes RC_Channel_aux::set_aux_channel_default from assigning
k_heli_rsc twice, once at default channel and once at user designated
channel
2016-06-05 05:54:56 +10:00
Andrew Tridgell 2094cb2d88 RC_Channel: fixed example for MAVLink2 2016-05-21 15:25:17 +10:00
Ricardo de Almeida Gonzaga 099fc69032 RC_Channel: Fix typos 2016-05-13 19:20:05 -03:00
Andrew Tridgell a41ffc176c RC_Channel: added motor tilt auxillary channel 2016-05-11 05:55:23 +10:00
skyscraper c0c8f1a5cc RC_Channel: RC_Channel refactor
Fix up RC_Channel examples.

Change direct access to data members
to access via member functions
2016-05-10 16:21:17 +10:00
skyscraper d16659331f RC_Channel_aux: Rename static member functions
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, some methods names are now
in conflict with those in the derived RC_Channel_aux class.
To keep a uniform naming convention in RC_Channel where
functions are most used and most numerous, the offending
functions in RC_Channel__aux are renamed as follows

 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:15 +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
Andrew Tridgell 50908edc91 RC_Channel: added parameter docs for missing RCn_FUNCTION values 2016-05-09 17:33:21 +10:00
Andrew Tridgell ab0b76764f RC_Channel: added set_servo_failsafe_pwm() 2016-05-07 07:25:27 +10:00
skyscraper 134ea338da RC_Channel: remove unused control_mix method 2016-05-05 18:58:17 -03:00
Andrew Tridgell 54f7aeed83 RC_Channel: extend channel mapping to 16 channels
this gives more flexibility, no reason to limit it to 8
2016-04-23 21:03:46 +10:00
Andrew Tridgell ed2f26d7b8 RC_Channel: allow for pass-thru from low channels to any channel
this makes it easier to setup things like ignition cut or bottle drop
with a 8 channel radio
2016-04-10 20:33:12 +10:00
Ricardo de Almeida Gonzaga 5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Andrew Tridgell 1ecfa6b487 RC_Channel: fixed example in SITL 2016-03-25 21:35:33 +11:00
Andrew Tridgell 4deb01b8d5 RC_Channel: set AP_PARAM_NO_SHIFT 2016-03-18 12:33:34 +11:00
Lucas De Marchi 08cc7b2472 RC_Channel: replace header guard with pragma once 2016-03-16 18:40:44 +11:00
Gustavo Jose de Sousa c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa 3d22490397 waf: examples: use methods from bld instead of ardupilotwaf 2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa d281067bcc waf: make example binaries be placed in 'examples' dir
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Andrew Tridgell a07a8aece1 RC_Channel: added pwm_to_angle_dz_trim() 2016-01-06 22:47:21 +11:00
Andrew Tridgell 9941c91d36 RC_Channel: prevent a warning message for assigned RC channels 2016-01-06 19:16:12 +11:00
Andrew Tridgell b6155d2cb6 RC_Channel: fixed output for k_motor* 2016-01-05 06:41:51 +11:00
Andrew Tridgell 238e912000 RC_Channel: allow find_channel() to be called early
and fix a bug!
2016-01-05 06:40:48 +11:00
Andrew Tridgell 9123ef9f38 RC_Channel: added find_channel() and channel numbers 2016-01-04 17:06:57 +11:00
Andrew Tridgell 6a58264c6b RC_Channel: added set_aux_channel_default() API
this will allow for a default channel for aux functions. Also adds
heli_rsc and heli_tail_rsc functions
2016-01-04 16:14:09 +11:00
Andrew Tridgell 7cc53b6449 RC_Channel: setup only in or out part of channels for aux channels
this allows separate use of input and output
2016-01-04 11:23:36 +09: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
Jonathan Challinger 027e622a3c RC_Channel: fix example build 2015-12-29 10:46:35 -08:00
Lucas De Marchi a096703b06 Global: don't link with AP_Progmem
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Andrew Tridgell e1c890eb58 RC_Channel: added RC_UART example
useful for UART -> ESCs
2015-12-27 16:12:27 +11:00
Lucas De Marchi e8e48fd8e0 RC_Channel: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:44 +11:00
Caio Marcelo de Oliveira Filho 6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11: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
Andrew Tridgell 52f2fce1d5 RC_Channel: prevent float exception with bad RCn_MIN/MAX/TRIM
thanks to Michael for finding this
2015-11-30 21:53:54 +11:00
Andrew Tridgell 8f4ce7f20b build: removed all nocore.inoflag files
these were APM2 specific
2015-11-16 08:05:17 +11:00
Robert Lefebvre 58e918341d RC_Channel: Add motor_run_enable aux function 2015-11-12 19:37:27 +09:00
Andrew Tridgell ea5cd99651 RC_Channel: use is_bounded_int32() 2015-11-11 13:45:09 +11: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
Lucas De Marchi 2a91d2169e RC_Channel: remove check for AVR CPUs
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi 2847af905e RC_Channel: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi 831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00