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