Peter Barker
08bf42bf0a
AP_Motors: support a minimum of 12 motors
...
this block could be removed if we made each backend dependent on having sAP_MOTORS_MAX_NUM_MOTORS high enough to support that frame.
However, not all frames have #ifdefs to support conditional compilation at this point.
2025-01-27 14:03:41 +11:00
Peter Barker
afaed41d6e
AP_Motors: clamp max-num-motors to num-servo-channels
2025-01-27 14:03:41 +11:00
Peter Barker
dfe0a559d3
AP_Motors: limit nax-motors to 12 unless scripting enabled
...
we only allow configuration of more complicated frames with scripting at the moment
2025-01-27 14:03:41 +11:00
Peter Barker
49d9b14e25
AP_Motors: add AP_MOTORS_MOT defines up to 32
2025-01-27 14:03:41 +11:00
murata
3b6350d022
AP_Motors: Support Hexadeca-Octa (OCTA-X16)
2025-01-27 14:03:41 +11:00
Andrew Tridgell
c49745c755
AP_Motors: support up to 32 motors
2025-01-27 14:03:41 +11:00
Andy Piper
a974f3fd42
AP_Motors: add access to per-motor thrust values
2024-08-07 18:45:50 +10:00
Peter Barker
70a1bc7606
AP_Motors: make AP_Motors::PWMType enum class
...
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-06 18:15:35 +10:00
Iampete1
727f28bb99
AP_Motors: add new PWM_TYPE_ANGLE
2024-03-18 21:48:55 -03:00
Peter Barker
bccfd98d0e
AP_Motors: allow compilation with HAL_LOGGING_ENABLED false
2024-01-17 18:25:55 +11:00
Iampete1
d57ce2ad6f
AP_Motors: Add motor test checks method to refuse test
2023-06-27 10:24:15 +10:00
Andy Piper
6248a657c8
AP_Motors: allow use of raw voltage for battery compensation driven by MOT_OPTIONS
2023-04-26 17:04:45 +10:00
Iampete1
ab4777de14
AP_Motors: move thrust linerization to its own class
2023-04-18 09:32:22 +10:00
Peter Hall
bbb9e66196
AP_Motors: add method for scripting to set external limit flags
2023-03-07 10:12:30 +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
Leonard Hall
67205f8114
AP_Motors: Support changing update period
2022-12-13 17:10:06 +11: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
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
8930b5f6f5
AP_Motors: tidy includes
2022-05-03 09:14:58 +10: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
Iampete1
86578d5cec
AP_Motors: add local loging of MOTB
2022-01-18 10:18:10 +11:00
Iampete1
70897b5e38
AP_Motors: allow custom frame string from scripting
2022-01-05 19:51:19 +11: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
Hwurzburg
9349abfe48
AP_Motors: add build options for each frame class
2021-10-27 07:59:52 +09:00
Iampete1
bc29735cb2
AP_Motors: make pwm_type protected and add helpers
2021-10-06 18:59:57 +11:00
Andy Piper
513aa592e4
AP_Motors: add accessors for turtle mode
2021-08-12 19:00:51 +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
6848cbc241
AP_Motors: add scripting dynamic mixer, allowing varable geometry vehicles
2021-07-20 09:19:28 +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
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
Andrew Tridgell
ea3657e941
AP_Motors: added accessors for ff output to motors
...
needed for tailsitters
2021-04-13 10:28:47 +10:00
Iampete1
5c3725d899
AP_Motors: add 6DoF scripting matrix mixer
2021-02-09 12:43:54 +09: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
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
6c8a85ee04
AP_Motors: updates to new integrator and make selectable
2020-12-21 23:33:48 -05:00
murata
159a6c7ed6
AP_Motors: Support for decacopters
2020-12-08 11:59:10 +11:00
Peter Barker
41ab59dcdb
AP_Motors: eliminate flags structure
...
Saves about 44 bytes
2020-09-22 20:26:24 +10:00
Andrew Tridgell
134d8b941b
AP_Motors: added betaflight-x-reversed frame type
2020-01-16 19:13:13 +11:00
Mark Whitehorn
68dcab3edb
AP_Motors: add copter tailsitter differential torque frames
2019-12-18 08:33:29 +11:00
Gone4Dirt
98a4335af4
AP_Motors: Added support for autorotation
2019-11-29 08:06:10 +08:00
Bill Geyer
63d9b47530
AP_Motors: make init_targets_on_arming global
2019-10-16 08:17:09 +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
Leonard Hall
036b47ec56
AP_Motors: Add seperate roll and pitch limits
2019-08-03 12:06:32 +09:00