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
Mike McCauley
be34e0358a
RC_Channel: Removed duplicate defines from RC_Channel.h
2014-03-03 06:34:34 +11:00
Andrew Tridgell
00d2d5946c
RC_Channel: added disable_aux_channel()
...
this will be used by copter to ensure motor channels are not enabled
for aux functions
2014-02-06 21:30:55 +11:00
Andrew Tridgell
f6d888e0da
RC_Channel: added disable_out() method
2013-12-20 11:58:53 +11:00
Andrew Tridgell
a12991923e
RC_Channel: prevent overwrite of memory on high RC_Channel constructor
2013-08-18 11:42:23 +10:00
Randy Mackay
47437b9ddf
RC: set dead zone only if parameter has not been set by user
2013-07-12 11:44:16 +09:00
Andrew Tridgell
c0058bbb03
RC_Channel: added output_trim() and read() functions
...
these make using rcmap in the plane code easier
2013-06-03 16:23:48 +10:00
Andrew Tridgell
0438952a8b
RC_Channel: removed global rc_ch[] array
...
hide it as a object static instead
2013-06-03 16:23:47 +10:00
Andrew Tridgell
c96ac5edbb
RC_Channel: fixed indent-tabs-mode
2013-05-30 09:48:45 +10:00
Andrew Tridgell
a093926b04
Revert "RC_Channel: removed pwm_out variable from RC_Channel"
...
This reverts commit 8e4a003d8d
.
It is used by MotorsMatrix
2013-03-29 22:36:29 +11:00
Andrew Tridgell
8e4a003d8d
RC_Channel: removed pwm_out variable from RC_Channel
...
saves 16 bytes
2013-03-29 19:32:52 +11:00
Andrew Tridgell
cd430cb6a8
RC_Channel: added no_deadzone version of set_pwm()
2012-12-20 22:41:58 +11:00
Andrew Tridgell
4aa16303ed
RC_Channel: updates for new AP_Param API
2012-12-20 14:51:39 +11:00
Pat Hickey
afa1143506
RC_Channel: ported to AP_HAL
...
* keeping everyone honest
* remove second unmaintained unit test: No idea wtf is going on in there.
2012-12-20 14:51:26 +11:00
Pat Hickey
3f1d9d7f69
AP_Param: #include <AP_Param.h> fixups for libraries & sketches
...
* I mostly went through with grep and added an #include <AP_Param.h> below
every #include <AP_Common.h>. Not all of these example sketches might
strictly need AP_Param.
2012-12-20 14:51:19 +11:00
rmackay9
49619b15dd
RC_Channel: move RC_CHANNEL_ANGLE, RANGE, ANGLE_RAW type definitions to .h file so they can be used by the main sketch
2012-12-09 16:42:58 +09:00
Andrew Tridgell
1059ef2a54
Plane: fixed secondary aileron and manual aux servos in failsafe
...
the servo value wasn't being written to APM_RC while in failsafe for
these aux channels
2012-11-26 23:32:57 +11:00
Andrew Tridgell
f58abb7550
RC_Channel: added pwm_to_angle_dz() function
...
will be used by k_aileron in APM
2012-11-05 23:37:25 +11:00
Andrew Tridgell
d57566ad0e
RC_Channel: removed set_filter() and scale_output
...
these unused options were costing 5 bytes per channel, for a total of
50 bytes on ArduCopter
2012-11-05 20:49:42 +11:00
Andrew Tridgell
86b509a609
RC_Channel: ensure _reverse is not 0
...
this caused the example to fail
2012-10-16 15:50:29 +11:00
uncrustify
5564e0c440
uncrustify libraries/RC_Channel/RC_Channel.h
2012-08-21 19:04:31 -07:00
Andrew Tridgell
518d6365ff
AP_Param: update remaining libraries for new constructor syntax
2012-08-08 12:11:57 +10:00
Amilcar Lucas
b8c7b8a786
RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls.
2012-08-05 23:08:31 +02:00
rmackay9
c3b1a79f6a
RC_Channel library: change all "int" types to "int16_t".
...
Fixes SITL compile error due to type mismatch of set_pwm between .h and .cpp file (this only occurs because on the SITL, "int" is actually "int32_t"
2012-06-02 14:20:58 +09:00
Jason Short
c2d14a5cad
RC_Channel fix for throttle output.
...
throttle was outputting incorrectly and allowing the user to max out the throttle leaving nothing for attitude control
2012-05-31 14:59:03 -07:00
rmackay9
82f81295a7
RC_Channel - fixed small compiler warning
2012-02-29 22:44:29 +09:00
Andrew Tridgell
84aef17bb0
fixed initialisation of RC_Channel class
2012-02-13 16:22:51 +11:00
Andrew Tridgell
12dac42174
modify RC_Channel for AP_Param
2012-02-13 16:22:51 +11:00
Pat Hickey
c9f7618ccc
purple: rework the RC_Channel library for the APM_RC changes
2011-11-25 20:00:16 -08:00
Jason Short
76bf784f8c
RC_Channel Dead zone
...
Added APVar dead_zone to the RC_Channel library so you could edit it in the Mission planner
Made CH filtering off by default.
2011-10-27 11:34:00 -07:00
Jason Short
326cfef808
Dead Zone fix - Now the range is full instead of clipped. Should make the Yaw much more smooth.
2011-09-26 22:12:39 -07:00
Jason Short
cd72e6bea9
roughed in an expo option idea
...
made min and max values 1100, 1900
removed hard coded init for camera values
2011-09-16 19:06:53 -07:00
Amilcar Lucas
77c798abd5
Use G_RC_AUX macro to simplify accessing the auxiliary servos
2011-09-12 00:02:47 +02:00
Amilcar Lucas
46f9d4cec8
This is ugly, but it fixes compilation on arduino
2011-09-11 23:25:06 +02:00
Amilcar Lucas
213969202a
Moved the RC_Channel_aux class to its own file. The includes could be improved, has anyone got any ideas how ?
2011-09-11 19:13:01 +02:00
Amilcar Lucas
dd19a7302d
I do not understand this, but it looks like it needs int8 here
2011-09-11 02:41:48 +02:00
Amilcar Lucas
d84f80cb0d
Moved enum values around to make code simpler to read and use
2011-09-11 02:34:47 +02:00
Amilcar Lucas
386e80eaf6
Added comments and TODO
2011-09-10 23:57:27 +02:00
Amilcar Lucas
f4998c3673
Moved a function from radio.pde to the RC_Channel_aux library. Now its more readable and reusable
2011-09-10 13:26:29 +02:00
Amilcar Lucas
b7a0d8836a
This is the real HEAD of the APM_Camera branch. Seams that lots of changes got lost in the SVN to GIT port
2011-09-09 16:18:38 +02:00
rmackay9@yahoo.com
499cbec9e5
RC_Channel.h - small change to store _reverse setting to eeprom
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2528 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-06-10 03:33:31 +00:00
jasonshort
8f82de3e11
changed a bool to uint8_t
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2120 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-06 17:51:26 +00:00
jasonshort
a67b1d6896
Added new output type AMGLE_RAW - this will ouput non-scaled PWM, better for copters than fixed wings.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2093 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-05 17:46:11 +00:00
DrZiplok
701157c350
Re-order class members to avoid initializer-order warnings.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2073 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-05-02 05:56:21 +00:00
tridge60@gmail.com
860998d337
implemented typesafe PSTR()
...
This makes PSTR() type safe by using a 1 byte wrapper
structure. Attempts to use the wrong varient of a print function will
generate a compilation error.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1797 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-03-21 07:25:48 +00:00
DrZiplok@gmail.com
c52b459a53
Variable names must be PROGMEM strings.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1655 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 17:43:33 +00:00
DrZiplok@gmail.com
1dd50ec263
Use AP_Var to store channel calibration.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1651 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-02-14 04:43:44 +00:00
deweibel@gmail.com
3443a7817d
Add reversing for PWM outputs in angle_to_pwm case.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1566 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-27 18:16:22 +00:00
deweibel@gmail.com
50c3b2e4fd
Add initial values for scaling and dead zone to RC_Channel constructor
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1506 f9c3cf11-9bcb-44bc-f272-b75c42450872
2011-01-17 04:05:48 +00:00
jasonshort
7dd1b3cbe7
removed EEPROMB references
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1314 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-28 18:42:03 +00:00
jasonshort
68eec6805a
update use EEPROM class, new scaled input for RC_Channel
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1264 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-26 01:17:04 +00:00
james.goppert
24bb547eae
Added some functionality to RC_Channel to meet APM needs.
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1223 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-21 03:53:26 +00:00
jasonshort
e194e2fa75
git-svn-id: https://arducopter.googlecode.com/svn/trunk@1118 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-12-13 04:08:22 +00:00
jasonshort
4ef6bd673f
added trim save
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@980 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-29 01:44:40 +00:00
jasonshort
44f2139951
added filter option
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@969 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-28 07:03:23 +00:00
jasonshort
59a3087cb6
added control / nav mixing
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@944 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-27 03:04:30 +00:00
jasonshort
dc16a2961d
git-svn-id: https://arducopter.googlecode.com/svn/trunk@926 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-25 07:10:06 +00:00
jasonshort
2dd479ea62
almost ready for use, still testing
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@905 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 21:20:29 +00:00
jasonshort@gmail.com
4fa2491adf
This is a new Library for managing RC input channels which will replace the current way of storing RC input in Arrays and most of the Radio.pde tab
...
git-svn-id: https://arducopter.googlecode.com/svn/trunk@902 f9c3cf11-9bcb-44bc-f272-b75c42450872
2010-11-23 19:28:19 +00:00