Leonard Hall
666a92ae2f
AP_Motors: set_throttle accepts 0 to 1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
3c74b4cc69
Motors: add get_roll_thrust which returns roll input in range 0 to 1
...
Also added get_pitch_thrust, get_yaw_thrust
2016-04-01 11:59:30 +09:00
Peter Barker
a66da7be00
AP_Motors: correct parameter documenation
2016-03-17 16:10:10 +11:00
Lucas De Marchi
7d9153feb8
AP_Motors: replace header guard with pragma once
2016-03-16 18:40:42 +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
Jonathan Challinger
9a09a86bb8
AP_Motors: add AP_MOTORS_DENSITY_COMP_DISABLED option
2016-01-27 09:18:09 +09:00
Gustavo Jose de Sousa
c2e3f05dbf
waf: ardupilotwaf: prefix build context methods with ap_
...
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
3d22490397
waf: examples: use methods from bld instead of ardupilotwaf
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
d281067bcc
waf: make example binaries be placed in 'examples' dir
...
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Andrew Tridgell
b187a0c6eb
AP_Motors: added quadplane frame type
...
this puts the motors on outputs 5 to 8, to leave the first 4 for the
plane
2016-01-09 07:38:51 +11:00
Randy Mackay
b742ee9cfb
AP_Motors: fix example sketch
2016-01-08 18:36:47 +09:00
Randy Mackay
6c458b07cb
MotorsHeli_RSC: resolve compiler warning re init order
2016-01-07 12:31:49 +09: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
77af00c5e1
AP_Motors: allow arbitrary mapping of channels on multirotors
...
using RCn_FUNCTION with motor1, motor2 etc
2016-01-06 22:09:40 +11:00
Andrew Tridgell
1b682e3c8f
AP_Motors: swash servos are output only
2016-01-05 06:41:51 +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
Andrew Tridgell
e1f4814068
AP_Motors: only set output side of range for RSC
2016-01-04 11:23:38 +09:00
Jonathan Challinger
b803907163
AP_Motors: fix example build
2015-12-29 10:46:35 -08:00
Lucas De Marchi
8d252955f5
AP_Motors: don't link unused AP_Curve library
2015-12-28 10:23:23 -02:00
Lucas De Marchi
a096703b06
Global: don't link with AP_Progmem
...
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02: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
Lucas De Marchi
c9d1456a66
AP_Motors: remove unused AP_ADC_AnalogSource
2015-12-03 13:32:43 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +11:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02: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
Caio Marcelo de Oliveira Filho
513f4fe986
AP_Motors: example uses millis/micros/panic functions
2015-11-20 12:32:16 +09:00
Andrew Tridgell
8f4ce7f20b
build: removed all nocore.inoflag files
...
these were APM2 specific
2015-11-16 08:05:17 +11: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
4443ca9602
AP_MotorsHeli: Yaw servo to move when using SV_MAN param for setup.
2015-11-12 19:37:32 +09:00
Robert Lefebvre
c2dff8749e
AP_MotorsHeli: Change SV_MAN=2=Center to output _col_mid_pwm instead of 0 collective
2015-11-12 19:37:31 +09:00
Fredrik Hedberg
212eb85ff2
AP_MotorsHeli: Add min and max collective to manual servo modes
2015-11-12 19:37:30 +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
Fredrik Hedberg
5fd7fe3e53
AP_Motors: Add manual servo override to center swash-plate for set-up in AP_MotorsHeli.
2015-11-12 19:37:25 +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
ca4ae1c9e0
AP_Motors: remove check for AVR CPUs
...
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
5244559010
Minimize AP_Progmem.h includes
...
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.
In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi
20c6ffc5e3
Replace use of UARTDriver::printf_P() with UARTDriver::printf()
...
This also starts to show warnings on places that were already using
wrong printf format strings.
2015-10-30 14:35:25 +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
Lucas De Marchi
2c38e31c93
Remove use of PSTR
...
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.
This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.
AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Randy Mackay
ca942f39dd
AP_Motors_Heli: remove unused allow_arming check
2015-10-27 09:14:40 +09:00
Caio Marcelo de Oliveira Filho
417651b1dc
AP_Motors: remove unnecessary board includes from examples
2015-10-21 09:16:12 +11:00
Caio Marcelo de Oliveira Filho
ec52df991c
build: compile only the HAL files needed by the board
...
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
2e464a53c2
AP_HAL: make code not depend on concrete HAL implementations
...
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.
A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.
The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.
Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.
The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11: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
e938075581
AP_MotorsCoax: get rid of _motor_to_channel_map
2015-09-29 12:01:41 +09:00
Lucas De Marchi
ec4ebfde83
AP_MotorsSingle: get rid of _motor_to_channel_map
2015-09-29 12:01:28 +09:00
Lucas De Marchi
537599c01b
AP_MotorsTri: get rid of _motor_to_channel_map
2015-09-29 12:01:14 +09:00
Lucas De Marchi
1572c9d4f4
AP_MotorsMatrix: get rid of _motor_to_channel_map
2015-09-29 12:00:56 +09:00
Lucas De Marchi
43268b9822
AP_MotorsHeli: get rid of _motor_to_channel_map
2015-09-29 12:00:18 +09:00
Lucas De Marchi
7ea141b774
AP_Motors_Multi: get rid of _motor_to_channel_map
2015-09-29 11:59:48 +09:00
Lucas De Marchi
d97d97dc54
AP_Motors: get rid of _motor_to_channel_map
...
This was only used for supporting APM1. The removal was mostly automatic
with:
sed -i 's/pgm_read_byte(&_motor_to_channel_map\[\([^]]*\)\])/\1/g' libraries/AP_Motors/*.cpp
sed -i 's/_motor_to_channel_map\[\([^]]*\)\]/\1/g' libraries/AP_Motors/*.cpp
And then remove references to MOTOR_TO_CHANNEL_MAP and
_motor_to_channel_map and make sure the variable used in shifts is
unsigned
2015-09-29 11:59:25 +09:00
Andrew Tridgell
f22a1d3e6d
AP_Motors: display message in heli parameter_check()
2015-09-25 12:30:34 +10:00
Andrew Tridgell
9da2b2b430
AP_Motors: added H_GYR_GAIN_ACRO
2015-09-25 12:30:33 +10:00
Randy Mackay
1024790633
MotorsMulti: add throttle_max accessor
2015-09-07 15:10:02 +09:00
Randy Mackay
e3ff4ed9c4
MotorsHeli: integrate RotorControlState
2015-08-31 11:43:59 +09:00
Randy Mackay
cb47311416
MotorsHeli_RSC: add RotorControlMode enum
2015-08-31 11:43:58 +09:00
Randy Mackay
72efc85ee8
MotorsHeli_RSC: RotorControlState enum
2015-08-31 11:43:57 +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
Robert Lefebvre
981c96d8bc
AP_MotorsHeli: Add more parameter checks
2015-08-31 11:27:47 +09:00
Robert Lefebvre
ed08e9d531
AP_MotorsHeli_RSC: Split out rotor speed estimate into it's own function
2015-08-31 11:27:46 +09:00
Robert Lefebvre
064cc63512
AP_MotorsHeli: Colyaw function to check if rotor speed control is above idle
2015-08-31 11:27:45 +09:00
Robert Lefebvre
77e4bf39aa
AP_MotorsHeli: rework RSC output() function to implement idle speed function
...
Also, split out speed_ramp function
2015-08-31 11:27:44 +09:00
Robert Lefebvre
c3e7eed299
AP_MotorsHeli_Single: Fix recalc_scalars function
2015-08-31 11:27:42 +09:00
Robert Lefebvre
214d60abb9
AP_MotorsHeli: Create RSC_IDLE param
2015-08-31 11:27:41 +09:00
Robert Lefebvre
27f8d6bcd5
AP_MotorsHeli: Change RSC output() function into a state machine.
2015-08-31 11:27:40 +09:00
Robert Lefebvre
10b0be9e75
AP_MotorsHeli: Fully detail tradheli output functions and move manual servo handling
2015-08-31 11:27:39 +09:00
Robert Lefebvre
7dda0f651a
AP_MotorsHeli: Rename tradheli servo objects for clarity
2015-08-31 11:27:38 +09:00
Robert Lefebvre
457d939e77
AP_MotorsHeli: Update includes so that it builds
2015-08-31 11:27:37 +09:00
Fredrik Hedberg
e6119cf51f
AP_Motors: Fix param indices in AP_MotorsHeli.
2015-08-31 11:27:36 +09:00
Fredrik Hedberg
411947ea7c
AP_Motors: Rename output_yaw to move_yaw in AP_MotorsHeli_Single.
2015-08-31 11:27:35 +09:00
Fredrik Hedberg
1e8be73a27
AP_Motors: Fix formatting in AP_MotorsHeli_RSC.
2015-08-31 11:27:34 +09:00
Fredrik Hedberg
e6957df54a
AP_Motors: Fix param range comment in AP_MotorsHeli.
2015-08-31 11:27:33 +09:00
Fredrik Hedberg
97e09fa9b0
AP_Motors: Move traditional helicopter controls into AP_MotorsHeli_Single.
...
Original commit by fhedberg, had to fix merge conflicts and now it appears I did the commit?
2015-08-31 11:27:31 +09:00
Fredrik Hedberg
af69a20ba5
AP_Motors: Break out yaw output in AP_MotorsHeli.
2015-08-31 11:27:30 +09:00
Fredrik Hedberg
feb32f40ed
AP_Motors: Break out servo init and reset in AP_MotorsHeli.
2015-08-31 11:27:29 +09:00
Fredrik Hedberg
ae9a16dc27
AP_Motors: Move rotor speed control into AP_MotorsHeli_RSC.
2015-08-31 11:27:28 +09:00
Fredrik Hedberg
1bb6b65ce0
AP_Motors: Use C++11 initializers in AP_MotorsHeli.
2015-08-31 11:27:27 +09:00
Leonard Hall
c357cb8f84
Copter: increase default thrust expo to 0.65
2015-08-23 16:42:05 +09:00
Gustavo Jose de Sousa
1e619c6c59
AP_Motors: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:38:19 +10:00
Randy Mackay
f009c2ddb9
Motors_Multicopter: add MOT_THR_MIX_MAX parameter
...
Allows controlling the prioritisation of throttle vs attitude control
during active flight
2015-08-07 17:39:09 +09:00
Leonard Hall
1a583c5382
AP_Motors: calc_roll_pwm based on throttle pwm range
2015-08-03 14:12:49 +09:00
Randy Mackay
5032cf9fbc
Copter: init multicopter flags
...
Resolves coverity warning
Also fixed indentation
2015-07-25 14:00:29 +09:00
Randy Mackay
e31f2d26c4
MotorsMulticopter: move get_hover_throttle_as_pwm to protected
...
No functional change
2015-07-21 16:27:04 +09:00
Randy Mackay
c7c6228b5d
MotorsMulticopter: remove virtual from set_yaw_headroom
2015-07-21 16:27:01 +09:00
Randy Mackay
4843be49de
AP_MotorsTri: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:48 +09:00
Randy Mackay
f906934dfa
AP_MotorsSingle: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:45 +09:00
Randy Mackay
112e934072
AP_MotorsMatrix: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:43 +09:00
Randy Mackay
b1a4a6bf0a
AP_Motors_Coax: remove call to empty parent Init
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:40 +09:00
Randy Mackay
4d1dfd94f5
AP_MotorsMulticopter: multicopter features moved in from parent
...
Also rename from multirotor to multicopter
2015-07-21 16:25:37 +09:00
Randy Mackay
7355ac9cb8
AP_MotorsHeli: implement empty slow start method
2015-07-21 16:25:34 +09:00
Randy Mackay
a3fab10ef4
AP_MotorsHeli: init roll_radio_passthrough
2015-07-21 16:25:31 +09:00
Randy Mackay
c9dedbd3b2
AP_Motors: remove multicopter only features
...
Also rename uses of Multirotor to Multicopter
2015-07-21 16:25:28 +09:00
Robert Lefebvre
abb6eba291
AP_MotorsHeli: Change allow_arming check to use _rotor_speed_estimate
...
In future, this will be used to check actual rotor speed (measured) if available, to prevent trying to arm with the rotor spinning.
2015-07-21 16:25:21 +09:00
Robert Lefebvre
9fcbc77ce0
AP_MotorsHeli: Create rotor_speed_above_critical accessor
2015-07-21 16:25:11 +09:00
Robert Lefebvre
992c9c75bb
AP_MotorsHeli: Create parameter_check method.
2015-07-21 16:25:04 +09:00
Robert Lefebvre
e2fe640e6c
Copter: Clean up helicopter allow_arming() function
2015-07-21 16:24:58 +09:00
Robert Lefebvre
61d6c5aa1d
AP_Motors: Creation of AP_Motors_Multirotor class
2015-07-21 16:24:38 +09:00
Randy Mackay
8225e58454
AP_Motors: throttle_min method in 0 to 1000 range
...
Previously the pwm range value was returned. This value is only used by
the multicopter attitude controller's angle boost function.
2015-07-20 20:44:46 +09:00
Randy Mackay
6bf6442396
MotorsMatrix; protect against divide by zero
...
This should never happen but just to be safe
2015-07-20 20:44:43 +09:00
Randy Mackay
fa60c3dce8
MotorsCoax: fix output_armed_stabilized min thr limit
2015-07-20 20:44:36 +09:00
Randy Mackay
8a308205ce
MotorsSingle: fix output_armed_stabilized min thr limit
2015-07-20 20:44:32 +09:00
Randy Mackay
bd9a605086
MotorsTri: fix output_armed_stabilized min thr limit
...
_min_throttle is in the pwm range but was being used as if in the 0 to
1000 range
2015-07-20 20:44:23 +09:00
Randy Mackay
e53c46bd8f
MotorsMatrix: fix output_armed_stabilized min thr limit
...
_min_throttle was being used as if it were in the 0 to 1000 range when
in fact it is in the pwm range. This meant the lower limit was too low.
2015-07-20 20:44:14 +09:00
Robert Lefebvre
e1902e2289
AP_MotorsHeli: Remove unused _dt variable.
2015-07-14 20:13:43 +09:00
Robert Lefebvre
11214b3414
AP_Motors: move constraints to set_throttle
2015-06-22 13:52:59 +09:00
Robert Lefebvre
0c92565d23
AP_MotorsHeli: add Critical Rotor Speed param, use to switch off runup_complete
2015-06-19 15:10:53 +09:00
Robert Lefebvre
3ad6700c5d
AP_MotorsHeli: add getters for rotor speed
2015-06-19 15:10:51 +09:00
Robert Lefebvre
8b917b82ee
AP_MotorsHeli: Simplify set_desired_rotor_speed function definition
2015-06-19 15:10:50 +09:00
Robert Lefebvre
79e8c8f7f7
AP_MotorsHeli: whitespace fixes
2015-06-19 15:10:47 +09:00
Randy Mackay
2849430341
AP_Motors: init flags
...
resolves coverity issue
2015-06-08 14:46:16 +09:00
Andrew Tridgell
d746e8fa29
AP_Motors: mark examples as nobuild
...
waiting for fix from Rob
2015-06-01 17:27:33 +10:00
Andrew Tridgell
89baf2bdf1
AP_Motors: convert example from .pde to .cpp
2015-06-01 17:07:05 +10:00
Robert Lefebvre
1424b17a83
AP_Motors_Heli: Change default RSC_SETPOINT to 700
2015-05-29 17:46:25 +09:00
Robert Lefebvre
d24664ccf9
AP_MotorsHeli: Semantic change. Motor Runup to Rotor Runup
2015-05-29 17:46:18 +09:00
Robert Lefebvre
65ca09600c
AP_Motors: Heli eliminate _dt member and fix rsc_runup calculation
2015-05-29 17:46:09 +09:00
Randy Mackay
d777166c6f
AP_MotorsTri: revert tail servo to Ch7
2015-05-25 22:27:38 +09:00
Randy Mackay
1a1fa7ca4b
AP_MotorsHeli: add comment to avoid param conflict
2015-05-25 22:13:49 +09:00
Randy Mackay
4c94a69e33
AP_MotorsCoax: resolve param conflict with TradHeli
2015-05-25 22:13:47 +09:00
Randy Mackay
78b49fb4c6
AP_MotorsSingle: resolve param conflict with TradHeli
...
Also rename servo reverse parameters to be consistent with tricopter
2015-05-25 22:13:45 +09:00
Randy Mackay
8dc7cf7fa8
AP_MotorsTri: YAW_SV_REV values -1 or +1
...
Also resolve parameter conflict with TradHeli
2015-05-25 22:13:43 +09:00
Randy Mackay
71e4bccecb
AP_Motors: init members in constructor
...
Also add f to end of float constants
2015-05-25 22:13:41 +09:00
Robert Lefebvre
b8181b6b90
AP_Motors: RCMAP fix
...
Remove all RC Input channels passed as reference into AP_Motors. All input handling self-contained inside AP_Motors.
Rework Tricopter to use internal servo calcs.
2015-05-25 22:13:32 +09:00
Jonathan Challinger
28731d2bdc
AP_Motors: add throttle filter input constraint from -100 to 1100
2015-05-22 16:12:27 +09:00
Robert Lefebvre
73bafa131e
AP_MotorsHeli: Overload output()
...
To protect it from future interference from Multirotor code.
2015-05-22 09:38:23 +09:00
Robert Lefebvre
d3ce68a8ca
AP_MotorsHeli: Overload update_throttle_filter()
...
Do not reset filter to zero when disarmed to allow collective pitch servo movement.
2015-05-22 09:38:20 +09:00
Randy Mackay
3d9a6a69e2
MotorsHeli: COLYAW to float
2015-05-08 14:14:36 +09:00
Randy Mackay
edfa206bb8
Motors_Heli: nest heli params
2015-05-08 14:14:35 +09:00
Randy Mackay
68b05a4ca2
AP_Motors: is_throttle_mix_min returns bol
2015-05-08 14:14:32 +09:00
Leonard Hall
0f894ac1a8
AP_Motors: Rename and move Throttle Mix / Comp
2015-05-08 14:14:17 +09:00
Andrew Tridgell
2e57c62ebb
AP_Motors: fix for HAL_SITL rename
2015-05-05 09:45:55 +10:00
Randy Mackay
b223e90ef6
AP_Motors: fix example sketches
2015-05-01 20:58:20 +09:00
Randy Mackay
0acc06d713
AP_Motors: minor comment for interlock
2015-05-01 14:30:45 +09:00
Robert Lefebvre
1a482de5e2
AP_MotorsHeli: Overload output_armed_zero_throttle
2015-05-01 14:30:25 +09:00
Robert Lefebvre
6bdace30d2
AP_Motors: Add throttle interlock functionality
...
AP_MotorsMatrix's output_armed_zero_throttle uses output_min default from base class
2015-05-01 14:30:24 +09:00
Jonathan Challinger
348001e786
AP_Motors: add get_throttle_warn function
2015-05-01 12:56:11 +09:00
Randy Mackay
bae1722946
AP_Motors: get_compensation_gain gets div-by-zero check
2015-04-29 14:36:22 +09:00
Jonathan Challinger
41ae7207c7
AP_Motors: scale roll/pitch/yaw gain for air density
2015-04-29 14:36:15 +09:00
Jonathan Challinger
e2ba351149
AP_Motors: refactor apply_thrust_curve_and_volt_scaling
2015-04-29 14:36:12 +09:00
Jonathan Challinger
a07b322d31
AP_Motors: set_throttle takes a float
2015-04-24 16:30:45 +09:00
Tom Pittenger
a5ffadf201
AP_Motors: fix compile warnings re float constants
2015-04-24 14:04:00 +09:00
Jonathan Challinger
4993fd4d71
AP_Motors: use new lowpass filter
2015-04-17 10:46:47 +09:00
Jonathan Challinger
e80776f1f5
AP_Motors: remove MOT_THR_FILT parameter and add interface to configure filter
2015-04-16 21:00:01 +09:00
Jonathan Challinger
8e442675a7
AP_Motors: introduce set_stabilize(bool), specifies whether torque demands should be output
2015-04-16 20:59:40 +09:00
Jonathan Challinger
bc2afb31dd
AP_Motors: virtual not necessary in child class
2015-04-16 20:59:37 +09:00
Jonathan Challinger
a2c69fe90d
AP_Motors: add optional motor output throttle filter
2015-04-16 20:59:31 +09:00
Leonard Hall
88be3d67e7
AP_Motors: add get for throttle comp
2015-04-16 13:29:50 +09:00
Leonard Hall
791fbcf9b3
AP_Motors_Class: time constants of throttle comp
2015-04-16 13:29:46 +09:00
Andrzej Zaborowski
132cdc4916
Motors: Use _motor_to_channel_map in tricopter consistently.
...
In AP_MotorsTri.cpp the AP_MOTORS_MOT_1, _2 and _4 constants are
always mapped to actual output channels through _motor_to_channel_map
while the _CH_TRI_YAW is not, but there were a few inconsistencies
in this that could lead to things like PWM min and max values being
set on wrong channels.
It looks like all in all _motor_to_channel_map being in PROGMEM
probably doesn't help save memory and I'm not sure how useful it is
in the first place but regardless the usage should be consistent.
2015-04-09 11:43:22 +09:00
Jonathan Challinger
1828515b3b
AP_Motors: bug fix to _batt_voltage_filt
2015-04-01 10:15:06 -07:00
Jonathan Challinger
89cdd02f58
AP_Motors: remove duplicate get_throttle function
2015-04-01 10:15:05 -07:00
Jonathan Challinger
0e53c0a892
AP_Motors: make output_armed() and output_disarmed() pure virtual
2015-04-01 10:14:38 -07:00
Randy Mackay
385b3744ea
MotorTri: check servo_out above min_throttle
2015-03-16 14:49:38 +09:00
Randy Mackay
f9e29a7f77
MotorSingle: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:37 +09:00
Randy Mackay
8de5d16f96
MotorCoax: check servo_out above min_throttle
...
We need to recalc radio_out or the motors could fall below min throttle
2015-03-16 14:49:35 +09:00
Leonard Hall
31a55b2bd6
MotorsMatrix: fix div by zero by ensuring throttle is above min
2015-03-16 14:49:31 +09:00
Randy Mackay
5e26450a6f
AP_Motors: make THR_LOW_COMP a variable instead of param
2015-03-10 12:20:27 +09:00
Leonard Hall
007c96a3d8
AP_Motors: Low throttle compensation setters
2015-03-10 12:20:21 +09:00
Leonard Hall
6275ee0289
AP_Motors: Check for battery voltage reading fail
2015-03-10 12:20:19 +09:00
Leonard Hall
3ad9b1a06b
AP_MotorsMatrix: remove incorrect throttle limit flag
2015-03-06 14:02:55 +09:00
Jonathan Challinger
d148039f65
AP_Motors: stricter batt_voltage misconfiguration check
2015-03-06 14:02:49 +09:00
Leonard Hall
11a19803e0
Motors: add accessors for motor logging
...
accessor include get_roll, get_pitch, get_yaw, throttle input
2015-03-06 14:01:58 +09:00
Randy Mackay
f5f7cd540f
Motors: fix example sketches
2015-03-03 21:39:24 +09:00
Leonard Hall
cf8c211c35
Motors: fix thrust curve and add constraint
2015-03-03 15:49:07 +09:00
Leonard Hall
3e960dfc3b
Motors: add get_voltage_comp_gain
...
This clarifies that lift_max is the inverse of the battery voltage gain
compensation
2015-03-03 15:49:04 +09:00
Leonard Hall
997c6f0868
Motors: move battery resistance calcs to parent
...
Moving from MotorsMatrix to parent Motors class allows these to be used
from other frame types
Also initialise battery resistance
2015-03-03 15:49:02 +09:00
Randy Mackay
09d7cdbc23
Motors: batt_voltage_filt becomes filter object
2015-03-03 15:49:00 +09:00
Leonard Hall
529c6fed3a
Motors: move over current throttle limiting to parent
...
Moving from MotorsMatrix to parent Motors class allows this to be used
from other frame types
2015-03-03 15:48:54 +09:00
Randy Mackay
812473fd9a
MotorsMatrix: use get_hover_throttle_as_pwm
2015-03-03 15:48:52 +09:00
Randy Mackay
1a9d3125ef
Motors: _hover_out to pct * 10 instead of pwm
2015-03-03 15:48:50 +09:00
Leonard Hall
6b7bdf64bd
Motors: move batt voltage lift_max calcs to parent
...
Moving from MotorsMatrix to parent Motors class allows them to be used
by other frame types
Also added sanity check of batt_voltage_min
2015-03-03 15:48:48 +09:00
Randy Mackay
c549b58eb7
MotorsMatrix: remove check of throttle_curve_enabled
2015-03-03 15:48:46 +09:00
Randy Mackay
5fb3de48ee
MotorsTri, Single, Coax: use new thrust curve
2015-03-03 15:48:44 +09:00
Randy Mackay
2eaa4a8445
Motors: remove old throttle curve
2015-03-03 15:48:42 +09:00
Leonard Hall
751dbb7df7
Motors: move thrust curve and volt scaling to parent
...
Moving from MotorsMatrix to Motors allows it to be used from other frames
2015-03-03 15:48:41 +09:00
Randy Mackay
80b498f598
Motors: add loop_rate to test sketch
2015-03-03 15:48:39 +09:00
Randy Mackay
7ab76dbd0e
Motors: add loop_rate to constructor for all frames
2015-03-03 15:48:34 +09:00
Randy Mackay
77d4b3a2ae
Motors: add loop_rate to constructor
2015-03-03 15:48:32 +09:00
Leonard Hall
ec9d7dd99e
Motors: minor comment fixes
2015-03-03 15:48:30 +09:00
Leonard Hall
1d0ee68116
Motors: over current throttle limiting
2015-03-03 15:48:28 +09:00
Randy Mackay
f6523c0997
Motors: Add THR_LOW_CMP to adjust low throttle inputs affect on attitude control
2015-03-03 15:48:21 +09:00
Leonard Hall
83e3e2fec2
Motors: thrust curve and voltage scaling for matrix supported frames
2015-03-03 15:48:19 +09:00
Leonard Hall
5b0bd49ff2
Motors: configurable yaw headroom for matrix frames
2015-03-03 15:48:15 +09:00
Randy Mackay
3550e52560
MotorsTri: add 80% throttle limit
...
This limit was moved from the main copter flight code to the motors
library in order that the throttle_upper flag could be set properly.
2015-02-02 22:31:06 +09:00
Randy Mackay
38702a7e23
Motors: fix example sketch
2015-01-28 17:15:45 +09:00
Robert Lefebvre
a2958e2ffd
AP_MotorsSingle: Fix parameter comments.
2014-11-08 10:18:03 +09:00
Randy Mackay
677f6cce7f
AP_Motors: reduce slow-start increment for fast CPUs
2014-10-18 20:54:08 +09:00
Randy Mackay
6690aff305
AC_Motors: param description addition
2014-10-14 12:43:22 +09:00
Randy Mackay
793ed20534
CoaxCopter: set throttle upper and lower flags
2014-10-04 23:49:19 +09:00
Randy Mackay
57f6d0ff60
SingleCopter: set throttle upper and lower flags
2014-10-04 23:49:16 +09:00
Randy Mackay
85fb4b122a
MotorsMatrix: _min_throttle interpreted as 0 ~ 1000 range for throttle_lower flag
...
Also trigger throttle_upper flag when throttle in reaches 1000
2014-10-04 23:49:14 +09:00
Randy Mackay
91e5201439
Tri: _min_throttle interpreted as 0~1000 range for throttle_lower flag
...
limit.throttle_lower flag becomes true when the throttle passed into the
motors lib (which is in the 0 ~ 1000 range) is below _min throttle.
This makes the interpretation of the THR_MIN parameter consistent
between the main code (which uses 0 ~ 1000 range) and the motors lib
(which previously used the RC3_MIN ~ RC3_MAX range).
The remaining problem however is that the output of the motors continues
to use THR_MIN as if it were a pwm. I don't believe this is a dangerous
problem however.
2014-10-04 23:49:11 +09:00
Jason Short
b57539a9ad
AP_Motors: throttle_pass_through accepts pwm
2014-09-19 22:21:45 +09:00
NullVoxPopuli
c672b3e324
Copter: Added support for V-Shaped and A-Shaped VTail Quadcopter frames
...
Signed-off-by: NullVoxPopuli <LPSego3+dev@gmail.com>
2014-08-18 14:31:01 +09:00
Randy Mackay
9b9f6cd47a
AC_MotorsHeli: init member to resolve compiler warning
2014-08-14 11:27:33 +09:00
Andrew Tridgell
2e83555892
AP_Motors: fixed example build
2014-08-13 21:48:35 +10:00
Randy Mackay
5596001d39
AC_Motors: make get_throttle_out const
2014-08-04 21:04:09 +09:00
Randy Mackay
b665ebd7a0
MotorsMatrix: implement get_motor_mask
2014-07-26 16:33:24 +09:00
Randy Mackay
d73605ece8
MotorsCoax: implement get_motor_mask
2014-07-26 16:33:22 +09:00
Randy Mackay
72c3e9cc72
TradHeli: implement get_motor_mask
2014-07-26 16:33:20 +09:00
Randy Mackay
6d99524e56
MotorsSingle: implement get_motor_mask
2014-07-26 16:33:18 +09:00
Randy Mackay
6ae855c1cf
MotorsTri: implement get_motor_mask
2014-07-26 16:33:16 +09:00
Randy Mackay
7749bfe82c
Motors: add get_motor_mask method
...
This returns a bitmask of output channels that are used by the motors
library. This allows removing the chance of a do-set-servo interfering
with a motor or control surface used to control the vehicle.
2014-07-26 16:33:14 +09:00
Andrew Tridgell
d9f20c6785
AP_Motors: fixed example build
2014-07-25 17:54:51 +10:00
Randy Mackay
517732a34d
AP_Motors: add get_throttle_out accessor
2014-07-18 11:39:27 +09:00
Andrew Tridgell
e448168ba6
AP_Motors: fixed example build
2014-07-14 10:41:16 +10:00
bugobliterator
e6f27c9fac
AP_Motors_Time_test.pde: use hal.scheduler->micros instead of gettimeofday
2014-07-14 09:31:59 +10:00
bugobliterator
fb7ca9bb3c
AP_Motors:add AP_Motors_Time_test
2014-07-14 09:29:45 +10:00
Víctor Mayoral Vilches
d43c1cc544
AP_Motors_test: Adapt to test bench available
2014-07-14 09:29:08 +10:00
Robert Lefebvre
92bdf24dba
AP_MotorsHeli: Add To-Do. Swash setup hasn't seemed to work right for a while, this might be why. Confirm later.
2014-07-13 17:11:22 +09:00
Robert Lefebvre
789b1018fc
AP_MotorsHeli: Change set_delta_phase_angle so that it forces recalculation of collective factors.
2014-07-08 20:18:39 +09:00
Robert Lefebvre
fd542e99d8
AP_MotorsHeli: Create Delta Phase Angle variable and method to set. Will be used by CCComp code.
2014-07-08 20:18:34 +09:00
Robert Lefebvre
0680b88abd
AP_MotorsHeli: Add main loop rate time variable and method. Change RSC increment calc to account for loop rate time.
2014-07-08 20:18:20 +09:00
Robert Lefebvre
979abb9fbd
TradHeli: Cause DDVP Tail Motor to stop immediately when Ch8 is 0.
2014-07-08 20:18:02 +09:00
Randy Mackay
5cc26569fc
AP_Motors: fix example sketch
2014-04-29 20:46:34 +09:00
Randy Mackay
2be99d7a92
TriCopter: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:16 +09:00
Randy Mackay
07766e55f9
SingleCopter: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:14 +09:00
Randy Mackay
3610cfe24c
TradHeli: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:13 +09:00
Randy Mackay
8f74f5b3b0
CoaxCopter: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:12 +09:00
Randy Mackay
d63d82ec17
MotorMatrix: output_test for individual motors
...
Based on original work by Nils Hogberg
2014-04-29 11:41:10 +09:00
Vizual54
11d02ea5d2
AP_Motors: output_test for individual motors
...
Modified and integrated by Randy Mackay
2014-04-29 11:36:58 +09:00
L. Preston Sego III
3ecdc4b741
Copter: Add support for V-Tail Quads
2014-04-14 14:54:02 +09:00
Randy Mackay
b78e59ea30
AP_Motors: add stability patch test to example sketch
2014-04-09 21:21:29 +09:00
Jonathan Challinger
9959a44453
AP_Motors: properly constrain thr_adj_max
2014-04-07 14:14:32 +09:00
Andrew Tridgell
efdb678e00
AP_Motors: fixed example build
2014-04-07 11:55:56 +10:00
Andrew Tridgell
866e32f059
AP_Motors: removed unused variable
2014-02-26 09:40:39 +11:00
Randy Mackay
d761ddd4af
AP_Motors: fix example sketch
2014-02-15 06:09:08 +11:00
Randy Mackay
8d6eb1eceb
MotorsMatrix: motor_to_channel_map moved to progmem
2014-02-15 05:27:50 +11:00
Randy Mackay
134289af38
TradHeli: motor_to_channel_map moved to progmem
2014-02-15 05:27:50 +11:00
Randy Mackay
1bee56877c
CoaxCopter: motor_to_channel_map moved to progmem
2014-02-15 05:27:50 +11:00
Randy Mackay
3fad8e3630
SingleCopter: motor_to_channel_map moved to progmem
2014-02-15 05:27:50 +11:00
Randy Mackay
0edf039155
AP_MotorsTri: motor_to_channel_map moved to progmem
2014-02-15 05:27:50 +11:00
Randy Mackay
96d433c63e
AP_Motors: motor_to_channel_map moved to progmem
2014-02-15 05:27:50 +11:00
Randy Mackay
415e48de19
TriCopter: use refs for all RC_Channels
2014-02-15 05:27:49 +11:00
Randy Mackay
01d30271d8
SingleCopter: use refs for all RC_Channels
2014-02-15 05:27:49 +11:00
Randy Mackay
18d3907928
TradHeli: use refs for all RC_Channels
2014-02-15 05:27:49 +11:00
Randy Mackay
cf1d6854b9
AP_MotorsMatrix: use ref for roll, pitch, yaw, thr channels
2014-02-15 05:27:49 +11:00
Randy Mackay
2f4fe3e192
AP_Motors: accessors to set roll, pitch, yaw, throttle
...
This saves 16bytes of RAM and slightly reduces the dependence upon the
RC_Channel class as the interface.
2014-02-15 05:27:49 +11:00
Randy Mackay
2c6470f87b
AP_MotorsMatrix: remove unused _num_motors
...
Saves 1 byte of RAM
2014-02-15 05:27:49 +11:00
Randy Mackay
32a0992985
MatrixMotors: motor_out array made local
2014-02-15 05:27:48 +11:00
Randy Mackay
2f3fc3a3ce
Single: remove use of motor_out array
...
Also allow fins to move when throttle at zero
2014-02-15 05:27:48 +11:00
Randy Mackay
a036009524
AP_MotorsTri: motor_out array made local
2014-02-15 05:27:48 +11:00
Randy Mackay
83321b8786
AP_Motors: remove motor_out array
...
Saves 16bytes of RAM
2014-02-15 05:27:48 +11:00
Randy Mackay
80ec61f217
TradHeli: make accessor methods const
2014-02-15 05:27:43 +11:00
Randy Mackay
48a0917670
Copter: make motors armed call const
2014-02-15 05:27:43 +11:00
Randy Mackay
a0298aee29
AP_Motors: expose throttle min and max
2014-02-15 05:27:34 +11:00
Dan Neault
262d384025
Coax: Yaw fix
...
Was using _rc_yaw servo_out instead of pwm_out to modify motors.
Corrected and less touchy in Yaw
2014-02-11 11:05:02 +09:00
Randy Mackay
14409ee20f
Copter: disable aux channels used for motors
2014-02-07 22:04:27 +09:00
Randy Mackay
7c25247c87
Copter: disable aux channel 7 for SingleCopter
...
Move servo range setup to AP_MotorsSingle
2014-02-07 22:04:26 +09:00
Randy Mackay
9b594dc5e1
Copter: disable aux channel ch7 for Tri
2014-02-07 22:04:24 +09:00
Randy Mackay
1426078cdb
TradHeli: disable aux channels 7 and 8
2014-02-07 22:04:23 +09:00
Dneault
5213ec4aa6
Coax: servos to ch1, ch2, motors to ch3, ch4
2014-02-07 12:36:19 +09:00
Randy Mackay
f60d94c4ab
Coax: remove unused servo3, servo4
...
Removed commented out code
2014-02-07 12:36:06 +09:00
Dneault
f48e106271
Copter: add coax heli support
...
Motors should be attached to RCOutputs 1 and 2, Flaps should be connected
to RC outputs 3 and 4
2014-02-07 12:36:04 +09:00
Robert Lefebvre
d441354961
TradHeli: Minor change to two param defaults
...
Also one param name in the code clarified.
2014-01-10 10:52:17 +09:00
Robert Lefebvre
782ce54a5c
TradHeli: Fix for yaw offset switching. Yaw Offset should switch on and off with the main motor, not waiting until the rotor has reached full speed.
2013-12-15 11:24:09 +09:00
Randy Mackay
343ea66cd1
Copter: add OctaQuad V frame
2013-12-12 21:17:49 +09:00
Randy Mackay
279d515e59
Copter: Y6 new motor factor fix
2013-12-12 11:57:04 +09:00
Randy Mackay
4148c4e024
TradHeli: bug fix for main rotor ramp up
...
The main rotor ramp was being held back by the rotor speed estimate
instead of being allowed to jump up to the estimate if it's lower.
Also fixed some incorrect indentation
2013-12-05 21:24:20 +09:00
Randy Mackay
8149b54807
Copter: add Y6 with all top props CW
...
Set FRAME parameter to 10
2013-12-03 23:22:14 +09:00
Randy Mackay
90937be3d4
AP_Motors: fix example sketch
2013-11-28 11:34:00 +09:00
Randy Mackay
f9e19b8006
TradHeli: remove use of motor_out array
...
No longer required for logging purposes as we have RCOU
2013-11-27 22:33:02 +09:00
Randy Mackay
851a538692
Copter: motor matrix comment change
2013-11-27 22:33:01 +09:00
Randy Mackay
652b4b4fe5
SingleCopter: motor test flaps servos in order
2013-11-27 22:33:00 +09:00
Randy Mackay
ccedf98238
Tri: call output_min at end of motors test
...
Minor change to comments
2013-11-27 22:32:49 +09:00
Randy Mackay
9f2086baf2
Copter: make motor_out array private
...
With new method of logging rc outputs access to the motor_out array is
not longer required
2013-11-27 21:55:28 +09:00
Andrew Tridgell
316ec5864e
AP_Motors: removed incorrect Makefile target
2013-11-23 18:50:55 +11:00
Randy Mackay
afbb199544
TradHeli: remove slash from parameter description
...
This may fix the issue in which the parameter descriptions are appearing
twice on the arducopter-parameters wiki page
2013-11-19 11:23:07 +09:00
Randy Mackay
330aa95769
Copter: default MOT_SPIN_ARMED to 70
2013-11-18 17:00:17 +09:00
Randy Mackay
7233a567fb
TradHeli: add accessor for phase_angle
2013-11-15 22:58:41 +09:00
Randy Mackay
c9c803ffd4
TradHeli: move STAB_COL_MIN to main parameter list
2013-11-15 22:58:32 +09:00
Randy Mackay
b71c6bfd76
TradHeli: add RSC_RUNUP_TIME param and rotor speed estimate
2013-11-15 22:58:29 +09:00
Randy Mackay
bc4dba0eea
TradHeli: ext gyro gain range 0 to 1000
2013-11-15 22:58:26 +09:00
Randy Mackay
197fc67897
TradHeli: move pilot desired rotor speed to heli.pde
2013-11-15 22:58:24 +09:00
Randy Mackay
942c14258b
TradHeli: ramp up changes
...
Rewrote tail and main rotor ramp up methods
Moved direct drive ESC speed control into rsc_control method
Pass in ch7 servo as servo_aux to TradHeli motors object constructor
split CH7_SETPOINT parameter into GYR_GAIN and DIRECTDRIVE parameters
replaced RSC_RATE with uint8_t RSC_RAMP_TIME parameter
rename GOV_SETPOINT parameter to RSC_SETPOINT
RSC_MODE parameter description updated to indicate it controls the
source of main rotor speed
2013-11-15 22:58:13 +09:00
Robert Lefebvre
9ac051c56d
TradHeli: BugFix to ColYaw
...
Credit to Jolyon Saunders for finding this bug.
2013-11-15 22:58:11 +09:00
Robert Lefebvre
4426060ccc
TradHeli: COLYAW not applied when the motor is not running
2013-11-15 22:58:06 +09:00
Robert Lefebvre
9ae66c1773
TradHeli: add support for drive tail rotors
...
Repurposed external gyro and made it multi-funcitonal.
required PWM on Ch8 to start the motor in RSC Mode moved up from 100 to 400. This is to facilitate two-stage switching of the motors with PWM>100 starting the tail motor, and PWM>400 starting the main motor.
Additional amendments by Randy
2013-11-15 22:58:04 +09:00
Randy Mackay
7ae0d3320b
TradHeli: add landing collective min
2013-11-15 22:57:58 +09:00
Randy Mackay
1f65bb537f
TradHeli: add get_pilot_desired_collective
...
Perhaps this should be moved to the main code's heli.pde sketch
2013-11-15 22:57:51 +09:00
Randy Mackay
13a412ee21
TradHeli: make parameters and variables private
...
add accessors for variables and params required in main code
replace tabs with spaces
2013-11-15 22:57:41 +09:00
Randy Mackay
2cc48ffcd6
Copter: formatting and param description changes
2013-11-15 22:57:37 +09:00
Randy Mackay
d54b1ea446
CopterMotors: fix example sketch
2013-11-14 22:27:10 +09:00
Randy Mackay
ce045c77a4
Copter: remove unused variable from Single copter
2013-11-14 22:26:53 +09:00
Randy Mackay
14dc1a1c88
Copter: add @User and @Increment to motor params description
2013-11-13 12:28:59 +09:00
Randy Mackay
e53c57b0a6
Copter: default SPIN_WHEN_ARMED to zero
2013-11-13 12:28:01 +09:00
Randy Mackay
81d83f1c55
SingleCopter: formatting changes
...
replace tab with 4-spaces
remove blank lines
2013-11-12 23:40:29 +09:00
ssq870424
07d3f2a3c5
Copter: add support for singlecopter airframe
...
this is the newest singlecopter airframe programme.
This kind of aerial vehicles include Honeywell T-hawk and Goldeneye.
2013-11-12 23:40:27 +09:00
Robert Lefebvre
5d946be77c
TradHeli: Change user description for COLYAW parameter.
2013-11-03 12:56:59 +09:00
Randy Mackay
bb1664185f
Copter: correct @Range of MOT_TCRV_MAXPCT parameter
2013-10-30 20:53:21 +09:00
texlan
78acea820f
Copter: fix symmetry in stability patch for Tricopters
...
Removes the "Increase opposing motors by 1/2 the overage of the high
motor" logic and merely moves all 3 motors down by the same amount if
one is over out_max. This eliminates the asymmetric scaling of
the previous logic when more than one motor is over out_max. This
resolves #537
2013-10-21 20:12:53 +09:00
Randy Mackay
943d7374f6
Copter: slow start motors from 0 to min throttle
2013-10-20 14:51:35 +09:00
texlan
53553751d1
Copter: Correctly set limit.lower flags for Tricopters
...
Resolves #536
2013-10-19 23:08:25 +09:00
Randy Mackay
e0c4785b2a
Copter: OctaQuad H-frame support
2013-10-18 10:41:07 +09:00
Randy Mackay
d3fcfe669d
Copter Motors: increase MOT_SPIN_ARMED to int16
2013-09-18 13:28:01 +09:00
Andrew Tridgell
5bef6dd539
AP_Motors: fixed example build
2013-09-13 10:53:53 +10:00
Randy Mackay
0a047ae1c1
Copter Motors: increased spin-when-armed to 70
...
Changed choices to be displayed in ground stations
2013-09-12 22:36:04 +09:00
Randy Mackay
62cb5c172b
Copter Motors: add slow start feature
...
Combined armed, frame orientation and slow_start into flags bitmask
Removed ability to set max throttle because it was never used
Re-ordered class variables
2013-09-12 22:27:44 +09:00
Andrew Tridgell
97b7130bb9
libraries: update license header to GPLv3
...
we switched to GPLv3 a long time ago, but neglected to update the
per-file license headers
2013-08-30 13:01:39 +10:00
Andrew Tridgell
01387a1553
AP_Motors: fixed examples build
2013-08-30 13:01:39 +10:00
Randy Mackay
0797489ad8
Motors: use AP_Notify static flags variable
2013-08-30 13:01:35 +10:00
Randy Mackay
f8a872f01e
AP_Motors: update notify
2013-08-30 13:01:34 +10:00
Randy Mackay
8d26fb5581
Copter Motors: by default spin motors at 65 when armed
2013-07-28 18:18:52 +09:00
Randy Mackay
fe412437c2
Copter: add flags for upper and lower throttle limits
...
Freeze desired altitude when motors hit a limit
2013-07-28 18:18:39 +09:00
Randy Mackay
f3a2db195e
Copter Motors: remove old style stability patch
2013-07-25 15:34:04 +09:00
Randy Mackay
43379f20c3
Copter Motors: replace limit bitmask with structure
2013-07-21 13:58:24 +09:00
Robert Lefebvre
c812d07993
TradHeli: Creating motor_runup_complete bool which is to confirm that the heli motor is running. This will be used for advanced features in the future.
2013-07-19 16:16:08 +09:00
Robert Lefebvre
957cb094ea
TradHeli: Remove unused RSC Mode 3.
2013-07-19 16:16:06 +09:00
Randy Mackay
336357fbaf
Copter: ensure _spin_when_armed is not higher than _min_throttle
2013-07-16 15:25:57 +09:00
Randy Mackay
62f3eed4e0
Copter: fix to SPIN_ARMED parameter desciption
2013-07-16 12:59:38 +09:00
Randy Mackay
b709b90a59
Copter: implement safety spin for Tricopters
2013-07-16 12:48:01 +09:00
Randy Mackay
6477c746cd
Copter: renamed MOT_UNSAFE_THR to MOT_SPIN_ARMED
...
Removed special purpose spin_unsafe function
renamed _throttle_unsafe to _spin_when_armed and changed to an AP_Int8
2013-07-16 12:47:59 +09:00
Jonathan Challinger
2725f219cb
Copter: Warn user with motors while copter is arming
2013-07-16 12:47:51 +09:00
Jonathan Challinger
ae2b1e3b7e
AP_Motors: Added MOT_UNSAFE_THR parameter - Throttle setting used to signal that the copter is armed or otherwise unsafe to approach
2013-07-16 12:47:49 +09:00
rmackay9
073e2c9f15
ACMotors: bug fix to yaw limit
2013-07-05 13:51:59 -10:00
Randy Mackay
76028fc9d3
Copter Motors: use _min_throttle in output_test
2013-05-31 15:16:04 +09:00
Randy Mackay
28f2f87b26
Copter Motors: minor formatting change
2013-05-31 15:16:04 +09:00
Andrew Tridgell
81f7ae9108
AP_Motors: fixed indent-tabs-mode
2013-05-30 09:51:34 +10:00
Randy Mackay
ec7ee47099
Copter: scaling stability patch
2013-05-27 11:21:31 +09:00
Randy Mackay
6a65a32de2
CopterMotors: add formatting info to top of files
2013-05-20 10:48:42 +09:00
Randy Mackay
5235f4cacd
Copter: allow Tri copters to init ESCs through APM/PX4
2013-05-19 17:28:39 +09:00
Randy Mackay
610edd8f9a
ACMotors: small formatting change
2013-05-14 19:01:53 +09:00
Randy Mackay
cd5795a4ac
ACMotors: make a few more functions non-virtual
...
Saves at least 22 bytes of RAM
2013-05-14 18:23:36 +09:00
Randy Mackay
ad00e0ee1e
ACMotors: make test_order uint_8
2013-05-14 18:03:34 +09:00
Randy Mackay
88893f4209
ACMotors: make a few functions non-virtual
2013-05-14 17:41:12 +09:00
Randy Mackay
bd07b1e57b
ACMotors: remove unused get_num_motors function
...
Saves about 4 bytes of RAM
2013-05-14 17:35:27 +09:00
Randy Mackay
5bb0582854
ACMotors: ESC Calibration only for enabled motors
2013-05-14 17:07:36 +09:00
Randy Mackay
33d1129904
Copter: remove unused TB_RATIO parameter
2013-05-14 16:56:55 +09:00
Randy Mackay
7a81c41689
AP_Motors: motor_enabled array to bool
...
Also increased the default MAX_THROTTLE from 850 to 1000 but this number
is always overwritten by the main code anyway so should have no
functional impact.
2013-05-14 16:05:22 +09:00
Randy Mackay
1cfd5900a8
Copter: add support for H-quad frame
...
H-quads are like X quads but the motors spin in the opposite direction.
Having the motors reversed seems to help with yaw authority because of
the slight flex in bodies
2013-05-03 23:13:40 +09:00
Randy Mackay
cb5f8826f8
Copter: Leonard's fix for trapezoidal frame
...
We need to allow yaw_factors to be floats in the add_motor method
2013-04-25 17:52:19 +09:00
Randy Mackay
1a7cffefe6
TradHeli: change coll_out to int16_t
...
was incorrectly defined as an AP_Int16 parameter
2013-04-24 11:32:26 +09:00
Andrew Tridgell
2c05030fb1
AP_Motors: use the right constrain() function
2013-04-22 13:26:49 +10:00
Randy Mackay
a656b619f5
AP_Motors: remove auto_armed
...
redundant flag that was already held in the main code which is where it
belongs.
2013-04-17 21:28:42 +09:00
foobarbecue
c07702f46d
Update AP_MotorsOctaQuad.cpp
...
There were two "4"s in the motor test order values. Presumably a typo.
2013-04-05 11:22:56 +09:00
Randy Mackay
739e3c2b9a
Copter: adjust trapezoidal motor mixing
2013-04-04 21:46:11 +09:00
Randy Mackay
e32cbd827b
Copter: replace quad trapezoid frame with V
...
Also update motor mixing
2013-04-03 22:14:29 +09:00
Randy Mackay
39ba406957
Copter: add trapezoid frame type
...
We still need to properly define the motor mixing for the trapezoid
frame in AP_MotorsQuad.cpp
2013-03-31 12:41:02 +09:00
James Bielman
5631f865b2
Update floating point calculations to use floats instead of doubles.
...
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell
03b26c7d6d
AP_Motors: fixed setup of ESC update speeds
2013-01-10 15:52:46 +11:00
Andrew Tridgell
e7dea077b4
AP_Motors: fixed example sketch
2013-01-02 22:02:46 +11:00
Andrew Tridgell
374af1cd14
build: change from Arduino.mk to apm.mk
2013-01-02 17:29:37 +11:00
Andrew Tridgell
f91ddf5df9
AP_Motors: removed board type define
2013-01-02 15:27:58 +11:00
rmackay9
3aca61cefb
AP_Motors: remove unnecessary opposite_motor array (no longer needed with new stability patch)
2013-01-02 09:19:17 +11:00
Andrew Tridgell
a1187519a8
AP_HAL: use AP_HAL_BOARD_DRIVER in remaining test sketches
2012-12-20 14:52:37 +11:00
Pat Hickey
eb530b86e8
move Arduino.mk to /mk/Arduino.mk
2012-12-20 14:52:35 +11:00
Andrew Tridgell
7d27e420ae
AP_HAL: remove unnecessary Arduino.h includes
2012-12-20 14:52:30 +11:00
Pat Hickey
3cc204321c
AP_Motors_Class: add Progmem typedef
2012-12-20 14:52:30 +11:00
Andrew Tridgell
7582c882e6
Motors: updates for new AP_Param API
2012-12-20 14:51:39 +11:00
Pat Hickey
475da4eca4
CONFIG_HAL_BOARD - test sketches fixed up, build all passes
2012-12-20 14:51:37 +11:00
Pat Hickey
c6fe5e5340
AP_Motors: ported to AP_HAL
2012-12-20 14:51:26 +11:00
Pat Hickey
3f1d9d7f69
AP_Param: #include <AP_Param.h> fixups for libraries & sketches
...
* I mostly went through with grep and added an #include <AP_Param.h> below
every #include <AP_Common.h>. Not all of these example sketches might
strictly need AP_Param.
2012-12-20 14:51:19 +11:00
rmackay9
a38db6744f
AP_Motors: add comments for parameters
2012-12-10 21:37:20 +09:00
Robert Lefebvre
0eb57bf93d
ACM: TradHeli
...
Fix to make update_throttle_cruise work with stab_throttle scaling.
2012-12-08 15:12:39 -05:00
Robert Lefebvre
a5c4e65cdf
ACM: TradHeli
...
Fix for Rotor Speed Controller to switch on/off with Ch8 as opposed to the old way (throttle).
2012-12-04 15:09:27 -05:00
Robert Lefebvre
6b1fee767a
ACM: TradHeli
...
Creating Stab_Collective Function to allow for different collective ranges between Stabilize and other modes.
This makes for a smoother collective action in Stabilize mode with manual throttle, while still allowing full collective travel in Acro and other modes.
2012-11-26 19:37:20 -05:00
rmackay9
50a4838879
AP_Motors, AP_RangeFinder, Filter: fixes to example sketches
2012-11-08 00:29:43 +09:00
rmackay9
0159d8bd35
AP_Motors: bug fix to reached_limits so by default it returns true if any limits have been breached
2012-10-31 22:00:17 +09:00
rmackay9
c0cf2d6f38
AP_Motors: added reached_limit method which returns bit mask indicating which control inputs could not be achieved
2012-10-11 17:19:54 +09:00
rmackay9
c320938ff2
AP_MotorsMatrix: modified stability patch to sacrifice yaw first if necessary to ensure stability.
...
Resolves climb-on-yaw problem.
2012-10-09 15:48:15 +09:00
rmackay9
6ed59fba91
AP_Motors: enable throttle curve by default
2012-09-25 23:36:35 +09:00
rmackay9
bc2aa84394
AP_Motors: remove stray debug message re set-up of throttle curve
2012-09-23 12:25:31 +09:00
Robert Lefebvre
9e32d45d7b
Change to the "Stability Patch" in Motors_Matrix in order to make it cover both the upper throttle range and lower, and also to cause it to raise/lower all motors when a single motor goes out of ranges.
2012-09-19 20:43:58 -04:00
rmackay9
93ae29a3e9
ArduCopter: added throttle curve (although disabled by default) for all multicopters
2012-09-18 23:05:08 +09:00
rmackay9
9e66b555cb
ArduCopter: removed INSTANT_PWM from ArduCopter and AP_Motors library
2012-09-13 21:31:13 +09:00
uncrustify
744ad19630
uncrustify libraries/AP_Motors/AP_MotorsHeli.h
2012-08-21 19:19:52 -07:00
uncrustify
b1b1975018
uncrustify libraries/AP_Motors/AP_MotorsHeli.cpp
2012-08-21 19:19:52 -07:00
uncrustify
40dcf9e7a8
uncrustify libraries/AP_Motors/AP_MotorsOctaQuad.h
2012-08-21 19:04:07 -07:00
uncrustify
3a5b8c5482
uncrustify libraries/AP_Motors/AP_MotorsOcta.h
2012-08-21 19:04:07 -07:00
uncrustify
4a44c6a1ba
uncrustify libraries/AP_Motors/AP_MotorsTri.h
2012-08-21 19:04:07 -07:00
uncrustify
d773a9c43b
uncrustify libraries/AP_Motors/AP_Motors.h
2012-08-21 19:04:07 -07:00
uncrustify
4fe97c1e7b
uncrustify libraries/AP_Motors/AP_MotorsMatrix.h
2012-08-21 19:04:07 -07:00
uncrustify
b8cc5ac4af
uncrustify libraries/AP_Motors/AP_MotorsY6.h
2012-08-21 19:04:07 -07:00
uncrustify
4cb9f57565
uncrustify libraries/AP_Motors/AP_MotorsHexa.h
2012-08-21 19:03:59 -07:00
uncrustify
d3c856e889
uncrustify libraries/AP_Motors/AP_MotorsQuad.h
2012-08-21 19:03:59 -07:00
uncrustify
5ec922104a
uncrustify libraries/AP_Motors/AP_MotorsHexa.cpp
2012-08-21 19:03:59 -07:00
uncrustify
b982cca74e
uncrustify libraries/AP_Motors/AP_Motors.cpp
2012-08-21 19:03:59 -07:00
uncrustify
cc0c424eed
uncrustify libraries/AP_Motors/AP_MotorsY6.cpp
2012-08-21 19:03:59 -07:00
uncrustify
dc21cc1003
uncrustify libraries/AP_Motors/AP_MotorsOctaQuad.cpp
2012-08-21 19:03:59 -07:00
uncrustify
c7f8c4dfa7
uncrustify libraries/AP_Motors/AP_MotorsMatrix.cpp
2012-08-21 19:03:59 -07:00
uncrustify
6c33f81e9d
uncrustify libraries/AP_Motors/AP_MotorsOcta.cpp
2012-08-21 19:03:59 -07:00
uncrustify
41c1205f26
uncrustify libraries/AP_Motors/AP_MotorsQuad.cpp
2012-08-21 19:03:35 -07:00
uncrustify
df5d1a8aef
uncrustify libraries/AP_Motors/AP_MotorsTri.cpp
2012-08-21 19:03:35 -07:00
uncrustify
364b089bd3
uncrustify libraries/AP_Motors/examples/AP_Motors_test/AP_Motors_test.pde
2012-08-21 19:03:35 -07:00
Robert Lefebvre
575b99b4be
TradHeli: Creating Flybar Acro mode.
2012-08-21 16:54:01 -04:00
Robert Lefebvre
bf6c934c32
Changing TradHeli param motors.acro_mode to motors.flybar_mode to better reflect it's intent.
2012-08-20 23:13:50 -04:00
Robert Lefebvre
e6b5af7143
Adding new Trad Heli parameters.
2012-08-20 16:45:19 -04:00
Jason Short
e12ce1d5a7
MOTORS Mixer: temp removal of Yaw Contrib code
2012-08-09 17:00:11 -07:00
Andrew Tridgell
518d6365ff
AP_Param: update remaining libraries for new constructor syntax
2012-08-08 12:11:57 +10:00
Robert Lefebvre
4ffc5e211a
Fixing Trad Heli Ext ESC Controller
...
-Added ramp-down rate instead of instantly setting ramp to zero when throttle is dropped to bottom. This is to allow "warm-restart" if shutdown was unintentional.
-Actual ESC still goes to zero while throttle is dropped to the bottom, only the ramp counter winds down slowly behind the scenes.
2012-07-31 17:47:25 -04:00
rmackay9
acef75319c
AP_MotorsMatrix: small bug fix to limit checking on remove_motor call. Fix thanks to Michael Peschel!
2012-07-16 00:38:58 +09:00
Robert Lefebvre
ed235a3924
Change to prevent Tricopter servos from going hard-over during Disarmed state.
...
Believe this was an oversight when the change to AP_Motors went in.
2012-07-13 23:12:26 -04:00
Robert Lefebvre
8ce9aae2f7
Instituting Yaw Differential on Multirotors. Intent is to stop "rise on yaw input".
...
Since motors with increasing speed due to yaw input seem to generate more thrust that motors that slow lose thrust, thus net thrust goes up, causing copter to climb.
Values are a guesstimate, proven out by test flying. This could probably become a parameter.
2012-07-13 22:59:28 -04:00
rmackay9
b5f47f5e63
AP_Motors: clarified some doxygen descriptions for TradHeli
2012-07-05 08:46:50 +09:00
Robert Lefebvre
238a1ced2c
TradHeli adding ramp up time to Ch8 Throttle Pass-through.
2012-06-07 22:55:47 -04:00
Robert Lefebvre
df17ff3bc1
AP_MotorsHeli Syntax correction.
2012-06-04 15:53:07 -04:00
rmackay9
c82a403b88
AP_MotorsHeli: Added reference to "Arduino.h" to allow autotest builder to work.
...
Moved around initialisation of parmeters in AP_MotorHeli object to remove compiler warnings.
2012-06-02 16:13:23 +09:00
Robert Lefebvre
5f058fb9b2
TradHeli: Incorporating Ext ESC Control
2012-05-30 21:50:25 -04:00
Robert Lefebvre
56335e81e4
Fix TradHeli Collective Yaw Effect bug.
2012-05-25 15:25:21 -04:00
rmackay9
357d6c2d9b
ArduCopter: bug fix for reversing tri servo
...
Extended AP_MotorsTri class to take in pointer to rc_tail servo (rc_7) and we use this servo's REV parameter to determine whether to reverse the output to the tail servo or not
2012-05-13 12:36:46 +09:00
Adam M Rivera
56d3fa1601
Parameters.pde/AP_MotorsHeli: Updated comments to leverage the new value aliases
2012-04-28 20:50:41 -05:00
Adam M Rivera
239323eaa4
Parameters.pde/AP_MotorsHeli.cpp: Added comments from Roberts clone.
2012-04-26 18:26:14 -05:00
rmackay9
11a384a7ff
AP_Motors - allow tail servo to be reversed. Closes ArduCopter issue #228
2012-04-21 23:07:57 +09:00
rmackay9
53827f2e92
AP_MotorsMatrix - fixed stability patch issue in which it would not limit a motor's output unless an opposite motor had been defined. This would only have affected Y6 frames.
2012-04-07 12:16:12 +09:00
rmackay9
127a990509
AP_MotorsOcta - V Frame - test order fix spotted by David Wiens
2012-04-07 08:11:28 +09:00
rmackay9
f6e1509d05
AP_Motors - fixed last "shadowing" compiler warning caused by badly named parameter in auto_armed method.
2012-04-05 00:28:04 +09:00
rmackay9
1e20d7de88
AP_MotorsMatrix - fixed another compiler error regarding shadowing a variable. Fixed by removing those the angle and direction arrays which weren't even used
2012-04-05 00:24:56 +09:00
rmackay9
7a8973eaf0
AP_MotorsHeli - fixed compiler warning re move_swash function declared with int parameters in .h file but actually using int16_t in .cpp file. They're the same in arduino but perhaps the build checker is a little more strict that Arduino.
2012-04-05 00:06:33 +09:00
rmackay9
926211f0f0
AP_Motors - fix compiler warning re shadowing a variable caused by badly named parameter in armed function.
...
Another compiler warning fixed in AP_MotorsMatrix.cpp caused by declaring "i" twice.
2012-04-04 23:59:51 +09:00
rmackay9
b71877366e
ArduCopter - AP_Motors library - added new library which has few advantages over current code:
...
1. it's step towards rearchitecting the current code base ahead of a move to RTOS.
2. internally it uses a MatrixTable for the Quad, Octa, OctaQuad, Y6 frames.
3. it implements the missing stability patch for Octa and OctaQuads (still missing for Y6)
Later check-ins will incorporate into the main ArduCopter code.
2012-04-02 17:26:37 +09:00