Commit Graph

1082 Commits

Author SHA1 Message Date
Peter Hall d0e1e85b9e AP_Motors: add get_frame_mav_type 2021-01-26 11:07:36 +09:00
Peter Barker 8f8283e0f0 AP_Motors: rc_map_mask -> motor_mask_to_srv_channel_mask
the naming of this function precedes our rc/srv-channel split
2021-01-05 10:19:32 +11:00
bnsgeyer 09b9ad83dc AP_Motors: tradheli - add support to determine below mid collective 2020-12-21 23:33:48 -05:00
bnsgeyer 6c8a85ee04 AP_Motors: updates to new integrator and make selectable 2020-12-21 23:33:48 -05:00
bnsgeyer 84fb3afbcb AP_Motors: Tradheli support for integrator management and hover collective learning 2020-12-21 23:33:48 -05:00
Iampete1 69bec46fa8 AP_Motors: Tailsitter: don't apply roll and pitch compsation gain 2020-12-22 11:00:59 +11:00
bnsgeyer 62758ffd99 AP_Motors: Dual-heli-keep intermeshing from using DCP to yaw mixer 2020-12-16 19:52:23 -05:00
PittRBM 3f405590c7 AP_Motors: Dual Heli-add support for intermeshing rotor 2020-12-16 19:52:23 -05:00
bnsgeyer ebd83b756b AP_Motors: add DCP trim feature for Dual Heli 2020-12-17 09:01:02 +11:00
Andrew Tridgell c504e2db04 AP_Motors: added disable_yaw_torque() method
this is used for tilt-vectored quadplanes to use only vectoring for
yaw control. This avoids some nasty transition issues
2020-12-16 08:45:11 +11:00
murata 159a6c7ed6 AP_Motors: Support for decacopters 2020-12-08 11:59:10 +11:00
Iampete1 681f45c4e0 AP_MotorsMulticopter: make thrust to actuator public 2020-11-18 19:33:21 +11:00
Iampete1 0c2037438b AP_Motors: output mask: do not apply copter sin params and epxo 2020-11-10 11:09:56 +11:00
Peter Barker 41ab59dcdb AP_Motors: eliminate flags structure
Saves about 44 bytes
2020-09-22 20:26:24 +10:00
Iampete1 152e2366f0 AP_Motors: Tri: dont check yaw servo on plane 2020-09-22 09:12:14 +10:00
Mark Whitehorn d3c1838fbe AP_Motors: remove AP_MotorsMatrixTS 2020-09-08 10:50:31 +10:00
Randy Mackay 8629923783 AP_Motors: minor whitespace fix 2020-08-10 09:33:43 +09:00
Josh Welsh e77bc1ce9d AP_Motors: Tradheli servo_test fix 2020-08-10 09:16:44 +09:00
Randy Mackay 2d8c5a7bc4 AP_Motors: remove names from cpp files 2020-07-14 13:27:07 +10:00
Patrick José Pereira 8bb74a12d0 AP_Motors: Remove double underscore header guard
The code now uses `#pragma once` and double underscore as a prefix
can result in undefined behaviour.
Ref: https://eel.is/c++draft/lex.name#3.1

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-07-03 14:53:33 +10:00
Gone4Dirt 1b7672a84f AP_Motors: Correctly adjust heli run up timer in bailout 2020-05-28 18:50:08 -04:00
Gone4Dirt b2d2bf61da AP_Motors: Support autorotation windows on external governors 2020-05-20 21:56:09 -04:00
murata 509d376c29 AP_Motors: Change the tab code to whitespace 2020-04-27 09:29:32 +09:00
Peter Hall 2f036c65f3 AP_Motors: MotorsMulticopter fix floating boost output 2020-03-02 18:22:30 +09:00
Rishabh aec65ed6ff AP_Motors: Added cwx motor setup for hexa, octa and octaquad 2020-02-19 11:28:25 +09:00
bnsgeyer d4e5e1bd3d AP_Motors: tradheli - fix quad heli collective structure 2020-02-14 09:29:50 +09:00
Peter Barker c4ed6d0e96 AP_Motors: ensure _pwm_min and _pwm_max are not equal
AP_Motors: adjust check_mot_pwm_params for clarity
2020-01-30 14:49:16 +09:00
Randy Mackay bff978570f AP_MotorsMulticopter: fixup check_mot_pwm_params
fix _pwm_max is positive check
returns true if params are valid
constify method
2020-01-30 10:01:54 +09:00
Randy Mackay f00bf77af7 AP_MotorsMulticopter: minor formatting fix 2020-01-30 08:33:00 +09:00
ashvath d97fdcac31 Copter: function for mot_pwm checks 2020-01-30 08:29:56 +09:00
Rishabh 38533b2f09 AP_Motors: Added DJI_X motor setup for hexacopter and octacopter 2020-01-29 16:57:23 +09:00
Peter Hall d08b395224 AP_Motors: only ouput throttle to mask if armed 2020-01-21 10:11:16 +11:00
Andrew Tridgell 134d8b941b AP_Motors: added betaflight-x-reversed frame type 2020-01-16 19:13:13 +11:00
Peter Hall af08379d1b AP_Motors: MatrixTS remove output_to_motors 2020-01-07 10:40:22 +11:00
Peter Hall 615695c1bc AP_Motors: MatrixTS: defualt to normal Matrix setup 2020-01-07 10:40:22 +11:00
Peter Hall 4aa0dfa2aa AP_Motors: output_motor_mask update 2020-01-07 10:40:22 +11:00
Mark Whitehorn 68dcab3edb AP_Motors: add copter tailsitter differential torque frames 2019-12-18 08:33:29 +11:00
bnsgeyer 2a8e2d19fa AP_Motors: Tradheli-incorporate DDFP for counter clockwise rotating rotors 2019-12-16 10:48:09 +09:00
bnsgeyer e193c45946 AP_Motors: tradheli-update parameter display names 2019-12-10 12:21:56 +09:00
Gone4Dirt 98a4335af4 AP_Motors: Added support for autorotation 2019-11-29 08:06:10 +08:00
Peter Barker ef6a34a9f0 AP_Motors: use enum-class for SRV_CHANNEL_LIMIT_TRIM and friends 2019-11-26 10:17:17 +11:00
bnsgeyer 05a30c756a AP_Motors: tradheli- fix metadata 2019-11-20 12:17:36 +08:00
bnsgeyer 417570df70 AP_Motors: tradheli - TAIL_SPEED metadata correction 2019-11-18 08:21:40 +08:00
Leonard Hall 5979c750f9 AP_Motors: yaw headroom fix 2019-10-31 16:12:11 +09:00
Leonard Hall a8913d0df5 AP_Motors: Add full yaw range calculation back 2019-10-31 11:04:40 +08:00
Leonard Hall f840f96276 AP_Motors: Freeze motor lost index on enabling thrust boost 2019-10-31 10:49:45 +08:00
Andrew Tridgell ecd9e45568 AP_Motors: switched tricopter to use rc_write_angle()
simplies tricopter handling
2019-10-30 16:01:15 +08:00
Andrew Tridgell 37566d079f AP_Motors: support direct rate outputs for multicopters 2019-10-25 17:11:56 +11:00
Bill Geyer 63d9b47530 AP_Motors: make init_targets_on_arming global 2019-10-16 08:17:09 +09:00
Michael du Breuil a80ff80061 AP_Motors: Fix safe disarm 2019-10-16 08:46:49 +11:00
Leonard Hall 6e8413f122 AP_Motors: Use safety timer to enable pwm before spool up 2019-10-16 08:46:49 +11:00
Leonard Hall d4b922336b Copter: add voltage compensation to _throttle_thrust_max 2019-10-15 10:45:36 +09:00
Leonard Hall 4a1a5e81ea AP_Motors: Add variable to record the final thrust value
Add Throttle_Out for other frames
2019-10-10 20:26:02 +09:00
murata 371f11b7f4 AP_Motors: Change to description(NFC) 2019-10-08 08:26:17 +09:00
Andrew Tridgell 39182e70e4 AP_Motors: enable docs for hover thr learning in plane 2019-10-04 14:01:08 +10:00
IamPete1 3b9a35da27 AP_Motors: add reversed tricopter option 2019-10-01 09:39:08 +10:00
Willian Galvani dd97eedde3 APMotors_6DOF: Implement motor_is_enabled(), get_motor_angular_factors() and set_reversed(); 2019-09-26 09:39:50 -07:00
Willian Galvani d56c490b18 AP_Motors_6DOF: Add missing 'break' 2019-09-25 20:17:41 -07:00
bnsgeyer d4fec221c3 AP_Motor: tradheli align swash params btwn frames and fix metadata 2019-09-25 14:59:02 +09:00
Willian Galvani 5a9e5e937a APMotors6DOF: add roll factor for motors 4 and 5 for SIMPLEROV_4 and SIMPLEROV_5 2019-09-23 10:41:57 -07:00
Willian Galvani 948a5bf9c3 APMotors6DOF: add case for SIMPLEROV_3 2019-09-23 10:41:57 -07:00
bnsgeyer e91402aeb6 AP_Motors: tradheli-make all RSC params part of library
AP_Motors: Tradheli-fix RSC mode change while armed

AP_Motors: tradheli - improve RSC param metadata

AP_Motors: tradheli-put all throttle param settings in percent
2019-09-13 08:53:54 +09:00
Bill Geyer fbf2b62300 AP_Motors: Tradheli - Make H3-120 swashplate the default 2019-08-06 08:24:59 +09:00
Bill Geyer 7ecc368d4f AP_Motors: tradheli - remove white space in param values 2019-08-06 08:24:59 +09:00
Leonard Hall 036b47ec56 AP_Motors: Add seperate roll and pitch limits 2019-08-03 12:06:32 +09:00
Andrew Tridgell 2b3ced752b AP_Motors: fixed typo in MotorsMatrixTS update for FF 2019-07-25 17:38:15 +09:00
Leonard Hall 0bb9db5139 AP_Motors: add feedforward input to mixers 2019-07-25 17:38:15 +09:00
Randy Mackay 10da6d553c Copter: improve OctaV roll factors 2019-07-18 11:19:28 +09:00
Michael du Breuil e3f1ef0c5e AP_Motors: Refactor battery current interface 2019-07-14 00:28:00 -07:00
Leonard Hall 77f8ec9f43 AP_Motors: formatting fixes 2019-07-12 09:29:40 +09:00
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