Commit Graph

153 Commits

Author SHA1 Message Date
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
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
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 c82f158b56 AP_Motors: add get roll factor 2019-01-15 10:19:19 +11: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
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 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 abcb845af5 AP_Motors: refactor output_test -> output_test_seq 2018-07-02 11:31:58 -04: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 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 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 55d5fe843e AP_Motors: added Heli_Quad backend
supporting collective pitch quadcopters
2017-10-03 10:16:41 +11: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
murata 66fc49889b AP_Motors: add dodeca-hexa 2017-05-27 14:21:13 +09: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
Rustom Jehangir 237ba87ca4 AP_Motors: New AP_Motors6DOF used by Sub 2017-02-21 11:26:14 +11:00
Andrew Tridgell 1a74b7fc0c AP_Motors: started on tailsitter support 2017-02-18 17:26:43 +11: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
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 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
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
Andrew Tridgell e9e3a3f491 AP_Motors: added get_pwm_type() 2016-08-29 15:52:21 +10:00
Andrew Tridgell 66c4995c9d AP_Motors: added get_desired_spool_state() 2016-08-04 09:43:40 -07:00
Andrew Tridgell bc7488e2f2 AP_Motors: fixed typos 2016-07-01 15:35:29 +10: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
Leonard Hall 4f0db2bc36 AP_Motors: learned THST_HOVER replace THR_MID
This holds the estimated thrust required for the vehicle to hover
expressed as a number from 0 to 1.  0 will be equivalent to outputting
SPIN_MIN (which is a number from 0~1 but in the full output range) and 1 is equivalent to SPIN_MAX (also 0~1 but in the full output range)
2016-06-18 11:55:49 +09:00
Leonard Hall 5a8fc6283e AP_Motors: replace throttle_rpy_mix with throttle_avg
AC_AttitudeControl now calculates throttle vs attitude control
prioritisation and simply provides overall maximum throttle (aka
throttle_avg) to the motors library
2016-06-18 11:55:49 +09:00
Andrew Tridgell 255bda9f9c AP_Motors: allow setting of loop rate
this allows for SCHED_LOOP_RATE in copter
2016-06-17 15:01:18 +10:00
Leonard Hall b3fcab8044 AP_Motors: minor comment fix 2016-06-09 09:49:00 +09:00
Randy Mackay 72b86a3f99 AP_Motors: remove unused stabilizing flag
Also initialise some members to resolve converity warnings
2016-05-28 15:45:29 +09:00
Randy Mackay e41f798ba1 AP_Motors: remove unused set_stabilizing 2016-05-07 10:08:36 +09:00
Andrew Tridgell fd7c87e629 AP_Motors: allow enabling oneshot on a subset of motors 2016-04-22 13:24:04 +10:00
Andrew Tridgell f2c63e24c5 AP_Motors: allow tricopter motor 7 to be moved to any output 2016-04-22 08:32:03 +10:00
Andrew Tridgell fe2065cd72 AP_Motors: rename MOT_PWM_MODE to MOT_PWM_TYPE
Randy prefers TYPE
2016-04-14 08:05:07 +10:00
Andrew Tridgell f54bcc6c7f AP_Motors: added oneshot support via MOT_PWM_MODE
MOT_PWM_MODE=0 is normal
MOT_PWM_MODE=1 is oneshot
MOT_PWM_MODE=2 is oneshot125
2016-04-14 08:05:05 +10:00
Randy Mackay b39798ad90 AP_Motors: remove unused DESIRED_SPIN_MIN_THROTTLE 2016-04-01 11:59:30 +09:00
Randy Mackay b4a61e6ccf AP_Motors: remove constrain on throttle input
This constraint is redundant because we already constrain the filtered throttle
2016-04-01 11:59:30 +09:00
Randy Mackay b436dde60c AP_Motors: remove slow_start
This has been replaced with the spool logic feature
2016-04-01 11:59:30 +09:00
Randy Mackay 5ba3a6c536 AP_Motors: add set_radio_passthrough 2016-04-01 11:59:30 +09:00
Randy Mackay 61cf8e1698 AP_Motors: add calc_pwm_output_1to1 and 0to1
Convenience functions to convert from -1 to +1 input to pwm output
2016-04-01 11:59:30 +09:00
Randy Mackay 56f05e6a96 AP_Motors: add set_desired_spool_state 2016-04-01 11:59:30 +09:00