Commit Graph

1095 Commits

Author SHA1 Message Date
Ferruccio1984 e935913f95 AP_Motors: Support for Autorotation implementation
-enables faster re-spool(user settable timer) after power engagement
-flare&touchdown controllers;
-rangefinder for distance from ground evaluation;
-higher refresh rate for rangefinder;
-attitude targets implementation for "guided" autorotation;
-retrieve zero lift collective position
2023-02-05 17:54:33 -05:00
UbhayAnand1 bb05f40560 AP_Motor: removed redundant statements 2023-01-30 08:18:08 +09:00
UbhayAnand1 5da7ad025b AP_Motors: Corrected the parameters. 2023-01-30 08:18:08 +09:00
Peter Barker ad57141a85 AP_Motors: tidy includes of SRV_Channel.h 2023-01-25 22:30:55 +11:00
Andy Piper c620ba58df AP_Motors: use _dt instead of loop rate for throttle slew calculation 2023-01-11 18:59:52 +11:00
Andy Piper ad94c5cab1 AP_Motors: calculate throttle slew rate
use derivative filter and apply filtering to slew detector
2023-01-11 18:59:52 +11:00
Bill Geyer 93b0519ad2 AP_MotorsHeli: improve collective to yaw compensation 2022-12-22 07:07:34 -05:00
Leonard Hall 67205f8114 AP_Motors: Support changing update period 2022-12-13 17:10:06 +11:00
Iampete1 d5082e25e8 AP_Motors: output_motor_mask mask to uint16_t 2022-11-29 10:53:59 +11:00
Peter Barker 1b4f200cfd AP_Motors: remove GCS.h from library header files 2022-11-16 18:29:07 +11:00
bnsgeyer 70c2775949 AP_MotorsHeli: update H_DUAL_MODE description to include coaxial 2022-11-16 14:17:54 +09:00
Peter Barker 3eecf7b71d AP_Motors: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Iampete1 7cafcf7b90 AP_Motors: Multicopter: add motor pwm param range check 2022-09-19 20:57:51 -04:00
Peter Barker d21aa2a1ed AP_Motors: add and use AP_RPM_ENABLED
... and backend-specific equivalents
2022-09-20 09:28:27 +10:00
Andrew Tridgell 3d63a968cf AP_Motors: added a SPIN_MIN check
and check SPIN_ARM <= SPIN_MIN
2022-09-14 21:45:20 +01:00
Iampete1 f3dc805978 AP_Motors: Block Spoolup: stop advance from ground idle 2022-09-07 17:03:03 +01:00
Randy Mackay ff91bbd762 AP_Motors: add spoolup block 2022-09-07 17:03:03 +01:00
Iampete1 e72e5a2751 AP_Motors: add pre-arm check 2022-09-07 17:54:16 +10:00
Henry Wurzburg 8b02f11c23 AP_Motors: refactor to allow frame type symbols to be created for ELF 2022-08-09 10:06:18 +10:00
Iampete1 c1a9f75034 AP_Motors: params always use set method 2022-08-03 13:43:48 +01:00
Andy Piper f666c71676 AP_Motors: add BF/X cinelifter octaquad configuration 2022-08-03 17:06:38 +10:00
Iampete1 ad8b9f58df AP_Motors: use set and defualt 2022-07-20 17:59:59 +10:00
Peter Barker c00d712adc AP_Motors: remove transitive include dependencies 2022-07-20 17:32:24 +10:00
chobitsfan a723abf986 AP_Motors: reuse spool_step for code refactoring 2022-07-11 08:39:34 +09:00
murata 0b357faf7e AP_Motors: Resolve Issue 20894 2022-06-07 10:02:11 +10:00
Andrew Tridgell b2e43d1dee AP_Motors: fixed override of MOT_PWM_MIN/MAX in defaults.parm
need to check configured() not configured_in_storage()
2022-06-06 13:11:50 +10:00
Andy Piper 3d9639181e AP_Motors: make sure ESC type is initialized early 2022-05-25 17:06:08 +10:00
Andrew Tridgell f00a227b33 AP_Motors: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Iampete1 43832649ec AP_Motors: convert to 32 bit motor mask 2022-05-22 12:07:37 +10:00
Peter Barker 434f49e6b6 AP_Motors: correct initialised_ok state for HeliDual+Quad
initialised_ok was being set to false when frame/class was set as the
method was not overridden and thus Heli's set_frame_and_class was
setting initialised_ok to false.  When the init_output method was called
it would be unconditionally reset to true.
2022-05-18 12:25:26 +09:00
Tatsuya Yamaguchi dbae31fb15 AP_Motors: Add Tricopter only to the description of YAW_SV_ANGLE 2022-05-10 09:35:11 +10:00
Peter Barker 8930b5f6f5 AP_Motors: tidy includes 2022-05-03 09:14:58 +10:00
murata 6d4a923cce AP_Motors: Change from division to multiplication 2022-03-16 18:41:52 +11:00
Iampete1 bb1dc2e9a1 AP_Motors: update no motor found warning message 2022-03-09 08:46:55 +09:00
Peter Barker 5d35d8a02c AP_Motors: include cleanups 2022-03-01 11:21:33 +11:00
Bill Geyer f7b420f131 AP_Motors: move turbine start to update_turbine_start and style cleanup 2022-02-23 14:22:47 +09:00
Ferruccio1984 3a67b17142 AP_Motors: tradheli support for turbine start 2022-02-23 14:22:47 +09:00
Iampete1 8af5f5b2d7 AP_MotorsMulticopter: check interlock state in output_motor_mask 2022-02-10 07:43:40 +09:00
Iampete1 5181003228 AP_Motors: always check armed and interlocked in motor test 2022-02-10 07:43:40 +09:00
Peter Barker 06c61070dc AP_Motors: add and use AP_MOTORS_FRAME_DEFAULT_ENABLED 2022-02-08 11:06:24 +11:00
Bill Geyer 87fd0480bb AP_Motors: Tradheli-update coll_land_min default 2022-02-07 06:23:37 -05:00
Peter Barker bd4aed80dc AP_Motors: tweak logging structure construction
const and avoid assignment rather just do initialisation

allows for static checking of narrowing conversions
2022-01-21 21:34:57 +11:00
Iampete1 86578d5cec AP_Motors: add local loging of MOTB 2022-01-18 10:18:10 +11:00
Iampete1 8b54665a48 AP_Motors: example: remove SRV_Channels calls 2022-01-13 23:33:34 +11:00
Peter Hall 1fde5b3ef1 AP_Motors: tailsitter: add external min throttle limit 2022-01-11 10:37:38 +11:00
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