Andrew Tridgell
8a49c84d57
AP_Motors: fixed col max and min for dual heli
...
fixes H_SV_MAN behaviour
2019-07-06 08:57:18 +10:00
Michael du Breuil
f6b8bf49a1
AP_Motors: Simplify the example includes
2019-06-18 10:02:05 +10:00
1iggy2
7323a5da9d
AP_Motors: Added Octo I frame
2019-06-04 09:49:44 +09:00
ChristopherOlson
fc84995fb9
AP_Motors:Heli - remove H_LAND_COL_MIN and replace with H_COL_MID
2019-06-04 09:48:03 +09:00
ChristopherOlson
b6bfc8947f
AP_Motors:Heli Governor - change rotor_rpm argument to a float
2019-06-03 07:53:01 +09:00
bnsgeyer
f1a32d7872
AP_Motors: Tradheli- modified thrcrv and gov parameter group names
2019-06-03 07:53:01 +09:00
ChristopherOlson
b1046c7b80
AP_Motors:Heli_RSC Governor - add method of droop compensation
...
- improve handling of outliers from speed sensor
- change governor_tc variable to governor_thrcurve
- remove equals zero from variable declarations
2019-06-03 07:53:01 +09:00
bnsgeyer
4120e29614
AP_Motors: Tradheli-complete conversion of throttle curve params to percent
...
add conversion for throttle curve params for upgrade
2019-06-03 07:53:01 +09:00
bnsgeyer
3629541a20
AP_Motors: Tradheli - implement enable params for throttle curve and governor
2019-06-03 07:53:01 +09:00
bnsgeyer
51d4029f03
AP_Motors: Tradheli - maintain consistent variable types as used in calcs
...
add override to declaration of new functions
2019-06-03 07:53:01 +09:00
ChristopherOlson
cca58e393a
AP_Motors:Heli_RSC - add support for rotor speed governor with droop speed control
2019-06-03 07:53:01 +09:00
Peter Barker
1e606cdc5b
AP_Motors: make desired spool state and spool state enum-classes
...
This will help avoid getting the enumerations mixed up
2019-04-14 12:18:03 +09:00
Randy Mackay
54fe1dad82
AP_Motors: add missing break to Hexa-H
2019-04-13 10:36:36 +09:00
murata
df85409a4c
AP_Motors: Integrate processing result setting true
2019-04-13 10:29:49 +09:00
Randy Mackay
a2373ebca2
AP_Motors: add support for Hexa-H frame
...
same as X frame except that middle motors are closer to center
2019-04-12 09:32:12 +09:00
Randy Mackay
928d7c7e71
AP_MotorsHeli: add range checking to ext_gyro_gain
2019-04-08 15:24:00 +09:00
bnsgeyer
01bd99907b
AP_Motors:Tradheli-swash library parameter scope improvement
2019-03-20 10:40:20 +10:00
bnsgeyer
79b069afc3
AP_Motors:tradheli-swash library general clean up
2019-03-20 10:40:20 +10:00
bnsgeyer
8c46fe1c61
AP_Motors: tradheli-fix parameters for generic swashplate and other minor fixes
2019-03-20 10:40:20 +10:00
bnsgeyer
9f547cc328
AP_Motors: Tradheli - support for linear servo output for swashplates
2019-03-20 10:40:20 +10:00
ChristopherOlson
b8d53b7a57
AP_Motors:TradHeli - add new swashplate descriptions to params for Heli Single and Heli Dual
2019-03-20 10:40:20 +10:00
bnsgeyer
d7e6298366
AP_Motors: Tradheli - add swashplate library
2019-03-20 10:40:20 +10:00
Mark Whitehorn
5cdfccad14
AP_Motors: specialize MotorsMatrixTS motor controls
2019-03-19 10:13:59 +11:00
IamPete1
d075965fce
AP_Motors: tailsiter remove push of plane ouputs
2019-03-06 14:46:39 +11:00
Mark Whitehorn
58a128f430
AP_Motors: add support for copter tailsitters
...
add MotorsMatrixTS tailsitter class
add X quadcopter tailsitter frame
add support for trimotor tailsitter
2019-03-06 07:53:46 +09:00
Tom Pittenger
3bbd80a5de
AP_Mount: unify singleton naming to _singleton and get_singleton()
2019-02-10 19:09:58 -07:00
Andrew Tridgell
cf8b059531
AP_Motors: added 3 more motor orders for X quads
...
- betaflight X
- DJI X
- clockwise X
2019-02-06 11:17:35 +11:00
Mark Whitehorn
35928a8d05
AP_Motors: fix regression for tiltrotors
2019-01-29 08:10:27 +09:00
Randy Mackay
1fa335a77b
AP_Motors: actuator_spin_up renamed to include _to_ground_idle
2019-01-21 20:55:07 +09:00
Randy Mackay
e2bd502b83
AP_Motors: minor format fixes
2019-01-21 20:13:43 +09:00
Matt
3d3f06cacb
AP_Motors: Add actuator output slew time to multicopters
...
Adds slew time limiting for throttling up and throttling down to multicopters. New parameters MOT_SLEW_UP_TIME and MOT_SLEW_DN_TIME added. 0 = disabled, no slew limiting. Valid values are 0 to 0.5 seconds. Also reworked functions related to linearization and PWM conversion to make more flexible throughout the code.
2019-01-21 20:07:58 +09:00
Peter Barker
b47733142f
GLOBAL: rename DataFlash_Class to AP_Logger
2019-01-18 18:08:20 +11:00
bnsgeyer
10572c2f9b
AP_Motors: remove unused defines from multicopter
2019-01-15 11:41:44 +09:00
bnsgeyer
28f4c68f2f
AP_MotorsHeli: add spool logic support
...
Also moved heli init_target_on_arming flag in from vehicle code
2019-01-15 11:41:44 +09:00
bnsgeyer
ac87b3e1e5
AP_Motors: spool state moved from multi to parent
...
Also rename SPIN_WHEN_ARMED to GROUND_IDLE
2019-01-15 11:41:44 +09:00
IamPete1
28884f60d5
AP_Motors: tricopter apply diffential thrust in forward flight
2019-01-15 10:19:19 +11:00
IamPete1
c26948ef59
AP_Motors: multicopter apply diffential thrust in forward flight
2019-01-15 10:19:19 +11:00
IamPete1
c82f158b56
AP_Motors: add get roll factor
2019-01-15 10:19:19 +11:00
expntly
790f609373
AP_Motors: document Hover_learn as copter only
2019-01-03 09:50:22 +09:00
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
Randy Mackay
d4f838495d
AP_Motors: minor format fix to tailsitter
2018-12-21 11:19:18 +09:00
Randy Mackay
f89c18740d
AP_Motors: fix tailsitter tilt servo outputs
2018-12-21 11:19:18 +09:00
Randy Mackay
0d8e02d113
AP_Motors: Tailsitter output using SRV_Channels instead of rc_write
2018-12-21 11:19:18 +09:00
Randy Mackay
11c29b6af9
AP_Motors: Tailsitter minor typo and format fixes
2018-12-21 11:19:18 +09:00
Randy Mackay
84bcfce96b
AP_Motors: remove virtual from Tailsitter output_test_seq
2018-12-21 11:19:18 +09:00
IamPete1
4a7b2e8f8f
AP_MotorsTailsitter: add mixer and update to use standard AP_motors functions
2018-12-21 11:19:18 +09:00
bnsgeyer
1b90ef34cc
AP_Motors: Dualheli- fix bug for scaling second swashplate
2018-12-18 09:10:22 +09:00
Andrew Tridgell
d907c5757d
AP_Motors: added PlusRev motors type
...
this is a plus frame with reversed motor direction, needed for quad in
Morse simulator
2018-12-04 09:44:50 +11:00
Andrew Tridgell
f71013928a
AP_Motors: force PWM range for DShot to 1000 to 2000
2018-11-16 08:33:35 +11:00
Peter Barker
f2070da335
AP_Motors: add override keyword where required
2018-11-08 11:30:12 +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
Randy Mackay
853a56dc9b
AP_MotorsMatrix: formatting fixes
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
bnsgeyer
833bc4e77d
AP_Motors: Tradheli - fixes slew speed of swashplate during collective servo test
2018-09-24 19:55:11 +01:00
Peter Barker
71c9c91c2d
AP_Motors: fix example
2018-09-19 22:40:20 -07:00
Randy Mackay
a5c59ce36e
AP_Motors: include boost_throttle in get_motor_mask
2018-08-27 10:35:02 +09:00
Randy Mackay
f85e84cc89
AP_Motors: add override keyword to get_motor_mask
2018-08-27 10:35:02 +09:00
Randy Mackay
f536c53fa6
AP_MotorsMatrix: minor format fix
2018-08-21 13:34:07 +09:00
Peter Barker
937d8dac97
AP_Motors: remove unneeded initialisations
2018-07-23 16:30:40 +09:00
Michael du Breuil
a5b8279ea4
AP_Motors: Remove unused ADC include
2018-07-17 09:29:50 +10:00
bnsgeyer
0f75866042
AP_Motors: Tradheli-corrected get_motor_mask method
2018-07-16 12:41:16 +10:00
bnsgeyer
dec8c5de77
AP_Motors: convert heli code to use SRV_Channels
...
this converts the heli code to use the SRV_Channels output
functions. It does not change behaviour, but removes the last vehicle
type that did its own servo output calculations. This change also
fixed servo initialization conflicts.
Note that this also allows helis to be setup with more than one
channel for a particular output (eg. two separate channels for tail
servo if they are wanted). This isn't likely to be used much, but does
make heli consistent with other vehicle types
2018-07-16 12:41:16 +10:00
Jacob Walser
24e21b57ca
AP_Motors: add output_test_num api for motor testing
2018-07-02 11:31:58 -04:00
Jacob Walser
abcb845af5
AP_Motors: refactor output_test -> output_test_seq
2018-07-02 11:31:58 -04:00
Jacob Walser
9ce9f95692
AP_Motors: make output_test signatures consistent and ensure override
...
specifier on derived classes
2018-07-02 11:31:58 -04:00
ChristopherOlson
1709c258bf
AP_Motors:TradHeli - fix metadata for H_COL_CTRL_DIR
2018-06-28 09:02:48 +09:00
Andrew Tridgell
4e414c02f5
AP_Motors: use scaled actuators for single and coax frames
...
this allows for multiple servos with the same motor function
2018-05-21 13:04:13 +10:00
Andrew Tridgell
216bab4de4
AP_Motors: fixed default motor functions for single and coax copter
...
should be enabling motors 5 and 6 to match docs and SITL
2018-05-21 13:04:13 +10:00
bnsgeyer
b20ebc6540
AP_Motors: Tradheli- removes unnecessary code from swash servo trim bug fix
2018-05-16 09:22:44 +10:00
Jacob Walser
e5bd6e289e
AP_Motors: Add current limiting to 6DOF motors for Sub
2018-04-29 17:16:34 -04:00
bnsgeyer
c8488e3333
AP_Motors: Tradheli - swashplate servo trim fix for heli single and dual frames
2018-04-24 10:30:26 +10:00
ChristopherOlson
9aa685a6d8
AP_Motors:TradHeli - single rotor only - add support for H3-140 swashplates.
...
Also changes the old definition to H3 for swashplates with fixed control radius and adjustable servo position.
2018-04-18 14:24:59 +09:00
ChristopherOlson
f073c58f68
AP_Motors:TradHeli - add support for reverse collective swashplates
2018-04-18 14:24:59 +09:00
Andrew Tridgell
819de4acd5
AP_Motors: don't scale oneshot125 in AP_Motors
...
handle it in the HAL backends, to allow for correct resolution
2018-04-07 09:10:29 +10:00
Andrew Tridgell
80a1688361
AP_Motors: make a singleton
...
this is used by AP_ESCSerial
2018-04-07 09:10:29 +10:00
Andrew Tridgell
bd9df6d0ec
AP_Motors: added DShot to parameter docs
2018-04-07 09:10:29 +10:00
Andrew Tridgell
e55d3a0834
AP_Motors: fix mask passed to rc_set_freq
...
the full motor mask must be supplied to work correctly for oneshot and
dshot
2018-04-07 09:10:29 +10:00
Andrew Tridgell
2c84d77306
AP_Motors: setup for DShot output modes
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
bnsgeyer
690e8fd3f4
AP_Motors: TradHeli - Changed RSC mode 3 to a spline fit throttle curve
2018-03-27 09:07:03 +11:00
ChristopherOlson
96793a3ae7
AP_Motors:TradHeli - DDVP Ramp/Runup
...
Change to ramp and runup DDVP tail rotor to prevent torque pitching the frame and provide runup in sync with main
rotor like a mechanically driven tail.
Fix some comments and remove indents found in whitespace in AP_MotorsHeli.cpp and AP_MotorsHeli.h
2018-03-14 09:18:07 +09:00
night-ghost
3165d72647
AP_Motors: reduce unnecessary multiple call of get_compensation_gain()
2018-01-24 19:26:15 +09:00
bnsgeyer
7a9e424977
AP_Motors: added comments to indicate parameter indices previously used by RSC_PWM_MIN, RSC_PWM_MAX, and RSC_PWM_REV
2018-01-23 14:12:27 +09:00
Andrew Tridgell
2c73b374f5
AP_Motors: protect against writes to NULL servo_aux
...
if user changes parameter while setting up it could crash
2018-01-21 21:12:13 +11:00
Andrew Tridgell
bdb9f062ae
AP_Motors: removed unused pwm parameters for heli
2018-01-21 21:12:13 +11:00
bnsgeyer
ac2e933358
AP_Motors: Tradheli - Fixed Directdrive Variable Pitch Feature
2018-01-21 21:12:13 +11:00
Leonard Hall
0a10deb3f7
AP_Motors: Fix gain scaling on Throttle Average Max and reduce additional gain on low throttle for Single and Coax.
2018-01-16 11:50:30 +09:00
Leonard Hall
eb6ab53f6c
AP_Motors: fix optimum thrust calcs
2018-01-13 10:06:11 +09:00
Hiroshi Takey (hiro2233)
aa6f66f29b
AP_Motors: Updated Motor example.
2018-01-09 08:12:01 +09:00
bnsgeyer
63bafa2c7f
AP_Motors: Tradheli- fixes servo_test function for Dual Heli frame
2017-11-08 11:07:08 +09:00
Andrew Tridgell
6358081b18
AP_Motors: apply tailsitter min spin to both motors
2017-11-04 11:41:40 +11:00
Andrew Tridgell
878d2e2563
AP_Motors: fixed tailsitter use of SPIN_MIN
2017-11-04 09:29:08 +11:00
bnsgeyer
37ea64513d
AP_Motors: TradHeli - fixed servo test function
2017-11-01 14:01:48 +09: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
Andrew Tridgell
45d6f3bf75
AP_Motors: fixed motor channel handling
2017-10-25 11:39:11 +11:00
Andrew Tridgell
fc237ee9a0
AP_Motors: merge fixed from rebase
2017-10-22 15:52:50 +11:00
Andrew Tridgell
efea83e424
AP_Motors: fixed MotorsMatrix set_update_rate()
2017-10-22 15:52:50 +11:00
Andrew Tridgell
1e62b5d5c7
AP_Motors: many to one mapping of motors
...
this allows multiple outputs for one motor number
2017-10-22 15:52:50 +11:00
Andrew Tridgell
03e1f6967f
AP_Motors: removed enable() API
...
all output channels are already enabled by SRC_Channels::enable_aux_servos()
2017-10-22 15:52:50 +11:00
Andrew Tridgell
c8b6be6736
AP_Motors: fixed scaling of servo outputs
...
thanks to bnsgeyer for noicing this in issue #6977
this will break existing dual-heli setups, but there are so few people
flying them so far that I think it is a worthwhile change
2017-10-10 11:02:34 +11:00
ChristopherOlson
7e086e8c4d
AP_Motors: Fix DDFP so tail motor doesn't start without Channel 8 high
2017-10-05 13:41:34 +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
e1f8e7bc58
AP_Motors: cope with H vs X frame in HeliQuad
2017-10-03 10:16:41 +11:00
Andrew Tridgell
09c3eeaf0c
AP_Motors: improved heli-quad yaw control
2017-10-03 10:16:41 +11:00
Andrew Tridgell
a7713da703
AP_Motors: reserve collective range for attitude control
2017-10-03 10:16:41 +11:00
Andrew Tridgell
f07aac396c
AP_Motors: support inverted flight for helicopters
2017-10-03 10:16:41 +11:00
Andrew Tridgell
55d5fe843e
AP_Motors: added Heli_Quad backend
...
supporting collective pitch quadcopters
2017-10-03 10:16:41 +11:00
Peter Barker
35d8f11e46
AP_Motors: eliminate GCS_MAVLINK::send_statustext_all
2017-07-11 23:53:53 +01:00
Jacob Walser
20889ff8a9
APMotors6DOF: Add motor reverse parameters for motors 9-12
...
Fix overruns found in coverity 145496-99
2017-07-11 09:34:40 +09: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
murata
66fc49889b
AP_Motors: add dodeca-hexa
2017-05-27 14:21:13 +09:00
Randy Mackay
d00725b2ed
AP_Motors: rc_write handles motors 9 to 12
2017-05-27 14:21:13 +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
murata
46cba2c970
libraries: Delete the setting value for specific editor.
2017-05-11 13:18:41 -07:00
murata
10c446f69d
AP_Motors: Fit the indent column to the coding style.
2017-05-11 13:18:41 -07:00
Sriram Sami
379005ebc7
AP_Motors: Fix comment on expected variable range
...
the move_actuators function in AP_MotorsHeli_Dual previously
indicated incorrect ranges for its input variables.
2017-05-09 17:41:26 +09:00
Andrew Tridgell
46d9a1dcb5
AP_Motors: fixed tricopter tail servo in fwd flight
...
in quadplane forward flight the with tilt-tricopter tail servo needs to
be at its trim position. Thanks to Marco for noticing this.
2017-05-09 08:59:00 +09: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
1f847132d7
AP_Motors: setup limits flags for tailsitters
2017-05-07 09:10:44 +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
Andrew Tridgell
6f54eef857
AP_Motors: force roll motors to 0 in tailsitter when disarmed
2017-04-14 13:01:48 +10:00
Andrew Tridgell
f571b34fd7
AP_Motors: setup RC speed for tailsitters
2017-04-11 17:34:40 +10:00
Andrew Tridgell
328541769d
AP_Motors: allow control surfaces to move disarmed
...
allow tailsitter control surfaces to move in Q modes when shutdown
2017-04-11 17:34:40 +10:00
Sriram Sami
8bb052d019
AP_Motors: update descriptions for new parameters
2017-04-01 05:25:59 +11:00
Sriram Sami
1793bac8d4
AP_Motors: add parameters for HELI_DUAL
...
- add COL2_MIN/MID/MAX parameters that control limits of rear swashplate
- output collective_mid correctly for rear swashplate when servo is in manual mode
2017-04-01 05:25:59 +11:00
Andrew Tridgell
1ad5e1db4e
AP_Motors: integrate AP_MotorsHeli_Dual
...
fixed issues with combining with Heli_Single
2017-03-25 16:22:10 +11:00
Fredrik Hedberg
998231ab0d
AP_Motors: added AP_MotorsHeli_Dual
...
for tandem and transverse helis
2017-03-25 16:22:10 +11: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
Jacob Walser
cde1452da3
AP_Motors: Use fabsf instead of fabs
2017-02-22 11:25:18 -08:00
Rustom Jehangir
237ba87ca4
AP_Motors: New AP_Motors6DOF used by Sub
2017-02-21 11:26:14 +11:00
Andrew Tridgell
83d055eceb
AP_Motors: support twin-motor tailsitters
...
use differential thrust for roll
2017-02-18 17:26:43 +11:00
Andrew Tridgell
ac2a9c4b4a
AP_Motors: allow Copter to fly the tailsitter motors class
2017-02-18 17:26:43 +11:00
Andrew Tridgell
1a74b7fc0c
AP_Motors: started on tailsitter support
2017-02-18 17:26:43 +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
Randy Mackay
8b5aae37e0
AP_Motors: remove Hexa-H, change Octa-H factors
...
Octa-H is like an Quad-X but with each side having two additional motors placed between the front an back motors.
Octa-H is quite different from Quad-H.
2017-02-10 10:42:14 +09:00
Randy Mackay
872e0567be
AP_Motors: add H frame support for hexa and octa
2017-02-09 12:37:14 +09:00
Randy Mackay
a14265359f
Copter: reduce default MOT_THST_HOVER to 0.35
2017-02-07 11:20:25 +09:00
Andrew Tridgell
af44e9fdbd
AP_Motors: added frame type 11 for Y6 to match FireFly6
...
using same motor output mapping as AvA
2017-02-06 16:18:58 +11:00
murata
92eb179acf
AP_Motors: Unify from print or println to printf.
2017-01-27 18:20:22 +11:00
Andrew Tridgell
a6ecb94d24
AP_Motors: MotorsTri does not need its own var_info now
2017-01-20 12:05:09 +11: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
Andrew Tridgell
8799094278
AP_Motors: use SRV_Channel for tri tail servo
2017-01-12 17:39:37 +11:00
Andrew Tridgell
638f1364be
AP_Motors: adapt to new RC_Channel API
2017-01-12 17:39:37 +11:00
Randy Mackay
bdfb12123f
AP_Motors: fix frame-type enum for Y6B
...
Also remove unused NEW_PLUS
2016-12-31 10:55:23 +09:00
Randy Mackay
037e411e35
AP_Motors: fix example sketch
...
Also minor formatting fix
Thanks to OXINARF for spotting this
2016-12-31 10:55:23 +09:00
Randy Mackay
ffa6d1a5b9
AP_Motors: init fixes for frame_class, type and initialised_ok
...
Thanks to OXINARF for spotting these
2016-12-31 10:55:23 +09:00
Randy Mackay
a276f5dc90
AP_Motors: fix example sketch
2016-12-31 10:55:23 +09:00
Randy Mackay
7be0f437a9
AP_Motors: consolidate matrix multicopters
...
AP_MOTORS_x_FRAME definitions moved to motor_frame_type enum
init function and now accepts frame-class and type to perform initial motor setup
set_frame_class_and_type allows real-time changing of motor setup
initialised_ok flag and accessor records whether setup was successful
2016-12-31 10:55:23 +09:00
Randy Mackay
41189758b8
AP_Motors: move some functions to protected
...
Also minor formatting fix
2016-12-31 10:55:23 +09:00
priseborough
509709ce9d
AP_Motors: remove unused EKF1 include
2016-12-19 08:07:11 +11:00
Randy Mackay
2da7ea746b
MotorsHeli: minor formatting updates
2016-12-14 13:21:59 +09:00
Leonard Hall
a09d4db4fd
AP_MotorsMulticopter: fix battery resistance calculation
2016-12-14 11:07:29 +09:00
Pierre Kancir
8ef5067e12
AP_Motors: MotorsHeli_Single utilize an explicit type cast to avoid the loss of a fractional part.
2016-12-06 06:25:15 -08: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
Peter Barker
06b616f761
AP_Motors: add missing parameter metadata
2016-10-27 09:15:03 -07: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
Andrew Tridgell
7cd7f03d56
AP_Motors: fixed use of trim on heli servos
...
this was broken by the servo range 0 to 1 changes
2016-10-13 09:34:48 +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
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
Andrew Tridgell
e9e3a3f491
AP_Motors: added get_pwm_type()
2016-08-29 15:52:21 +10:00
Andrew Tridgell
270fa95a8d
AP_Morors: scale colyaw to match previous behaviour
...
this was missed in the motor scaling changes. Thanks to Rob for
noticing this.
2016-08-10 07:58:06 +10: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
Andrew Tridgell
66c4995c9d
AP_Motors: added get_desired_spool_state()
2016-08-04 09:43:40 -07:00
Andrew Tridgell
11975223dd
AP_Motors: added H_RSC_POWER_NEGC and H_RSC_SLEWRATE
...
this gives more control over throttle for petrol
helis. H_RSC_POWER_NEGC allows for a asymmetric V-curve, which allows
for less power being put into the head when landing or when sitting on
the ground. That can lead to significantly less vibration and chance
of ground oscillation. A heli not being flown with aerobatics does not
need to use high throttle at negative collective pitch.
The H_RSC_SLEWRATE allows for a maximum throttle slew rate to be
set. Some petrol motors can cut if the throttle is moved too
quickly. We had this happen at a height of 6m when switching from
ALT_HOLD to STABILIZE mode. It also lowers the chance of the blades
skewing in their holders with the sudden change of power when the heli
is disarmed. In general it is a bad idea to do instantaneous large
movements of a IC engine throttle.
2016-07-03 18:29:05 +10:00
Andrew Tridgell
bc7488e2f2
AP_Motors: fixed typos
2016-07-01 15:35:29 +10:00
Leonard Hall
fe68fe65e2
AP_Motors: Single and Coax fix flap gains
2016-07-01 12:45:14 +09:00
Leonard Hall
ba2382c409
AP_MotorsCoax: Fix servo 3 and 4 feed through sign
2016-06-20 09:45:17 +09:00
Andrew Tridgell
7a9b4c7572
AP_Motors: fixed motor load calculation
...
scale to 1.0 for max collective
2016-06-19 13:50:04 +10: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
23f8227e36
AP_Motors: bug fix to save params on disarm
...
Previously was saving during arming as well as disarming.
Thanks to OXINARF for finding this!
2016-06-18 11:55:49 +09:00
Randy Mackay
a2ffd9ec7d
AP_MotorsMulticopter: fix comment for get_throttle_limit function
2016-06-18 11:55:49 +09:00
Randy Mackay
a1b573ed0a
AP_Motors: rename throttle_ave_max to throttle_avg_max
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
Leonard Hall
8fff32bde3
AP_MotorsSingle: fix stability patch use of throttle_hover
2016-06-18 11:55:49 +09:00
Leonard Hall
e0f9fc8e40
AP_MotorsSingle: rename rpy_scale, thrust_min_rpy variables
...
No functional change
2016-06-18 11:55:49 +09:00
Leonard Hall
da05902805
AP_MotorsCoax: fix stability patch use of throttle_hover
2016-06-18 11:55:49 +09:00
Leonard Hall
9bc866e771
AP_MotorsCoax: rename rpy_scale internal variable
...
No functional change
2016-06-18 11:55:49 +09:00
Leonard Hall
8bdb906b2b
AP_MotorsCoax: fixes negative thrust
2016-06-18 11:55:49 +09:00
Randy Mackay
71d1818103
AP_MotorsMulticopter: minor comment update
2016-06-18 11:55:49 +09:00
Randy Mackay
818965fa57
AP_MotorsMulticopter: output_to_motors and output_logic become protected
2016-06-18 11:55:49 +09:00
Leonard Hall
02881b59ff
AP_MotorsMulti: float constants
2016-06-18 11:55:49 +09:00
Randy Mackay
79a73a5c2f
AP_Motors: fix example sketch
...
No need to set throttle_mix nor throttle_min
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
142a67bb6d
AP_MotorsMulticopter: minor comment change
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
255bda9f9c
AP_Motors: allow setting of loop rate
...
this allows for SCHED_LOOP_RATE in copter
2016-06-17 15:01:18 +10:00
Leonard Hall
b3fcab8044
AP_Motors: minor comment fix
2016-06-09 09:49:00 +09:00
Andrew Tridgell
f58d837026
AP_Motors: fixed heli RSC output range and float conversion
...
adds H_RSC_PWM_MIN, H_RSC_PWM_MAX and H_RSC_PWM_REV
2016-06-04 18:33:36 +10:00
Leonard Hall
a16018f9fe
AP_Motors: Missed Single fix
2016-05-31 12:44:17 +10:00
Leonard Hall
d67f83559c
AP_Motors: Single and Coax Fixes
2016-05-29 16:12:29 +10:00
Randy Mackay
72b86a3f99
AP_Motors: remove unused stabilizing flag
...
Also initialise some members to resolve converity warnings
2016-05-28 15:45:29 +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
Andrew Tridgell
6855899cbf
AP_Motors: fixed servo constructor for coax
2016-05-26 16:41:16 +10:00
Andrew Tridgell
4e5e301c4e
AP_Motors: fixed servo constructor for heli
2016-05-26 16:41:06 +10:00
Andrew Tridgell
f9fb098222
AP_Motors: fixed channel output for SingleCopter
2016-05-26 16:26:43 +10:00
Andrew Tridgell
65eb9ceb32
AP_Motors: expose min/max pwm
2016-05-26 14:33:57 +10:00
Andrew Tridgell
a44b0e0011
AP_Motors: don't setup oneshot for a zero output mask
2016-05-26 12:18:49 +10:00
Fredrik Hedberg
75d5c87788
AP_Motors: Fix setpoint bug with 0~1 conversion in AP_MotorsHeli
2016-05-25 09:27:40 +09: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
f1cbdbe914
AP_Motors: update some comments
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
Ricardo de Almeida Gonzaga
2802775e7d
AP_Motors: Fix typos
2016-05-13 19:20:06 -03: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
dgrat
41661f815f
AP_Math: Replace the pythagorous* functions with a variadic template
...
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
skyscraper
de5130fa13
AP_Motors: RC_Channel refactor
...
More fixing up of RC_Channel change access to
data members to functions
2016-05-10 16:21:16 +10:00
skyscraper
daec4ea10e
AP_Motors: Fix up after RC_Channels refactor
...
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to get and set functionsss
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);
c.min_max_configured() // return true if min and max are configured
Because data members of RC_Channels are now private and so cannot be written directly
some overloads are provided in the Plane classes to provide the old functionality
new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);
new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;
Rename functions
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
Randy Mackay
e41f798ba1
AP_Motors: remove unused set_stabilizing
2016-05-07 10:08:36 +09:00
Andrew Tridgell
ff96085bd3
AP_Motors: allow arbitrary motor mapping with tricopters
2016-04-28 22:36:41 +10:00
Randy Mackay
7af9892bd1
AP_MotorsMatrix: make const a float
...
resolves compiler warning
2016-04-23 23:06:25 -07:00
Randy Mackay
72a7f674ec
AP_Motors: protect against out-of-bounds memory access
...
resolves a compiler warning
2016-04-23 21:06:18 +10:00
Andrew Tridgell
fd7c87e629
AP_Motors: allow enabling oneshot on a subset of motors
2016-04-22 13:24:04 +10:00
Andrew Tridgell
f2c63e24c5
AP_Motors: allow tricopter motor 7 to be moved to any output
2016-04-22 08:32:03 +10:00
Andrew Tridgell
6df4d11d3f
AP_Motors: ensure OneShot125 is within 125 to 250usec
2016-04-16 18:52:12 +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
b39798ad90
AP_Motors: remove unused DESIRED_SPIN_MIN_THROTTLE
2016-04-01 11:59:30 +09:00
Randy Mackay
dc86e1472c
AP_MotorsTri: protect against div-by-zero if MOT_YAW_SV_ANGLE param was set to 90
2016-04-01 11:59:30 +09:00
Randy Mackay
9b5b6f3779
AP_MotorsHeli: constrain filtered throttle
...
This is required because we have removed the constraint on the throttle input. This also insures that there is no lag caused by the filtered throttle straying far outside the 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
b4a61e6ccf
AP_Motors: remove constrain on throttle input
...
This constraint is redundant because we already constrain the filtered throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
fce426409e
AP_MotorsTri: fix stab patch
2016-04-01 11:59:30 +09:00
Randy Mackay
49562c5ca3
AP_MotorsMulticopter: reduce num bits used for spool-up-down-mode
2016-04-01 11:59:30 +09:00
Randy Mackay
3ee88fd8c7
AP_MotorsCoax: remove output_min
...
This is now implemented by parent AP_MotorsMulticopter
2016-04-01 11:59:30 +09:00
Randy Mackay
8566a61660
AP_MotorsSingle: remove output_min
...
This is now implemented by parent AP_MotorsMulticopter
2016-04-01 11:59:30 +09:00
Randy Mackay
8621774040
AP_MotorsTri: remove output_min
...
This is now implemented by parent AP_MotorsMulticopter
2016-04-01 11:59:30 +09:00