Commit Graph

4386 Commits

Author SHA1 Message Date
Robert Lefebvre 9848d05a9d Copter: Always send RPM data when sensor is enabled 2015-12-08 08:25:18 +11:00
Robert Lefebvre 652283a570 Copter: Helicopters to force descent when motor is shut off 2015-12-07 14:51:39 +09:00
DonLakeFlyer c8cc83505b Copter: return success or failure of get home position 2015-12-07 12:33:15 +09:00
Robert Lefebvre f55effa562 Copter: remove unnecessary frame ifdef 2015-12-04 14:18:00 +09:00
Lucas De Marchi 164b9f345c ArduCopter: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:45 +11:00
Peter Barker 826912c3e4 Copter: DataFlash-over-MAVLink support 2015-12-03 13:21:51 +11:00
Peter Barker f57d237181 Copter: support multiple simultaneous backends 2015-12-03 13:21:51 +11:00
Gustavo Jose de Sousa 7837bbfd81 waf: add a make wrappers 2015-12-03 07:54:32 +11:00
Gustavo Jose de Sousa f27b8869a6 waf: add missing AP_ADSB library to ArduCopter 2015-12-03 07:54:32 +11:00
Caio Marcelo de Oliveira Filho 6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Randy Mackay d9baf334c4 Copter: remove unused definitions 2015-12-02 14:56:24 +09:00
Lucas De Marchi 83ff0476a8 ArduCopter: fix signed/unsigned comparison warning
commands_logic.cpp: In member function 'bool
Copter::verify_within_distance()':
commands_logic.cpp:770:21: warning: comparison between signed and
unsigned integer expressions [-Wsign-compare]
     if (wp_distance < MAX(condition_value,0)) {
	                          ^
2015-12-01 16:28:18 -02: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
Randy Mackay d9a14d05f4 Copter: 3.3.2 release notes 2015-12-01 15:12:29 +09:00
Leonard Hall 6eca767db0 Copter: reduce autotune min D param default to 0.001 2015-11-30 11:21:54 +09:00
Randy Mackay 19f5c8f209 Copter: remove debug comments 2015-11-27 16:17:00 +09:00
Luis Vale Gonçalves 3199829d45 Copter: revisions to text strings sent to GCS 2015-11-27 16:16:58 +09:00
Andrew Tridgell f5d73a9d10 Copter: fixed deadzone for acro with extgyro and no flybar 2015-11-27 15:24:43 +09:00
Randy Mackay 06880e8b04 Copter: fix input_manager init order to resolve compiler warning 2015-11-27 15:18:17 +09:00
Randy Mackay 4eafd90864 Copter: remove old comment 2015-11-27 15:02:24 +09:00
Randy Mackay e6f8d812d3 Copter: adsb handling simply logs error to dataflash 2015-11-27 15:02:20 +09:00
Randy Mackay 4ef53427f2 Copter: allow ADSB to be disabled 2015-11-27 15:02:17 +09:00
Tom Pittenger 34d6d985e9 Copter: Add support for ADS-B 2015-11-27 15:02:15 +09:00
Randy Mackay 802ced201d Copter: 3.3.2-rc2 release notes 2015-11-21 14:34:30 +09:00
Robert Lefebvre 90416ac81d Copter: 3.3.2-rc1 release notes 2015-11-21 14:34:27 +09:00
Andre Kjellstrup c2a810d72a Copter: update RTL altitude param description 2015-11-21 12:44:10 +09:00
Caio Marcelo de Oliveira Filho c7acc46d09 Copter: use millis/micros/panic functions 2015-11-20 12:26:31 +09:00
Randy Mackay 50e3c2ce3a Copter: minor comment updates
No functional change
2015-11-18 22:12:44 +09:00
bugobliterator 945bdee452 Copter: PILOT_VELZ_MAX and PILOT_ACCEL_Z take effect immediately 2015-11-18 22:12:41 +09:00
Randy Mackay 674bedd867 Copter: acro sets alt target to zero for reporting 2015-11-18 21:48:34 +09:00
Jonathan Challinger a5e4f64b20 Copter: refuse to enter manual throttle modes while landed with throttle high 2015-11-18 21:48:27 +09:00
Randy Mackay b2b8dcb8ff Copter: guided calls velocity controller at 400hz
velocity controller internally updates xy-axis at 50hz, z-axis at 400hz
2015-11-18 13:31:22 +09:00
Randy Mackay 1b29a1af46 Copter: consolidate setting of using-iterlock state 2015-11-17 09:02:31 +09:00
Andrew Tridgell 0c92331762 Copter: fixed build for SITL changes 2015-11-16 17:57:36 +11:00
Jonathan Challinger 5086168b03 Copter: add RTL_SPEED parameter 2015-11-16 10:20:32 +09:00
Andrew Tridgell 8f4ce7f20b build: removed all nocore.inoflag files
these were APM2 specific
2015-11-16 08:05:17 +11:00
Randy Mackay 05246ea0c7 Copter: fix RTL compile error when rally disabled
Thanks to derekxm for finding this
2015-11-14 12:39:23 +09:00
Randy Mackay 731c44d053 Copter: allow terrain to be excluded from build 2015-11-14 12:38:47 +09:00
Robert Lefebvre 2b111c2bd6 Copter: fix Helicopter no-build issue
Conflict with another recent change to disarm counter
2015-11-14 10:32:58 +09:00
Andrew Tridgell 9214b85cf1 Copter: fixed path for AC_InputManager for heli 2015-11-13 13:49:25 +11:00
Fredrik Hedberg a6d2e0d4df Copter: Don't auto-disarm helicopters if rotor is still spinning. 2015-11-13 11:17:43 +09:00
Robert Lefebvre 02b8dd5ffd Copter: Heli to set hover roll trim scalar 2015-11-12 19:37:36 +09:00
Robert Lefebvre 5cc4f41d85 Copter: Helicopter: to use new Stab_Col and Acro_Col functions. 2015-11-12 19:37:23 +09:00
Robert Lefebvre 34fb600c4f Copter: Utilize Input Manager Class 2015-11-12 19:37:22 +09:00
Robert Lefebvre afcc304cbf AC_InputManager: Initial class creation 2015-11-12 19:37:21 +09:00
Robert Lefebvre 7ad623dc70 Copter: Helicopter, fix so servos move after arming in Acro and Stabilize. 2015-11-12 19:37:16 +09:00
Robert Lefebvre 2632a2e348 Copter: Rework arming proceedures for interlock/Estop
to fix race condition.
2015-11-12 19:37:15 +09:00
Jonathan Challinger 6524222397 Copter: adapt auto disarm check to use a timer 2015-11-09 15:34:41 +09:00
Jonathan Challinger 05e533e6fc Copter: don't accept disarm commands in stabilize and acro unless also landed 2015-11-07 11:07:14 +09:00
lvale 549695181c Copter: revised and uniformization of severity messages 2015-11-05 12:20:49 +09:00
Randy Mackay 420b1ca715 Copter: minor comment and order change to takeoff
No functional change
2015-11-04 20:49:25 +09:00
Jonathan Challinger 082c1f77fb Copter: soften takeoff 2015-11-04 20:49:22 +09:00
Lucas De Marchi 030fd046c7 ArduCopter: remove check for MAVLINK_COMM_NUM_BUFFERS 2015-11-04 12:14:15 +11:00
Lucas De Marchi e0639ac029 ArduCopter: 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:15 +11:00
Lucas De Marchi 3e889b005f ArduCopter: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Andrew Tridgell 99b448d1bb Copter: make EV log messages critical
these should be a high priority
2015-11-02 20:29:10 +11:00
Lucas De Marchi f4e71affa1 ArduCopter: fix wrong printf format for 32 bits
Heading is a 32 bits value, so use %u.
2015-10-30 14:35:36 +09:00
Lucas De Marchi e9b6c76454 ArduCopter: fix wrong printf format for 32 bits
"micros() - before" doesn't return a long value. Use "%u".
2015-10-30 14:35:34 +09:00
Lucas De Marchi c397e550e2 ArduCopter: fix warning due to wrong type
"%s" expects a string. This works since the string in the struct is the
first member so it's harmless.
2015-10-30 14:35:33 +09: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 1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi 4ab9821624 Replace use of Log_Write_Message_P() with Log_Write_Message() 2015-10-30 14:35:28 +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 6f4904189b Replace use of println_P() with println() 2015-10-30 14:35:22 +09:00
Lucas De Marchi a964ac38ec Replace use of print_P() with print() 2015-10-30 14:35:21 +09:00
Lucas De Marchi 89fc4f4b62 Replace use of send_text_P() with send_text() 2015-10-30 14:35:17 +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 6f0db45b57 Replace use of strcasecmp_P() with strcasecmp() 2015-10-30 14:35:08 +09:00
Lucas De Marchi 84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +09:00
Lucas De Marchi 84d5fb006f Remove use of Util::{v,}snprintf_P()
These are now the same function as Util::snprintf().
2015-10-30 14:35:05 +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 606a0e0d0b Copter: set jerk to default for circle and guided 2015-10-29 12:10:49 +09:00
Leonard Hall 411e75b917 Copter: feed forward only used for AltHold, Loiter, PosHold
land modes use non-feedforward alt hold
2015-10-28 20:21:54 +09:00
Randy Mackay b49fda4a94 Copter: remove rotor spinning arming check from TradHeli 2015-10-27 09:14:39 +09:00
Jonathan Challinger da3961e4a6 Copter: support MAV_CMD_DO_SEND_BANNER 2015-10-26 16:28:57 +09:00
Randy Mackay 02c4fdf519 Copter: 3.3.1 release notes 2015-10-26 11:32:28 +09:00
Jonathan Challinger 5486be34b1 Copter: use configured function to determine if heli_servo_rsc has been configured 2015-10-26 11:15:54 +11:00
Jonathan Challinger 28f55766fd Copter: use configured to check whether radio has been calibrated 2015-10-26 11:15:54 +11:00
Caio Marcelo de Oliveira Filho bf6d1afd59 ArduCopter: include SITL only for SITL board
Include board-specific files only when the board is used. Since these
should be exceptional cases, let the includer handle the ifdef instead
of putting ifdefs in every platform-specific header.

In the future we should evaluate whether the HAL for the board should
instantiate this.
2015-10-22 13:36:14 -02:00
Caio Marcelo de Oliveira Filho 49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Caio Marcelo de Oliveira Filho 05ae7858e8 Copter: explicitly ask for always using EKF
When instantiating AP_AHRS_NavEKF for ArduCopter, explicitly pass the
flag to always use the EKF.

The motivation is to move vehicle specifc code out of the general
libraries. This patch shouldn't change behavior.
2015-10-21 11:01:11 +11:00
Peter Barker 080c31c15e Copter: use simple log entry numbers to download logs 2015-10-21 10:50:32 +11:00
Lucas De Marchi 09f185eb5e ArduCopter: remove check for max INS instances
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:17 +11:00
Caio Marcelo de Oliveira Filho 3e3f13659d ArduCopter: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +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
Randy Mackay 3f9d62d6b4 Copter: 3.3.1-rc1 release notes 2015-10-20 16:00:41 +09:00
Randy Mackay 1858a0544f Copter: guided takeoff checks auto-armed status
This resolves an edge case in which the vehicle could takeoff with auto-armed false
2015-10-20 15:51:55 +09:00
Paul Riseborough 75a61df627 Copter: Enable access to EKF2 height tuning 2015-10-20 15:21:38 +11:00
Paul Riseborough d0aba09503 Copter: Access EKF healthy through AHRS object
Enables EKF2 use
2015-10-20 15:21:38 +11:00
Paul Riseborough 19785c1033 Copter: Access EKF origin through AHRS object
Enables EKF2 use
2015-10-20 15:21:38 +11:00
Paul Riseborough 7c6b31b585 Copter: Access EKF variance checks through AHRS object
Supports flight using EKF2
2015-10-20 15:21:38 +11:00
Randy Mackay d03489263d Copter: remove gyro cal on first arming 2015-10-19 12:00:41 +09:00
Jonathan Challinger 598925f8d2 Copter: EKF failsafe action always Land if RC failsafe active 2015-10-18 10:06:05 +09:00
José Roberto de Souza c581a702a0 ArduCopter: Fix typo: auxiliar to auxiliary 2015-10-16 10:16:24 +11:00
Gustavo Jose de Sousa fb5320bb25 ArduCopter: use compass get_{field,offsets}() functions
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:05 +09:00
Randy Mackay 9b80ab18ae Copter: position_ok when optical flow ok
Previously the GPS based absolute position was required
This allows using optical flow in all flight modes
2015-10-14 12:01:41 +09:00
vooon f3cbbef418 Copter: fix guided attitude type_mask check 2015-10-10 22:04:51 +09:00
Randy Mackay a142688fea Copter: guided attitude timeout to 1sec
Also add set-attitude-target capabilities flag
Thanks to Fredia and Sebastian for noticing these issues!
2015-10-10 22:04:48 +09:00
Randy Mackay e20038a453 Copter: support SET_ATTITUDE_TARGET in guided mode 2015-10-09 12:15:38 +09:00
Randy Mackay 1dcf58bc20 Copter: support set-home-position message 2015-10-03 12:51:32 +09:00
Randy Mackay 330961b524 Copter: send home position when home is set or get-home msg received 2015-10-03 12:50:45 +09:00
Randy Mackay 26329c5a03 Copter: 3.3 release notes 2015-09-29 10:25:43 +09:00
Andrew Tridgell 38bae40ca0 Copter: use ahrs.send_ekf_status_report() 2015-09-29 10:59:24 +10:00
Andrew Tridgell 5cb088fe14 Copter: pass display_failure to AP_Motors heli check 2015-09-25 12:30:34 +10:00
Andrew Tridgell 94eb23ef56 Copter: consider flight to be dynamic at greater than 2m above ground
use rangefinder to switch to dynamic flight if possible
2015-09-25 12:30:34 +10:00
Andrew Tridgell 49ee4b7965 Copter: tell motors library when to use acro gyro gain 2015-09-25 12:30:34 +10:00
Andrew Tridgell 1c26ed0fca Copter: fixed deadzone handling for external tail gyro
when using an external tail gyro on a flybar heli the stick input
should be directly passed to output. This patch fixes the use of
deadzone in that passthrough.

It also makes the tail handling consistent with roll and pitch
handling, by not using ACRO_YAW_P when in tail pass-through.

Finally it also fixes deadzone handling for roll and pitch, and
removes the unnecessary get_pilot_desired_yaw_rate() that has a
different prototype from the one used in the rest of the code
2015-09-25 12:05:43 +10:00
Randy Mackay cdd4570f02 Copter: fix init order of ekfYawReset_ms 2015-09-24 16:57:50 +09:00
Randy Mackay 317779f976 Copter: check_ekf_yaw_reset uses ahrs method 2015-09-24 16:57:47 +09:00
Jonathan Challinger e47175862a Copter: use modified getLastYawResetAngle function 2015-09-24 16:57:44 +09:00
Andrew Tridgell 2470cf0e76 Copter: use resetHeightDatum() and getLastYawResetAngle() 2015-09-23 17:47:11 +10:00
Andrew Tridgell 053194fd51 Copter: added EK2_* parameters and EKF2 instance 2015-09-23 11:56:33 +10:00
Randy Mackay 96d6b8eb61 Copter: 3.3-rc12 release notes 2015-09-22 15:17:23 +09:00
Randy Mackay 57c5840f0d Copter: add EKF attitude arming check 2015-09-21 17:06:39 +09:00
Randy Mackay f3d4b20a80 Copter: calibrate gyros during accel calibration 2015-09-21 17:06:37 +09:00
Randy Mackay 01c0b20930 Copter: calibrate gyros depending on INS GYR_CAL parameter 2015-09-21 17:06:34 +09:00
KiwiHC16 004c5b8416 Copter: mission_start always restarts mission 2015-09-16 17:17:20 +09:00
Stewart Loving-Gibbard 985be6dd86 Copter: Adding Logging of RSSI data. 2015-09-16 16:41:43 +09:00
Randy Mackay 0f55b2a0eb Copter: replace vehicle compass consistency check 2015-09-16 15:13:38 +09:00
squilter 30ed2508d6 Copter: Support do_digicam_x via command_long 2015-09-16 13:06:49 +09:00
Randy Mackay a403e5aef0 Copter: fix severity of super simple message to GCS 2015-09-12 12:35:42 +09:00
Ivale 6c74981010 Copter: report simple mode status to GCS as text 2015-09-12 12:28:58 +09:00
Daniel Nugent 3a7036fd67 Copter: pass LANDING_TARGET message to precland lib 2015-09-11 20:56:10 +09:00
Daniel Nugent 9fe3abf5ca Copter: precision landing uses sonar alt if available 2015-09-11 20:56:09 +09:00
Randy Mackay cf6d0db0f1 Copter: 3.3-rc11 release notes 2015-09-10 14:54:55 +09:00
Peter Barker 1103451d36 Copter: ensure 10% free space when initialising logging 2015-09-09 12:22:36 +10:00
Randy Mackay 8efc02fe0c Copter: delay for 200ms instead of 50ms before reboot 2015-09-09 10:39:56 +09:00
Jonathan Challinger 1fbdf11eca Copter: set firmware_update flag instead of event 2015-09-09 10:39:55 +09:00
Staroselskii Georgii 68e0d57998 Copter: make Copter use milligauss
The telemetry and and logging is still in compass units, though. This
way, users won't need to recalibrate their compasses.
2015-09-09 10:38:16 +10:00
Andrew Tridgell d6b244670b Copter: fix for changed AP_RangeFinder API 2015-09-08 16:46:52 +10:00
Andrew Tridgell dff9fe9cb2 Copter: use prearm_failure_reason() 2015-09-08 16:07:33 +10:00
Leonard Hall 0129110502 Copter: limit throttle mid to throttle min + 50 2015-09-07 18:10:28 +09:00
Leonard Hall 6b01c1117f Copter: keep thr-mix at min when landed 2015-09-07 18:10:25 +09:00
Randy Mackay 0eaf815411 Copter: guided mode vel controller integrates althold lean limit
Note it does not yet actually limit the lean angles based on throttle
2015-09-07 15:10:13 +09:00
Leonard Hall 543f6fdcd4 Copter: AltHold limits lean angle to maintain altitude
get_pilot_desired_lean_angles function now takes angle max parameter but
all flight modes except AltHold simply pass in the ANGLE_MAX parameter
meaning no functional change for them
2015-09-07 15:10:12 +09:00
Leonard Hall 61d6c44e3b Copter: tricopter yaw rate filter to 100hz 2015-09-07 12:30:39 +09:00
Randy Mackay dc4923a88d Copter: suppressing comment for switch case fall through 2015-09-06 16:01:33 +09:00
Randy Mackay 5e38adfae3 Copter: remove support for configure as command long
Also protect mount calls with MOUNT definition
2015-09-06 16:01:21 +09:00
squilter 8320c06700 Copter: Support do-mount-control via command-long 2015-09-06 16:01:16 +09:00
Andrew Tridgell fdb1cc38b0 Copter: removed redundent copter dereference 2015-09-03 16:59:24 +10:00
Siddharth Bharat Purohit 347d1f0a25 Copter: use handle message function for compass cal from compass library 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit 9cf2998bba Copter: update send text severity for compass cal 2015-09-03 16:59:13 +10:00
Jonathan Challinger 1dc373fa20 Copter: correct compile errors after compass cal merge 2015-09-03 16:59:13 +10:00
Jonathan Challinger 7d67a00aa3 Copter: add compass_cal update function 2015-09-03 16:59:12 +10:00
Jonathan Challinger eec5c2a5eb Copter: send NACK if compass.start_calibration_all fails 2015-09-03 16:59:12 +10:00
Jonathan Challinger 2864d58474 Copter: refuse to start mag cal if armed 2015-09-03 16:59:12 +10:00
Jonathan Challinger fa6bfee433 Copter: add arming check for compass calibration running 2015-09-03 16:59:12 +10:00
Jonathan Challinger 3739318d2f Copter: Hook up compass calibrator 2015-09-03 16:59:11 +10:00
Jonathan Challinger ee1209c03f Copter: run compass_accumulate at 100hz 2015-09-03 16:59:09 +10:00