Randy Mackay
f009c2ddb9
Motors_Multicopter: add MOT_THR_MIX_MAX parameter
...
Allows controlling the prioritisation of throttle vs attitude control
during active flight
2015-08-07 17:39:09 +09:00
Leonard Hall
1a583c5382
AP_Motors: calc_roll_pwm based on throttle pwm range
2015-08-03 14:12:49 +09:00
Randy Mackay
5032cf9fbc
Copter: init multicopter flags
...
Resolves coverity warning
Also fixed indentation
2015-07-25 14:00:29 +09:00
Randy Mackay
e31f2d26c4
MotorsMulticopter: move get_hover_throttle_as_pwm to protected
...
No functional change
2015-07-21 16:27:04 +09:00
Randy Mackay
c7c6228b5d
MotorsMulticopter: remove virtual from set_yaw_headroom
2015-07-21 16:27:01 +09:00
Randy Mackay
4843be49de
AP_MotorsTri: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:48 +09:00
Randy Mackay
f906934dfa
AP_MotorsSingle: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:45 +09:00
Randy Mackay
112e934072
AP_MotorsMatrix: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:43 +09:00
Randy Mackay
b1a4a6bf0a
AP_Motors_Coax: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:40 +09:00
Randy Mackay
4d1dfd94f5
AP_MotorsMulticopter: multicopter features moved in from parent
...
Also rename from multirotor to multicopter
2015-07-21 16:25:37 +09:00
Randy Mackay
7355ac9cb8
AP_MotorsHeli: implement empty slow start method
2015-07-21 16:25:34 +09:00
Randy Mackay
a3fab10ef4
AP_MotorsHeli: init roll_radio_passthrough
2015-07-21 16:25:31 +09:00
Randy Mackay
c9dedbd3b2
AP_Motors: remove multicopter only features
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:28 +09:00
Robert Lefebvre
abb6eba291
AP_MotorsHeli: Change allow_arming check to use _rotor_speed_estimate
...
In future, this will be used to check actual rotor speed (measured) if available, to prevent trying to arm with the rotor spinning.
2015-07-21 16:25:21 +09:00
Robert Lefebvre
9fcbc77ce0
AP_MotorsHeli: Create rotor_speed_above_critical accessor
2015-07-21 16:25:11 +09:00
Robert Lefebvre
992c9c75bb
AP_MotorsHeli: Create parameter_check method.
2015-07-21 16:25:04 +09:00
Robert Lefebvre
e2fe640e6c
Copter: Clean up helicopter allow_arming() function
2015-07-21 16:24:58 +09:00
Robert Lefebvre
61d6c5aa1d
AP_Motors: Creation of AP_Motors_Multirotor class
2015-07-21 16:24:38 +09:00
Randy Mackay
8225e58454
AP_Motors: throttle_min method in 0 to 1000 range
...
Previously the pwm range value was returned. This value is only used by
the multicopter attitude controller's angle boost function.
2015-07-20 20:44:46 +09:00
Randy Mackay
6bf6442396
MotorsMatrix; protect against divide by zero
...
This should never happen but just to be safe
2015-07-20 20:44:43 +09:00
Randy Mackay
fa60c3dce8
MotorsCoax: fix output_armed_stabilized min thr limit
2015-07-20 20:44:36 +09:00
Randy Mackay
8a308205ce
MotorsSingle: fix output_armed_stabilized min thr limit
2015-07-20 20:44:32 +09:00
Randy Mackay
bd9a605086
MotorsTri: fix output_armed_stabilized min thr limit
...
_min_throttle is in the pwm range but was being used as if in the 0 to
1000 range
2015-07-20 20:44:23 +09:00
Randy Mackay
e53c46bd8f
MotorsMatrix: fix output_armed_stabilized min thr limit
...
_min_throttle was being used as if it were in the 0 to 1000 range when
in fact it is in the pwm range. This meant the lower limit was too low.
2015-07-20 20:44:14 +09:00
Robert Lefebvre
e1902e2289
AP_MotorsHeli: Remove unused _dt variable.
2015-07-14 20:13:43 +09:00
Robert Lefebvre
11214b3414
AP_Motors: move constraints to set_throttle
2015-06-22 13:52:59 +09:00
Robert Lefebvre
0c92565d23
AP_MotorsHeli: add Critical Rotor Speed param, use to switch off runup_complete
2015-06-19 15:10:53 +09:00
Robert Lefebvre
3ad6700c5d
AP_MotorsHeli: add getters for rotor speed
2015-06-19 15:10:51 +09:00
Robert Lefebvre
8b917b82ee
AP_MotorsHeli: Simplify set_desired_rotor_speed function definition
2015-06-19 15:10:50 +09:00
Robert Lefebvre
79e8c8f7f7
AP_MotorsHeli: whitespace fixes
2015-06-19 15:10:47 +09:00
Randy Mackay
2849430341
AP_Motors: init flags
...
resolves coverity issue
2015-06-08 14:46:16 +09:00
Andrew Tridgell
d746e8fa29
AP_Motors: mark examples as nobuild
...
waiting for fix from Rob
2015-06-01 17:27:33 +10:00
Andrew Tridgell
89baf2bdf1
AP_Motors: convert example from .pde to .cpp
2015-06-01 17:07:05 +10:00
Robert Lefebvre
1424b17a83
AP_Motors_Heli: Change default RSC_SETPOINT to 700
2015-05-29 17:46:25 +09:00
Robert Lefebvre
d24664ccf9
AP_MotorsHeli: Semantic change. Motor Runup to Rotor Runup
2015-05-29 17:46:18 +09:00
Robert Lefebvre
65ca09600c
AP_Motors: Heli eliminate _dt member and fix rsc_runup calculation
2015-05-29 17:46:09 +09:00
Randy Mackay
d777166c6f
AP_MotorsTri: revert tail servo to Ch7
2015-05-25 22:27:38 +09:00
Randy Mackay
1a1fa7ca4b
AP_MotorsHeli: add comment to avoid param conflict
2015-05-25 22:13:49 +09:00
Randy Mackay
4c94a69e33
AP_MotorsCoax: resolve param conflict with TradHeli
2015-05-25 22:13:47 +09:00
Randy Mackay
78b49fb4c6
AP_MotorsSingle: resolve param conflict with TradHeli
...
Also rename servo reverse parameters to be consistent with tricopter
2015-05-25 22:13:45 +09:00
Randy Mackay
8dc7cf7fa8
AP_MotorsTri: YAW_SV_REV values -1 or +1
...
Also resolve parameter conflict with TradHeli
2015-05-25 22:13:43 +09:00
Randy Mackay
71e4bccecb
AP_Motors: init members in constructor
...
Also add f to end of float constants
2015-05-25 22:13:41 +09:00
Robert Lefebvre
b8181b6b90
AP_Motors: RCMAP fix
...
Remove all RC Input channels passed as reference into AP_Motors. All input handling self-contained inside AP_Motors.
Rework Tricopter to use internal servo calcs.
2015-05-25 22:13:32 +09:00
Jonathan Challinger
28731d2bdc
AP_Motors: add throttle filter input constraint from -100 to 1100
2015-05-22 16:12:27 +09:00
Robert Lefebvre
73bafa131e
AP_MotorsHeli: Overload output()
...
To protect it from future interference from Multirotor code.
2015-05-22 09:38:23 +09:00
Robert Lefebvre
d3ce68a8ca
AP_MotorsHeli: Overload update_throttle_filter()
...
Do not reset filter to zero when disarmed to allow collective pitch servo movement.
2015-05-22 09:38:20 +09:00
Randy Mackay
3d9a6a69e2
MotorsHeli: COLYAW to float
2015-05-08 14:14:36 +09:00
Randy Mackay
edfa206bb8
Motors_Heli: nest heli params
2015-05-08 14:14:35 +09:00
Randy Mackay
68b05a4ca2
AP_Motors: is_throttle_mix_min returns bol
2015-05-08 14:14:32 +09:00
Leonard Hall
0f894ac1a8
AP_Motors: Rename and move Throttle Mix / Comp
2015-05-08 14:14:17 +09:00
Andrew Tridgell
2e57c62ebb
AP_Motors: fix for HAL_SITL rename
2015-05-05 09:45:55 +10:00
Randy Mackay
b223e90ef6
AP_Motors: fix example sketches
2015-05-01 20:58:20 +09:00
Randy Mackay
0acc06d713
AP_Motors: minor comment for interlock
2015-05-01 14:30:45 +09:00
Robert Lefebvre
1a482de5e2
AP_MotorsHeli: Overload output_armed_zero_throttle
2015-05-01 14:30:25 +09:00
Robert Lefebvre
6bdace30d2
AP_Motors: Add throttle interlock functionality
...
AP_MotorsMatrix's output_armed_zero_throttle uses output_min default from base class
2015-05-01 14:30:24 +09:00
Jonathan Challinger
348001e786
AP_Motors: add get_throttle_warn function
2015-05-01 12:56:11 +09:00
Randy Mackay
bae1722946
AP_Motors: get_compensation_gain gets div-by-zero check
2015-04-29 14:36:22 +09:00
Jonathan Challinger
41ae7207c7
AP_Motors: scale roll/pitch/yaw gain for air density
2015-04-29 14:36:15 +09:00
Jonathan Challinger
e2ba351149
AP_Motors: refactor apply_thrust_curve_and_volt_scaling
2015-04-29 14:36:12 +09:00
Jonathan Challinger
a07b322d31
AP_Motors: set_throttle takes a float
2015-04-24 16:30:45 +09:00
Tom Pittenger
a5ffadf201
AP_Motors: fix compile warnings re float constants
2015-04-24 14:04:00 +09:00
Jonathan Challinger
4993fd4d71
AP_Motors: use new lowpass filter
2015-04-17 10:46:47 +09:00
Jonathan Challinger
e80776f1f5
AP_Motors: remove MOT_THR_FILT parameter and add interface to configure filter
2015-04-16 21:00:01 +09:00
Jonathan Challinger
8e442675a7
AP_Motors: introduce set_stabilize(bool), specifies whether torque demands should be output
2015-04-16 20:59:40 +09:00
Jonathan Challinger
bc2afb31dd
AP_Motors: virtual not necessary in child class
2015-04-16 20:59:37 +09:00
Jonathan Challinger
a2c69fe90d
AP_Motors: add optional motor output throttle filter
2015-04-16 20:59:31 +09:00
Leonard Hall
88be3d67e7
AP_Motors: add get for throttle comp
2015-04-16 13:29:50 +09:00
Leonard Hall
791fbcf9b3
AP_Motors_Class: time constants of throttle comp
2015-04-16 13:29:46 +09:00
Andrzej Zaborowski
132cdc4916
Motors: Use _motor_to_channel_map in tricopter consistently.
...
In AP_MotorsTri.cpp the AP_MOTORS_MOT_1, _2 and _4 constants are
always mapped to actual output channels through _motor_to_channel_map
while the _CH_TRI_YAW is not, but there were a few inconsistencies
in this that could lead to things like PWM min and max values being
set on wrong channels.
It looks like all in all _motor_to_channel_map being in PROGMEM
probably doesn't help save memory and I'm not sure how useful it is
in the first place but regardless the usage should be consistent.
2015-04-09 11:43:22 +09:00
Jonathan Challinger
1828515b3b
AP_Motors: bug fix to _batt_voltage_filt
2015-04-01 10:15:06 -07:00
Jonathan Challinger
89cdd02f58
AP_Motors: remove duplicate get_throttle function
2015-04-01 10:15:05 -07:00
Jonathan Challinger
0e53c0a892
AP_Motors: make output_armed() and output_disarmed() pure virtual
2015-04-01 10:14:38 -07:00
Randy Mackay
385b3744ea
MotorTri: check servo_out above min_throttle
2015-03-16 14:49:38 +09:00
Randy Mackay
f9e29a7f77
MotorSingle: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:37 +09:00
Randy Mackay
8de5d16f96
MotorCoax: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:35 +09:00
Leonard Hall
31a55b2bd6
MotorsMatrix: fix div by zero by ensuring throttle is above min
2015-03-16 14:49:31 +09:00
Randy Mackay
5e26450a6f
AP_Motors: make THR_LOW_COMP a variable instead of param
2015-03-10 12:20:27 +09:00
Leonard Hall
007c96a3d8
AP_Motors: Low throttle compensation setters
2015-03-10 12:20:21 +09:00
Leonard Hall
6275ee0289
AP_Motors: Check for battery voltage reading fail
2015-03-10 12:20:19 +09:00
Leonard Hall
3ad9b1a06b
AP_MotorsMatrix: remove incorrect throttle limit flag
2015-03-06 14:02:55 +09:00
Jonathan Challinger
d148039f65
AP_Motors: stricter batt_voltage misconfiguration check
2015-03-06 14:02:49 +09:00
Leonard Hall
11a19803e0
Motors: add accessors for motor logging
...
accessor include get_roll, get_pitch, get_yaw, throttle input
2015-03-06 14:01:58 +09:00
Randy Mackay
f5f7cd540f
Motors: fix example sketches
2015-03-03 21:39:24 +09:00
Leonard Hall
cf8c211c35
Motors: fix thrust curve and add constraint
2015-03-03 15:49:07 +09:00
Leonard Hall
3e960dfc3b
Motors: add get_voltage_comp_gain
...
This clarifies that lift_max is the inverse of the battery voltage gain
compensation
2015-03-03 15:49:04 +09:00
Leonard Hall
997c6f0868
Motors: move battery resistance calcs to parent
...
Moving from MotorsMatrix to parent Motors class allows these to be used
from other frame types
Also initialise battery resistance
2015-03-03 15:49:02 +09:00
Randy Mackay
09d7cdbc23
Motors: batt_voltage_filt becomes filter object
2015-03-03 15:49:00 +09:00
Leonard Hall
529c6fed3a
Motors: move over current throttle limiting to parent
...
Moving from MotorsMatrix to parent Motors class allows this to be used
from other frame types
2015-03-03 15:48:54 +09:00
Randy Mackay
812473fd9a
MotorsMatrix: use get_hover_throttle_as_pwm
2015-03-03 15:48:52 +09:00
Randy Mackay
1a9d3125ef
Motors: _hover_out to pct * 10 instead of pwm
2015-03-03 15:48:50 +09:00
Leonard Hall
6b7bdf64bd
Motors: move batt voltage lift_max calcs to parent
...
Moving from MotorsMatrix to parent Motors class allows them to be used
by other frame types
Also added sanity check of batt_voltage_min
2015-03-03 15:48:48 +09:00
Randy Mackay
c549b58eb7
MotorsMatrix: remove check of throttle_curve_enabled
2015-03-03 15:48:46 +09:00
Randy Mackay
5fb3de48ee
MotorsTri, Single, Coax: use new thrust curve
2015-03-03 15:48:44 +09:00
Randy Mackay
2eaa4a8445
Motors: remove old throttle curve
2015-03-03 15:48:42 +09:00
Leonard Hall
751dbb7df7
Motors: move thrust curve and volt scaling to parent
...
Moving from MotorsMatrix to Motors allows it to be used from other frames
2015-03-03 15:48:41 +09:00
Randy Mackay
80b498f598
Motors: add loop_rate to test sketch
2015-03-03 15:48:39 +09:00
Randy Mackay
7ab76dbd0e
Motors: add loop_rate to constructor for all frames
2015-03-03 15:48:34 +09:00
Randy Mackay
77d4b3a2ae
Motors: add loop_rate to constructor
2015-03-03 15:48:32 +09:00
Leonard Hall
ec9d7dd99e
Motors: minor comment fixes
2015-03-03 15:48:30 +09:00
Leonard Hall
1d0ee68116
Motors: over current throttle limiting
2015-03-03 15:48:28 +09:00