Commit Graph

140 Commits

Author SHA1 Message Date
Andrew Tridgell e5a63eaad0 AP_Motors: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Iampete1 727f28bb99 AP_Motors: add new PWM_TYPE_ANGLE 2024-03-18 21:48:55 -03:00
Iampete1 d57ce2ad6f AP_Motors: Add motor test checks method to refuse test 2023-06-27 10:24:15 +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
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
Andy Piper 3d9639181e AP_Motors: make sure ESC type is initialized early 2022-05-25 17:06:08 +10:00
Peter Barker 8930b5f6f5 AP_Motors: tidy includes 2022-05-03 09:14:58 +10:00
Iampete1 bb1dc2e9a1 AP_Motors: update no motor found warning message 2022-03-09 08:46:55 +09:00
Iampete1 5181003228 AP_Motors: always check armed and interlocked in motor test 2022-02-10 07:43:40 +09: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
Iampete1 bc29735cb2 AP_Motors: make pwm_type protected and add helpers 2021-10-06 18:59:57 +11: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
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
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
Peter Barker 41ab59dcdb AP_Motors: eliminate flags structure
Saves about 44 bytes
2020-09-22 20:26:24 +10:00
Randy Mackay 2d8c5a7bc4 AP_Motors: remove names from cpp files 2020-07-14 13:27:07 +10:00
Gone4Dirt 98a4335af4 AP_Motors: Added support for autorotation 2019-11-29 08:06:10 +08:00
Leonard Hall 036b47ec56 AP_Motors: Add seperate roll and pitch limits 2019-08-03 12:06:32 +09:00
Leonard Hall 77f8ec9f43 AP_Motors: formatting fixes 2019-07-12 09:29:40 +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
Tom Pittenger 3bbd80a5de AP_Mount: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07: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
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
Peter Barker 937d8dac97 AP_Motors: remove unneeded initialisations 2018-07-23 16:30:40 +09: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
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 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 2c84d77306 AP_Motors: setup for DShot output modes 2018-04-07 09:10:29 +10:00
Michael du Breuil 98e327640d AP_Motors: Use battery singleton 2018-03-27 22:12:21 +01:00
Andrew Tridgell 45d6f3bf75 AP_Motors: fixed motor channel handling 2017-10-25 11:39:11 +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 abd0831239 AP_Motors: changed BRUSHED16kHz to BRUSHED 2017-06-17 17:37:45 +10:00
Randy Mackay d00725b2ed AP_Motors: rc_write handles motors 9 to 12 2017-05-27 14:21:13 +09:00
Andrew Tridgell 638f1364be AP_Motors: adapt to new RC_Channel API 2017-01-12 17:39:37 +11: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 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
Andrew Tridgell ce517384e1 AP_Motors: support MODE_PWM_BRUSHED16KHZ 2016-11-30 10:53:26 +11: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
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 a1b573ed0a AP_Motors: rename throttle_ave_max to throttle_avg_max 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