Commit Graph

1050 Commits

Author SHA1 Message Date
Iampete1 70897b5e38 AP_Motors: allow custom frame string from scripting 2022-01-05 19:51:19 +11:00
Andrew Tridgell c44b8cf73a AP_Motors: fixed PWM_TYPE range for quadplanes
when motors don't start at SERVO1 we were applying the range to the
wrong output.

This allows users to control the PWM of individual motors precisely
for quadplanes where calibration of motors is difficult
2021-12-29 18:40:41 +11:00
Bill Geyer afaff18bd0 AP_Motors: modifications based on suggested changes 2021-12-14 22:50:05 -05:00
Bill Geyer a8d74c6414 AP_Motors: Tradheli- add governor engaged message over GCS 2021-12-14 22:50:05 -05:00
Bill Geyer 2ac157b188 AP_Motors: Tradheli- fix governor spool up bug 2021-12-14 22:50:05 -05:00
MidwestAire 22c2329063 AP_Motors:Heli_RSC - throttle curve _control_output does not need a constrain_float
- change lower limit of governor enaged output to 150% of idle speed
- add governor_reset() function
- remove governor defaults from header
- rearrange governor metadata in alphabetical order, assign new eeprom slot for rpm
2021-12-14 22:50:05 -05:00
MidwestAire 77f0fdf112 AP_Motors:clean up whitespace in heli motors class 2021-12-14 22:50:05 -05:00
Bill Geyer ea90217e09 AP_Motors: fix heli RSC parameter indices 2021-12-14 22:50:05 -05:00
Bill Geyer 05e8285f93 AP_Motors: use RPM singleton to get rpm in RSC 2021-12-14 22:50:05 -05:00
MidwestAire 301238fb8a AP_Motors:Heli_RSC - update governor to new torque integrating design with autothrottle 2021-12-14 22:50:05 -05:00
MidwestAire 42a131522b AP_Motors:Heli - new rotor speed control modes for autothrottle governor 2021-12-14 22:50:05 -05:00
Bill Geyer 3b40df133e AP_Motors: add spool down complete flag 2021-12-05 22:12:13 -05:00
Shiv Tyagi 4483b9d6fe AP_Motors: add matrix for deca-cwx frame
This adds a missing matrix for deca-cwx frame
2021-11-23 15:52:25 +09:00
Hwurzburg 2f4bcfb21c AP_Motors: change H_COLL_HOVER to H_COL_HOVER for consistency 2021-11-18 14:37:05 -05:00
Peter Barker 55cdbd208d AP_Motors: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker 9e8126d07c AP_Motors: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Bill Geyer d2c37daa66 AP_Motors: change internal variable names and methods for mid collective to be more accurate 2021-11-10 16:45:17 -05:00
Bill Geyer 183b5e9e6d AP_Motors: update H_SV_MAN parameter to reflect zero thrust collective 2021-11-10 16:45:17 -05:00
Bill Geyer d02097bf1c AP_Motors: add protection for new tradheli parameters 2021-11-10 16:45:17 -05:00
Bill Geyer 1a50dce206 AP_Motors: coll setup uses actual blade pitch angle 2021-11-10 16:45:17 -05:00
Iampete1 6c29eb73d2 AP_Motors: Coax: correct array indexnig offset 2021-11-10 11:52:19 +09:00
Iampete1 291ab5b5f2 AP_Motors: Coax: remvoe servo outs from motor mask 2021-11-10 11:52:19 +09:00
Hwurzburg 47028f136e AP_Motors: change build option name to new standard 2021-11-08 19:13:00 +09:00
Hwurzburg 0b5123b194 AP_Motors: add Y4 Frame type to Quadcopters 2021-11-05 07:39:27 +11:00
Mirko Denecke 8b46ab66bd AP_Motors: remove throttle roll adjust for single motor tailsitter 2021-11-03 12:32:31 +11:00
Hwurzburg 9349abfe48 AP_Motors: add build options for each frame class 2021-10-27 07:59:52 +09:00
Iampete1 b595beab10 AP_Motors: set ouput scaled with float 2021-10-20 18:29:58 +11:00
Iampete1 d16be50e57 AP_Motors: add PWM min and max param conversion function 2021-10-11 22:19:17 -04:00
Iampete1 14dfac42e7 AP_Motors: remove use of external PWM min and max 2021-10-11 22:19:17 -04:00
Iampete1 bc29735cb2 AP_Motors: make pwm_type protected and add helpers 2021-10-06 18:59:57 +11:00
Iampete1 1371499022 AP_Motors: add note about test to new inverse functions 2021-10-01 22:04:51 +01:00
Iampete1 484a0b989f AP_Motors: add expo inverse test example 2021-10-01 22:04:51 +01:00
Iampete1 0c1fe0b373 AP_MotorsMulticopter: add inverse thrust_to_actuator and thrust curve functions 2021-10-01 22:04:51 +01:00
Iampete1 1a2ea893b6 AP_MotorsMatrix: correct octo I testing order 2021-09-13 13:39:03 +09:00
Peter Barker 380d962648 AP_Motors: do not use int version to define motors 2021-09-08 18:20:44 +10:00
Peter Barker dbb43a5746 AP_Motors: remove motor_num from motor definition structures
Every structure simply used the defines in sequence, meaning 0, 1, 2, 3
etc.  Handily we have a loop counter where we use these structures...
2021-09-08 18:20:44 +10:00
Peter Barker a152ad70a9 AP_Motors: use structures to save flash when initialising motors (raw motors) 2021-09-08 18:20:44 +10:00
Peter Barker 26385009ca AP_Motors: use structures to save flash when initialising motors 2021-09-08 18:20:44 +10:00
Peter Barker 5f980929d9 AP_Motors: use add_motors to save flash 2021-08-31 20:23:58 +10:00
Andy Piper 513aa592e4 AP_Motors: add accessors for turtle mode 2021-08-12 19:00:51 +09:00
Andy Piper 30252c1b3f AP_Motors: remove tri yaw servo from motor mask 2021-08-03 11:16:50 +09:00
Andrew Tridgell 4b9311d87d AP_Motors: added new MOT_PWM_TYPE=8 for PWM range
this allows multirotors to set individual PWM ranges per motor. This
is needed for heliquads flying as multirotors
2021-07-28 17:40:40 +10:00
Iampete1 e75d3b68e6 AP_Motors: move AP_MotorsUGV to new AR_Motors directory 2021-07-20 10:48:01 +09:00
Iampete1 6848cbc241 AP_Motors: add scripting dynamic mixer, allowing varable geometry vehicles 2021-07-20 09:19:28 +10:00
Andrew Tridgell 83158ceadb AP_Motors: fixup build for ftype conflict 2021-07-10 07:20:41 +10:00
Peter Barker 183cee3f2c AP_Motors: remove @Values from param metadata where @Bitmask exists 2021-06-23 18:37:34 +10:00
Peter Barker c28a03728d AP_Motors: tidy frame description strings
Before: AP: Frame: TRI/
After: AP: Frame: TRI
2021-06-21 16:30:37 +10:00
Leonard Hall ac41bb50ee AP_Motors: correct expo parameter description and internal limits 2021-06-21 08:41:31 +09:00
Andy Piper 96d0e8cf3f AP_Motors: add comments to AP_MotorsUGV 2021-06-07 20:16:26 +09:00
Andy Piper 7c213a8bbf AP_Motors: move AP_MotorsUGV here
add singleton and motor_mask to AP_MotorsUGV
2021-06-07 20:16:26 +09:00
Hwurzburg 57ee6ffdfe AP_Motors: correct H_SV_MAN metadata warning 2021-05-25 10:22:21 +10:00
Peter Hall 42538c7083 AP_Motors: add throttle factor to Matrix 2021-05-25 09:01:06 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 2393097417 AP_Motors: Use the same limits described in the wiki
According to Leonard Hall's tuning instructions at:
https://ardupilot.org/copter/docs/tuning-process-instructions.html
Fix a typo
2021-05-18 09:54:23 +10:00
Andy Piper d70b8425f7 AP_Motors: trigger digital throttle range with digital outputs 2021-05-12 21:02:42 +10:00
Peter Hall ed7db5b2b6 AP_Motors: tailsitter: slew outputs and output throttle directly 2021-04-27 09:37:32 +10:00
Andrew Tridgell ea3657e941 AP_Motors: added accessors for ff output to motors
needed for tailsitters
2021-04-13 10:28:47 +10:00
Sergey Bokhantsev ef95bf088c AP_Motors: Constrain get_throttle_hover value with allowed range 2021-04-01 13:06:02 +09:00
murata 8e8f2b93a7 AP_Motors: Add DECA frame class and type string 2021-03-09 19:59:10 +09:00
murata 9228925bea AP_Motors: Battery voltage compensation maximum voltage 2021-03-05 08:48:20 +09:00
Randy Mackay 0c9559db6d AP_Motors: fixup octaquad CW_X motor directions 2021-02-22 11:00:44 +09:00
Iampete1 9ace8ed216 AP_Motors: Matrix 6DoF scripting add get_frame_string 2021-02-09 12:43:54 +09:00
Peter Hall cc26a520bc AP_MotorsMatrix: init to virtual and remove duplicate set initalised 2021-02-09 12:43:54 +09:00
Iampete1 5c3725d899 AP_Motors: add 6DoF scripting matrix mixer 2021-02-09 12:43:54 +09:00
Gone4Dirt 6dc100728f AP_Motors: Fix spelling of autorotation flag 2021-02-08 22:09:49 -05:00
Mark Whitehorn 9bc8a8c912 AP_Motors: make frame*string getters more const 2021-02-09 12:43:53 +11:00
Mark Whitehorn 6b2184a53a AP_Motors: add frame_class and frame_type strings
move frame_class/type string assignments down into subclasses
2021-02-09 12:43:53 +11:00
Patrick José Pereira bdc14c60fb AP_Motors: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Iampete1 fca6f7027b AP_Motors: allow Matrix config from scripting 2021-01-26 11:07:36 +09:00
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