Randy Mackay
a5699c7d5a
AP_Motors: boost-scale param desc update
2018-12-27 10:08:14 +09:00
Randy Mackay
db9ce0064b
AP_Motors: esc calibration outputs to throttleRight and throttleLeft
2018-12-21 11:19:18 +09:00
Andrew Tridgell
f71013928a
AP_Motors: force PWM range for DShot to 1000 to 2000
2018-11-16 08:33:35 +11:00
Leonard Hall
2f87d8808f
AP_Motors: handle boost in spool up and down the same way
2018-10-16 00:44:50 +09:00
Leonard Hall
4774cb8daf
AP_Motors: improved motor loss redundancy
...
This detects a failed motor on copters with at least 6 motors
and recalculates the mixer to compensate
2018-10-16 00:44:50 +09:00
Randy Mackay
a5c59ce36e
AP_Motors: include boost_throttle in get_motor_mask
2018-08-27 10:35:02 +09:00
Peter Barker
937d8dac97
AP_Motors: remove unneeded initialisations
2018-07-23 16:30:40 +09:00
Andrew Tridgell
bd9df6d0ec
AP_Motors: added DShot to parameter docs
2018-04-07 09:10:29 +10:00
Michael du Breuil
050b8ebb32
AP_Motors: Allow specifying which battery is used for compensation
2018-03-27 22:12:21 +01:00
Michael du Breuil
98e327640d
AP_Motors: Use battery singleton
2018-03-27 22:12:21 +01:00
Andrew Tridgell
e340fac2e0
AP_Motors: avoid float exception for small expo
...
very small values of the thrust expo cause a floating point
exception. As zero is a documented value meaning linear we need to
handle this.
2017-10-25 21:15:58 +11:00
Leonard Hall
d28182435e
AP_Motors: allow for negative thrust expo
...
This allows for motors with a thrust curve that decreases with demand.
2017-10-05 13:40:36 +11:00
Andrew Tridgell
abd0831239
AP_Motors: changed BRUSHED16kHz to BRUSHED
2017-06-17 17:37:45 +10:00
Leonard Hall
9e86732edc
AP_Motors: accept external battery resistance estimate
2017-06-06 14:57:04 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
1b062d9d29
AP_Motors: Improve the PWM parameters descriptions
2017-06-06 11:06:26 +10:00
Jonathan Challinger
2e07f8824e
AP_Motors: reserve parameter index 38
2017-06-06 08:45:37 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
9d9ebc91cd
AP_Motors: 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
Andrew Tridgell
bdc4320fe8
AP_Motors: added MOT_BOOST_SCALE
...
this is to support boost motors for copters, such as having a petrol
motor for extra lift on a multicopter
The scaling factor allows the user to control how much of the lift is
generated from the booster and how much from the main multicopter
motors
2017-05-08 11:02:55 +10:00
Andrew Tridgell
2c4975ba31
AP_Motors: removed cork/push from AP_Motors
...
should be done by vehicle code if needed, so that AUX servos are sent
at the same time
2017-05-01 14:32:18 +10:00
Jacob Walser
507b461388
AP_Motors: Initialize throttle range directly
...
This was causing SITL to hang at boot when motors object is statically allocated.
2017-02-28 22:34:35 -08:00
Lucas De Marchi
ade1876318
AP_Motors: tie esc scaling with set_throttle_range()
...
We need to update the esc scaling from inside the Motors library, that
has access to the MOT_PWM_[MIN|MAX] values. Otherwise even though the
AP_Motors library honors the value for calculations, the RCOutput
drivers that need the scaling to set the real HW scaling will not work.
Right now it scales the value using the throttle_channel's min/max, even
though AP_Motors may be passing values in other range.
2017-02-26 13:38:24 +11:00
Andrew Tridgell
108cbe1dab
AP_Motors: mark tricopter yaw as tricopter only
2017-02-14 19:50:01 +11:00
Andrew Tridgell
2187417d74
AP_Motors: added MOT_SPOOL_TIME
...
this allows for quadplanes to have faster spoolup, which can help with
transitions
2017-02-14 09:23:17 +09:00
Andrew Tridgell
8e3bf71aa9
AP_Motors: allow single, tri and coax to be part of multicopter class
2017-01-12 17:39:37 +11:00
Leonard Hall
a09d4db4fd
AP_MotorsMulticopter: fix battery resistance calculation
2016-12-14 11:07:29 +09:00
Andrew Tridgell
8468add63e
AP_Motors: mark PWM_TYPE as reboot required
2016-11-30 10:53:26 +11:00
Andrew Tridgell
ce517384e1
AP_Motors: support MODE_PWM_BRUSHED16KHZ
2016-11-30 10:53:26 +11:00
Jonathan Challinger
22517422f9
AP_Motors: add option to disable motor PWM output while disarmed
2016-11-21 10:49:21 +09: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
Leonard Hall
bead957a78
AP_MotorsMulticopter: limit hover throttle
2016-10-15 11:27:53 +09:00
Leonard Hall
0a56d69d54
AP_MotorsMulticopter: Use same throttle value used by motors
2016-10-10 16:40:08 +09:00
Randy Mackay
b63666d188
AP_Motors: increase MOT_THST_HOVER parameter description range
...
No functional change
2016-09-07 15:28:49 +09:00
Randy Mackay
4858afae6c
AP_Motors: param description update that MOT_SPIN_MIN should be higher than MOT_SPIN_ARM
2016-09-03 11:12:31 +09:00
Randy Mackay
ad697243b3
AP_MotorsMulticopter: initialise some members
...
This resolves some Covarity warnings at the cost of a small amount of flash
2016-08-08 13:31:30 +09:00
Randy Mackay
e185bab775
AP_MotorsMulticopter: add HOVER_LEARN option to learn but not save
2016-06-18 11:55:49 +09:00
Randy Mackay
ef106e4b0f
AP_Motors: spool_mode moved out of flags struction
...
No functional change
2016-06-18 11:55:49 +09:00
Randy Mackay
71d1818103
AP_MotorsMulticopter: minor comment update
2016-06-18 11:55:49 +09:00
Leonard Hall
02881b59ff
AP_MotorsMulti: float constants
2016-06-18 11:55:49 +09:00
Leonard Hall
bee6c29b89
AP_MotorsMulticopter: current limit keeps battery from sagging below BAT_VOLT_MIN
2016-06-18 11:55:49 +09:00
Leonard Hall
be25ac4acf
AP_MotorsMulticopter: Add current limit time constant variable
2016-06-18 11:55:49 +09:00
Leonard Hall
7e0e0ca874
AP_MotorsMulticopter: battery voltage compensation improvements
2016-06-18 11:55:49 +09:00
Leonard Hall
0ee7b00b0b
AP_MotorsMulticopter: rename _thrust_curve_min to spin_min
2016-06-18 11:55:49 +09:00
Leonard Hall
5cace33ca5
AP_MotorsMulticopter: SPIN_MIN replaces min_throttle
2016-06-18 11:55:49 +09:00
Leonard Hall
2c811364d3
AP_MotorsMulticopter: SPIN_ARM param replaces SPIN_ARMED
2016-06-18 11:55:49 +09:00
Leonard Hall
488f90b39d
AP_Motors: add calc_spin_up_to_pwm to reduce repeated code
2016-06-18 11:55:49 +09:00
Randy Mackay
25778a24e2
AP_MotorsMulticopter: add HOVER_LEARN param
2016-06-18 11:55:49 +09:00
Leonard Hall
4f0db2bc36
AP_Motors: learned THST_HOVER replace THR_MID
...
This holds the estimated thrust required for the vehicle to hover
expressed as a number from 0 to 1. 0 will be equivalent to outputting
SPIN_MIN (which is a number from 0~1 but in the full output range) and 1 is equivalent to SPIN_MAX (also 0~1 but in the full output range)
2016-06-18 11:55:49 +09:00
Leonard Hall
5a8fc6283e
AP_Motors: replace throttle_rpy_mix with throttle_avg
...
AC_AttitudeControl now calculates throttle vs attitude control
prioritisation and simply provides overall maximum throttle (aka
throttle_avg) to the motors library
2016-06-18 11:55:49 +09:00
Andrew Tridgell
a2ed8fb313
AP_Motors: prevent negative thrust
...
this prevents a sqrt of a negative number
2016-05-26 17:09:11 +10:00
Randy Mackay
8d1f50e78f
AP_Motors: rename get_pwm_min to get_pwm_output_min
2016-05-24 10:00:25 +09:00
Randy Mackay
0c225cf498
AP_MotorsMulticopter: fix typo in comments
2016-05-24 10:00:25 +09:00
Randy Mackay
ff93524ba4
AP_Motors: rename MOT_THST_MAX to MOT_SPIN_MAX
...
Also renamed:
MOT_THST_BAT_MIN,MAX to MOT_BAT_VOLT_MIN,MAX
MOT_CURR_MAX to MOT_BAT_CURR_MAX
2016-05-24 10:00:25 +09:00
Randy Mackay
49b14b3cb6
AP_Motors: add PWM_MIN, MAX
...
These parameters allow the motor PWM output range to be different from receiver's throttle input range
Also renamed throttle_pass_through to set_throttle_passthrough_for_esc_calibration and change the method's input to the 0 to 1 range instead of direct PWM value
2016-05-24 10:00:25 +09:00
Andrew Tridgell
60b3625950
AP_Motors: added hook for vehicle based thrust compensation
...
allow vehicle code to compensate for thrust effectiveness changes due
to properties outside the scope of AP_Motors. This allows for
compensation in tiltrotors and tiltwings.
2016-05-11 05:55:23 +10:00
Andrew Tridgell
37d6b5fdaf
AP_Motors: added output_motor_mask()
...
this will be used for tiltrotors in forward flight
2016-05-11 05:55:23 +10:00
Andrew Tridgell
fe2065cd72
AP_Motors: rename MOT_PWM_MODE to MOT_PWM_TYPE
...
Randy prefers TYPE
2016-04-14 08:05:07 +10:00
Andrew Tridgell
f54bcc6c7f
AP_Motors: added oneshot support via MOT_PWM_MODE
...
MOT_PWM_MODE=0 is normal
MOT_PWM_MODE=1 is oneshot
MOT_PWM_MODE=2 is oneshot125
2016-04-14 08:05:05 +10:00
Randy Mackay
8d77bdec15
AP_MotorsMulti: minor comment fix
2016-04-14 05:45:24 +09:00
Randy Mackay
f6eabfdab2
AP_MotorsMulticopter: formatting fixes
2016-04-01 11:59:30 +09:00
Randy Mackay
6807b961e2
AP_MotorsMulticopter: protect against div-by-zero if MOT_SPIN_ARMED is zero
2016-04-01 11:59:30 +09:00
Randy Mackay
b4b33db79b
AP_MotorsMulticopter: promote output_min from Matrix class
2016-04-01 11:59:30 +09:00
Randy Mackay
e7ba5ae451
AP_MotorsMulticopter: fix get_hover_throttle_as_high_end_pct
2016-04-01 11:59:30 +09:00
Randy Mackay
c41a5dc3bd
AP_MotorsMulticopter: remove slow_start
...
This has been replaced with the spool logic feature
2016-04-01 11:59:30 +09:00
Randy Mackay
68a6408a23
AP_MotorsMulticopter: remove set_radio_passthrough
...
This has been moved up to the AP_Motors class
2016-04-01 11:59:30 +09:00
Randy Mackay
2716126e40
AP_MotorsMulticopter: use desired_spool from AP_Motors class
2016-04-01 11:59:30 +09:00
Leonard Hall
5841310ac7
AP_MotorsMulticopter: update_throttle_filter limits throttle to 0 to 1
2016-04-01 11:59:30 +09:00
Leonard Hall
420b90953c
AP_MotorsMulticopter: throttle_radio_min, max to multicopter class
...
Moved in from Motors class, only ever used by multicopters
No functional change
2016-04-01 11:59:30 +09:00
Leonard Hall
2c9a02066d
AP_MotorsMulticopter: remove unused functions and variables
2016-04-01 11:59:30 +09:00
Leonard Hall
290e657f61
AP_MotorsMulticopter: update_battery_resistance captures resting voltage while disarmed
...
Previously it could also capture this when the input throttle was zero
2016-04-01 11:59:30 +09:00
Leonard Hall
bc42cb2a66
AP_MotorsMulticopter: update_battery_resistance uses get_throttle accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
8228d9e72c
AP_MotorsMulticopter: current_limit_max_throttle uses get_throttle accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
d7dc37bda0
AP_MotorsMulticopter: remove apply_thrust_curve_and_volt_scaling_pwm
2016-04-01 11:59:30 +09:00
Leonard Hall
06f25b669d
AP_MotorsMulticopter: add roll, pitch, throttle and yaw pass through
2016-04-01 11:59:30 +09:00
Leonard Hall
983d2dc97a
AP_MotorsMulticopter: update_throttle_filter does not set throttle_in
...
get_throttle method now used to access filtered throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
3fc3858fbd
AP_MotorsMulticopter: set_throttle_range calcs _min_throttle before use
2016-04-01 11:59:30 +09:00
Leonard Hall
b26318c178
AP_MotorsMulticopter: output_logic implements spooling
2016-04-01 11:59:30 +09:00
Leonard Hall
b7fe6aa16e
AP_MotorsMulticopter: remove update_max_throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
be64c71065
AP_MotorsMulticopter: add get_current_limit_max_throttle
...
returns the current limited maximum throttle as a number between 0 ~ 1 in the range throttle_min to throttle_max
2016-04-01 11:59:30 +09:00
Leonard Hall
49819d822f
AP_MotorsMulticopter: add get_hover_throttle_as_high_end_pct
...
Returns hover throttle as a number from 0 to 1 in the range from throttle_min to throttle_max
2016-04-01 11:59:30 +09:00
Leonard Hall
3854f2eda7
AP_MotorsMulticopter: rename _throttle_thr_mix_desired to _throttle_rpy_mix_desired
...
No functional change
Also rename _throttle_thr_mix to _throttle_rpy_mix
2016-04-01 11:59:30 +09:00
Leonard Hall
65bbc23a08
AP_MotorsMulticopter: apply_thrust_curve_and_volt_scaling in 0 to 1 range
...
existing equivalent pwm function becomes apply_thrust_curve_and_volt_scaling_pwm
2016-04-01 11:59:30 +09:00
Leonard Hall
cb39f8aab7
AP_MotorsMuticopter: calc_thrust_to_pwm converts thrust in 0 to 1 range to pwm
...
pwm output is always between throttle min and throttle max
2016-04-01 11:59:30 +09:00
Jonathan Challinger
9a09a86bb8
AP_Motors: add AP_MOTORS_DENSITY_COMP_DISABLED option
2016-01-27 09:18:09 +09:00
Andrew Tridgell
d31ba2b380
AP_Motors: added rc_write function
...
this is intended to make remapping motors and rescaling output easier
2016-01-04 16:56:54 +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
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
Lucas De Marchi
f43f6c53f7
AP_Motors: Group writes to motors
...
Surround calls to rcout->write() with rcout->cork() and rcout->push().
If the RCOutput implementation allows the writes are grouped and only
sent together to the underlying hardware.
2015-10-06 10:42:18 +11:00
Lucas De Marchi
7ea141b774
AP_Motors_Multi: get rid of _motor_to_channel_map
2015-09-29 11:59:48 +09:00
Gustavo Jose de Sousa
1e619c6c59
AP_Motors: 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:19 +10:00
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
4d1dfd94f5
AP_MotorsMulticopter: multicopter features moved in from parent
...
Also rename from multirotor to multicopter
2015-07-21 16:25:37 +09:00