Commit Graph

4305 Commits

Author SHA1 Message Date
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