Leonard Hall
f53d6e95e8
AP_MotorsSingle: rename _rev_roll to _roll_reverse
...
Also rename _rev_pitch to _pitch_reverse and _rev_yaw to _yaw_reverse
2016-04-01 11:59:30 +09:00
Leonard Hall
4db73d86af
AP_MotorsSingle: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
46ab198ebc
AP_MotorsSingle: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
40c18891cf
AP_MotorsCoax: remove reverse parameters
...
No longer necessary because we can use individual servo reverse params
2016-04-01 11:59:30 +09:00
Leonard Hall
260006dcb3
AP_MotorsCoax: move servo objects into Coax class
2016-04-01 11:59:30 +09:00
Leonard Hall
110d41ee24
AP_MotorsCoax: fix SV_SPEED param description
2016-04-01 11:59:30 +09:00
Leonard Hall
8d8f52b22f
AP_MotorsCoax: output_to_motors implements spool logic
2016-04-01 11:59:30 +09:00
Leonard Hall
b85c20bb65
AP_MotorsCoax: stability patch in 0 to 1 range
...
Also removes setting of limits in stability patch
sets outputs for additional 2 servos
2016-04-01 11:59:30 +09:00
Leonard Hall
7df9b2eb8c
AP_MotorsCoax: support 4 servo outputs
2016-04-01 11:59:30 +09:00
Leonard Hall
7d6c6b5556
AP_MotorsCoax: rename _rev_roll to _roll_reverse
...
Also rename _rev_pitch to _pitch_reverse and _rev_yaw to _yaw_reverse
2016-04-01 11:59:30 +09:00
Leonard Hall
5cb44901ff
AP_MotorsCoax: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
3df52aad5f
AP_MotorsCoax: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
45a16d6dad
AP_MotorsTri: implement output_to_motors for spool logic
2016-04-01 11:59:30 +09:00
Leonard Hall
d0a7579fa0
AP_MotorsTri: stability patch in 0 to 1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
80f77bc30b
AP_MotorsTri: output_min does not set limits
2016-04-01 11:59:30 +09:00
Leonard Hall
ba659be5cb
AP_MotorsTri: rename _yaw_servo_reverse to _yaw_reverse
2016-04-01 11:59:30 +09:00
Leonard Hall
8c4d6d6fbe
AP_MotorsTri: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
a2fdcfaf3f
AP_MotorsTri: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
397940a9a4
AP_MotorsMatrix: implement output_to_motors
2016-04-01 11:59:30 +09:00
Leonard Hall
cdec8f3387
AP_MotorsMatrix: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
b965857229
AP_MotorsMatrix: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
d0c6d087a5
AP_MotorsMatrix: do not set limits in output_min
2016-04-01 11:59:30 +09:00
Leonard Hall
3fef60da45
AP_MotorsMatrix: stability patch in 0 to 1 range
...
Includes storing motor level thrusts to _thrust_rpyt_out
rename _throttle_thr_mix_desired to _throttle_rpy_mix_desired
rename _throttle_thr_mix to _throttle_rpy_mix
use get_hover_throttle_as_high_end_pct
use throttle_thrust_max updated by multicopter spool logic
do not set limits in stability patch
2016-04-01 11:59:30 +09:00
Leonard Hall
5841310ac7
AP_MotorsMulticopter: update_throttle_filter limits throttle to 0 to 1
2016-04-01 11:59:30 +09:00
Leonard Hall
420b90953c
AP_MotorsMulticopter: throttle_radio_min, max to multicopter class
...
Moved in from Motors class, only ever used by multicopters
No functional change
2016-04-01 11:59:30 +09:00
Leonard Hall
2c9a02066d
AP_MotorsMulticopter: remove unused functions and variables
2016-04-01 11:59:30 +09:00
Leonard Hall
290e657f61
AP_MotorsMulticopter: update_battery_resistance captures resting voltage while disarmed
...
Previously it could also capture this when the input throttle was zero
2016-04-01 11:59:30 +09:00
Leonard Hall
bc42cb2a66
AP_MotorsMulticopter: update_battery_resistance uses get_throttle accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
8228d9e72c
AP_MotorsMulticopter: current_limit_max_throttle uses get_throttle accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
3cbc15bb5b
AP_MotorsMulticopter: add get_throttle_thrust_max accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
d7dc37bda0
AP_MotorsMulticopter: remove apply_thrust_curve_and_volt_scaling_pwm
2016-04-01 11:59:30 +09:00
Leonard Hall
06f25b669d
AP_MotorsMulticopter: add roll, pitch, throttle and yaw pass through
2016-04-01 11:59:30 +09:00
Leonard Hall
d7c27c949c
AP_MotorsMulticopter: add spool_up_complete accessor function
2016-04-01 11:59:30 +09:00
Leonard Hall
983d2dc97a
AP_MotorsMulticopter: update_throttle_filter does not set throttle_in
...
get_throttle method now used to access filtered throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
3fc3858fbd
AP_MotorsMulticopter: set_throttle_range calcs _min_throttle before use
2016-04-01 11:59:30 +09:00
Leonard Hall
b26318c178
AP_MotorsMulticopter: output_logic implements spooling
2016-04-01 11:59:30 +09:00
Leonard Hall
b7fe6aa16e
AP_MotorsMulticopter: remove update_max_throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
be64c71065
AP_MotorsMulticopter: add get_current_limit_max_throttle
...
returns the current limited maximum throttle as a number between 0 ~ 1 in the range throttle_min to throttle_max
2016-04-01 11:59:30 +09:00
Leonard Hall
64ba45a683
AP_MotorsMulticopter: add spin_when_armed_low_end_pct
...
returns the spin-when-armed value as a number from 0 to 1 in the range 0 to throttle_min
2016-04-01 11:59:30 +09:00
Leonard Hall
49819d822f
AP_MotorsMulticopter: add get_hover_throttle_as_high_end_pct
...
Returns hover throttle as a number from 0 to 1 in the range from throttle_min to throttle_max
2016-04-01 11:59:30 +09:00
Leonard Hall
e625c105a4
AP_MotorsMulticopter: remove get_throttle_warn
2016-04-01 11:59:30 +09:00
Leonard Hall
3854f2eda7
AP_MotorsMulticopter: rename _throttle_thr_mix_desired to _throttle_rpy_mix_desired
...
No functional change
Also rename _throttle_thr_mix to _throttle_rpy_mix
2016-04-01 11:59:30 +09:00
Leonard Hall
65bbc23a08
AP_MotorsMulticopter: apply_thrust_curve_and_volt_scaling in 0 to 1 range
...
existing equivalent pwm function becomes apply_thrust_curve_and_volt_scaling_pwm
2016-04-01 11:59:30 +09:00
Leonard Hall
cb39f8aab7
AP_MotorsMuticopter: calc_thrust_to_pwm converts thrust in 0 to 1 range to pwm
...
pwm output is always between throttle min and throttle max
2016-04-01 11:59:30 +09:00
Leonard Hall
80ddce103f
AP_Motors: move set_throttle_filter_cutoff declaration
...
No functional change
2016-04-01 11:59:30 +09:00
Leonard Hall
649a8c461d
AP_Motors: remove unused throttle_radio_min, max
...
Moved to AP_MotorsMulticopter
2016-04-01 11:59:30 +09:00
Leonard Hall
e84011603c
AP_Motors: remove unused throttle_pwm_scalar, rpy_pwm_scalar
2016-04-01 11:59:30 +09:00
Leonard Hall
8e1351e474
AP_Motors: init member to resolve compiler warning
2016-04-01 11:59:30 +09:00
Leonard Hall
ed51c7a28d
AP_Motors: 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
Leonard Hall
c96b91efb6
AP_Motors: add output_to_motors
2016-04-01 11:59:30 +09:00
Leonard Hall
ac579685df
AP_Motors: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
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