Commit Graph

4260 Commits

Author SHA1 Message Date
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
Peter Barker 51a761656e Copter: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:19 +10:00
Andrew Tridgell 00da3ccc49 Copter: set in_arm_motors to false on all arm failure returns
otherwise if the user fails to arm due to interlock or emergency stop
then they won't be able to try to arm again until they reboot
2015-09-02 11:03:36 +10:00
Andrew Tridgell 64a8e66dd7 Copter: automatically set H_RSC_MIN/MAX from RC8_MIN/MAX on upgrade
this prevents a problem where the disarm throttle will change after
upgrading to 3.4
2015-09-02 10:25:48 +10:00
Gustavo Jose de Sousa 19d1c28c06 ArduCopter: use function name for AP_Scheduler task name
That makes it easier to identify tasks when debug is enabled in AP_Scheduler.
2015-09-01 20:22:18 +10:00
Gustavo Jose de Sousa 79b8b15053 ArduCopter: use designated initializers for tasks structs
Makes code less prone to break build and semantics (e.g., when a new field is
added).
2015-09-01 20:22:18 +10:00
Randy Mackay 7db77482f5 Copter: precision landing velocity PI object
Follow up changes required to actually use this PI during landing
2015-08-31 18:00:32 +09:00
Randy Mackay f4b152f0e3 Copter: add Precision Landing to GPS land 2015-08-31 18:00:31 +09:00
Randy Mackay 0da38ba2bf Copter: add Precision Landing log message 2015-08-31 18:00:30 +09:00
Randy Mackay 26ded641db Copter: integrate Precision Landing lib 2015-08-31 18:00:28 +09:00
Randy Mackay 5a4729a966 Make: include AC_PrecLand and AP_IRLock libs in Copter 2015-08-31 18:00:27 +09:00
Randy Mackay e92296a0b7 TradHeli: integrate RotorControlMode enum 2015-08-31 11:44:00 +09:00
Randy Mackay d99bb66f8a TradHeli: remove duplicate code in update_rotor_speed_target 2015-08-31 11:43:56 +09:00
Robert Lefebvre c51b57e71c Copter: Remove Armed check from heli RSC controls 2015-08-31 11:43:53 +09:00
Robert Lefebvre b331799dac Copter: Add handle to control Throttle Curve RSC. 2015-08-31 11:43:46 +09:00
Robert Lefebvre c968ec3a63 Copter: Helicopters to use motor interlock logic.
Also, remove motor interlock pre-arm check to streamline logic.
2015-08-31 11:43:37 +09:00
Robert Lefebvre 161ce5c11d Copter: Change name of rotor speed function to match that in library 2015-08-31 11:27:53 +09:00
Robert Lefebvre 990761a13b Copter: Create new heli RSC RC Channel object. 2015-08-31 11:27:50 +09:00
Fredrik Hedberg 66d9d38750 Copter: Use AP_MotorsHeli_Single for HELI_FRAME. 2015-08-31 11:27:32 +09:00
Andrew Tridgell ff934d5bca Copter: added FS_CRASH_CHECK parameter
this allows automatic crash detection to be disabled
2015-08-31 12:15:46 +10:00
Andrew Tridgell 90909f2b4a Copter: added DISARM_DELAY parameter
this allows automatic disarming to be disabled, or set to a shorter or
longer time as appropriate for the user
2015-08-31 11:44:08 +10:00
Stewart Loving-Gibbard 7cb494d8e2 Copter: Moving to RSSI library for reading various kinds of RSSI, with the possibility of adding more.
* Retains ability to read from Analog Pin
* Adds ability to read RSSI from PWM channel value as is done in OpenLRSng, EazyUHF, and various other LRS.
* Handles any type of RSSI that provides RSSI values inverted - i.e. when the low value is the best signal and the high value is the worst signal.
* Has different key names from all existing RSSI parameters to provide for a clean break and easier distinguishing.
* Existing parameters are marked as obsolete
2015-08-29 08:05:59 +10:00
Randy Mackay cbfbd46547 Copter: Release notes for AC3.3-rc10 2015-08-28 12:21:09 +09:00
Randy Mackay 1608cffe95 Copter: increase failsafe close-to-home to 5m
This distance is used when a failsafe is initiated to decide whether to RTL or LAND
2015-08-28 09:24:37 +09:00
Randy Mackay be603da579 Copter: fix optflow position_ok check
We should accept predicted relative horizontal position only when disarmed
2015-08-27 20:57:41 +09:00
Randy Mackay 4cdb5bf2bd Copter: sanity check do-set-home and do-set-ROI location 2015-08-27 15:16:04 +09:00
Randy Mackay 0424b3f93c Copter: pre-arm check of EKF compass variance 2015-08-26 13:59:41 +09:00