Andrew Tridgell
11975223dd
AP_Motors: added H_RSC_POWER_NEGC and H_RSC_SLEWRATE
...
this gives more control over throttle for petrol
helis. H_RSC_POWER_NEGC allows for a asymmetric V-curve, which allows
for less power being put into the head when landing or when sitting on
the ground. That can lead to significantly less vibration and chance
of ground oscillation. A heli not being flown with aerobatics does not
need to use high throttle at negative collective pitch.
The H_RSC_SLEWRATE allows for a maximum throttle slew rate to be
set. Some petrol motors can cut if the throttle is moved too
quickly. We had this happen at a height of 6m when switching from
ALT_HOLD to STABILIZE mode. It also lowers the chance of the blades
skewing in their holders with the sudden change of power when the heli
is disarmed. In general it is a bad idea to do instantaneous large
movements of a IC engine throttle.
2016-07-03 18:29:05 +10:00
Andrew Tridgell
7a9b4c7572
AP_Motors: fixed motor load calculation
...
scale to 1.0 for max collective
2016-06-19 13:50:04 +10:00
Andrew Tridgell
f58d837026
AP_Motors: fixed heli RSC output range and float conversion
...
adds H_RSC_PWM_MIN, H_RSC_PWM_MAX and H_RSC_PWM_REV
2016-06-04 18:33:36 +10:00
Ricardo de Almeida Gonzaga
2802775e7d
AP_Motors: Fix typos
2016-05-13 19:20:06 -03:00
dgrat
41661f815f
AP_Math: Replace the pythagorous* functions with a variadic template
...
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
Randy Mackay
c4b88aafef
AP_MotorsHeli: swash and tail servo objects moved into class
2016-04-01 11:59:30 +09:00
Randy Mackay
b5593431bf
AP_MotorsHeli_Single: replace collective_mid_pwm with collective_mid_pct
2016-04-01 11:59:30 +09:00
Randy Mackay
a39bbc5421
AP_MotorsHeli: servo_test in range -1 to 1
2016-04-01 11:59:30 +09:00
Randy Mackay
e1e4e37c92
AP_MotorsHeli_Single: use RSC class's get_idle_output function
...
No functional change
2016-04-01 11:59:30 +09:00
Randy Mackay
2cdc5da226
AP_MotorsHeli_Single: rotor speed functions in 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
68945df45d
AP_MotorsHeli_Single: write_aux uses 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
f2fc39943e
AP_MotorsHeli_Single: remove unused delta_phase_angle
2016-04-01 11:59:30 +09:00
Randy Mackay
27fed39671
AP_MotorsHeli_Single: remove roll_scalar, pitch_scalar
2016-04-01 11:59:30 +09:00
Randy Mackay
71866be652
AP_MotorsHeliSingle: move_yaw in -1 to +1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
f6120b801b
AP_MotorsHeliSingle: move_actuators in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
879e12ba43
AP_MotorsHeli_Single: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
d2a1cdf906
MotorsHeli: replace throttle_control_input with throttle_in
...
throttle_control_input was 0 to 1000 range, throttle_in is 0 to 1
2016-04-01 11:59:30 +09:00
Peter Barker
a66da7be00
AP_Motors: correct parameter documenation
2016-03-17 16:10:10 +11:00
dgrat
5148e41c1a
AP_Math: Cleaned macro definitions
...
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03:00
Andrew Tridgell
7c9ee9363b
AP_Motors: added rc_map_mask() function
2016-01-06 22:09:40 +11:00
Andrew Tridgell
dfccf8f713
AP_Motors: also wrap set_freq and enable_ch for motor mapping
2016-01-06 22:09:40 +11:00
Andrew Tridgell
d31ba2b380
AP_Motors: added rc_write function
...
this is intended to make remapping motors and rescaling output easier
2016-01-04 16:56:54 +11:00
Andrew Tridgell
79c90d37f6
AP_Motors: apply HELI_RSC output type if available
2016-01-04 16:14:09 +11:00
Don Gagne
ed7cd8d3f4
AP_Motors: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Robert Lefebvre
3a13db9333
AP_MotorsHeli: Add more parameter checks.
2015-12-07 14:51:42 +09:00
Andrew Tridgell
47b9f6598a
AP_Motors: allow change to heli rotor speed controls while armed
...
this helps a lot with tuning for gas helis
2015-11-27 15:12:03 +09:00
Robert Lefebvre
b89b0d7f9e
AP_MotorsHeli_Single: Move Servo_Test static variables to be class members
2015-11-12 19:37:37 +09:00
Robert Lefebvre
bb7f8c1999
AP_MotorsHeli: Create Servo Test functionality
2015-11-12 19:37:34 +09:00
Robert Lefebvre
eeb544d098
AP_MotorsHeli: Create SV_MAN=5=Oscillate servo setup mode.
2015-11-12 19:37:33 +09:00
Robert Lefebvre
22729e6927
AP_MotorsHeli: Change servo manual #defines into enum
2015-11-12 19:37:29 +09:00
Robert Lefebvre
750728fa1e
AP_MotorsHeli_Single: Add motor enable aux output functionality
2015-11-12 19:37:28 +09:00
Jolyon Saunders
ca28a49fa6
AP_Motors: Circular swash-plate limits for AP_MotorsHeli
2015-11-12 19:37:24 +09:00
Lucas De Marchi
831d8acca5
Remove use of PROGMEM
...
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:
git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'
The 2 commands were done so we don't leave behind spurious spaces.
AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Randy Mackay
ca942f39dd
AP_Motors_Heli: remove unused allow_arming check
2015-10-27 09:14:40 +09:00
Lucas De Marchi
f43f6c53f7
AP_Motors: Group writes to motors
...
Surround calls to rcout->write() with rcout->cork() and rcout->push().
If the RCOutput implementation allows the writes are grouped and only
sent together to the underlying hardware.
2015-10-06 10:42:18 +11:00
Lucas De Marchi
43268b9822
AP_MotorsHeli: get rid of _motor_to_channel_map
2015-09-29 12:00:18 +09:00
Andrew Tridgell
9da2b2b430
AP_Motors: added H_GYR_GAIN_ACRO
2015-09-25 12:30:33 +10:00
Randy Mackay
e3ff4ed9c4
MotorsHeli: integrate RotorControlState
2015-08-31 11:43:59 +09:00
Robert Lefebvre
bde43412d8
AP_MotorsHeli: Fix RSC Mode 3
2015-08-31 11:43:55 +09:00
Robert Lefebvre
38ccd6e04f
AP_MotorsHeli_RSC: Fix tail_type control
2015-08-31 11:43:54 +09:00
Robert Lefebvre
535da1d79a
AP_MotorsHeli_Single: DDVPT to use it's own ramp and runup times
2015-08-31 11:43:51 +09:00
Robert Lefebvre
28318c4116
AP_MotorsHeli: Move Output functions into parent class
2015-08-31 11:43:50 +09:00
Robert Lefebvre
84102c3e3f
AP_MotorsHeli: Rework how servo setup is done.
2015-08-31 11:43:49 +09:00
Robert Lefebvre
345663f705
AP_MotorsHeli: Simplify servo init/reset
2015-08-31 11:43:48 +09:00
Robert Lefebvre
b11600aebe
AP_MotorsHeli: Move set_delta_phase_angle into _Single class
2015-08-31 11:43:47 +09:00
Robert Lefebvre
3756c6b3f3
AP_MotorsHeli: Create RSC Throttle Curve mode for controlling gas engines.
2015-08-31 11:43:45 +09:00
Robert Lefebvre
f853979816
AP_MotorsHeli: run RSC Control function in Output Min function
...
Move Output_Min() function into Heli_Single class as it will eventually be overloaded by other helicopter class types.
2015-08-31 11:43:44 +09:00
Robert Lefebvre
315f0408ae
AP_MotorsHeli: RSC controller to use speed ramp as simple float scalar
2015-08-31 11:27:52 +09:00
Robert Lefebvre
91c7663ca2
AP_MotorsHeli: Set range of new RSC Servo object.
2015-08-31 11:27:51 +09:00
Robert Lefebvre
cefa0c28a6
AP_MotorsHeli: RSC Mode 0 no longer a valid mode
2015-08-31 11:27:48 +09:00