Commit Graph

2194 Commits

Author SHA1 Message Date
Andrew Tridgell
00ca292160 Plane: improved quadplane transition 2016-01-09 07:38:52 +11:00
Andrew Tridgell
ca85c332d6 Plane: separate QSTABILIZE and QHOVER modes 2016-01-09 07:38:52 +11:00
Andrew Tridgell
6468fc6d93 Plane: Initial implementation of quadplane
adds "HOVER" mode
2016-01-09 07:38:52 +11:00
Tom Pittenger
6cb20b679d Plane: add xtrack_error to DF log 2016-01-08 20:16:25 +11:00
Andrew Tridgell
f201552f6d Plane: always call load_all
this ensures defaults file works on first start after erase
2016-01-07 09:32:57 +11:00
Tom Pittenger
607201a9b1 Plane: zero course error for straight bungee launch
This fixes the behavior where it uses the heading when switched to AUTO instead of at launch causing a turn just after a bungee launch
2016-01-05 11:20:14 +11:00
Andrew Tridgell
7b6d862316 Plane: support up to 14 rc inputs for all boards 2016-01-04 08:22:35 +11:00
Andrew Tridgell
72edfcd1f6 Plane: update for changed peak hold API 2016-01-02 09:58:32 +11:00
Tom Pittenger
7cde90553d Plane: new param CRASH_ACC_THRESH
@Description: X-Axis deceleration threshold to notify the crash detector that there was a possible impact which helps disarm the motor quickly after a crash. This value should be much higher than normal negative x-axis forces during normal flight, check flight log files to determine the average IMU.x values for your aircraft and motor type. Higher value means less sensative (triggers on higher impact). For electric planes that don't vibrate much during fight a value of 25 is good (that's about 2.5G). For petrol/nitro planes you'll want a higher value. Set to 0 to disable the collision detector.
2016-01-02 09:58:32 +11:00
Tom Pittenger
21205f8b41 Plane: improved crash detection logic and agility
- inhibit crash detection warnings when disabled by param so now it can be completely disabled
- reset is_crashed when disabled by param
- fixed pre-takeoff detection bug by adding in_preLaunch_flight_stage() where we are actually in FLIGHT_NORMAL instead of FLIGHT_TAKEOFF during setup of bungee launches. This now detects if we're in that state
- simplified the use of been_auto_flying to check across all flight stages. before it was excluded to handle hand-launches which can now be detected with in_preLaunch_flight_stage()
- added impact detector timer to clamp is_flying a few seconds after an impact
- logging new impact detector as "STAT.Hit"
2016-01-02 09:58:31 +11:00
Tom Pittenger
3b06260358 Plane: refactored interface
- added guided mode handling
- now handles gracefully a manual mode changes during evasion
2015-12-31 15:36:49 +11:00
Tom Pittenger
0bfe235d6b Plane: use abort landing logic with mavlink GO_AROUND cmd
- also enabled use of CMD_DO_GO_AROUND altitude param
2015-12-31 15:34:41 +11:00
Tom Pittenger
d18c25a0f9 Plane: add item_reached_msg to GUIDED 2015-12-31 15:31:39 +11:00
pepevalbe
9743e32f70 Plane: added group parameter for AP_Notify library 2015-12-31 11:33:05 +09:00
Siddharth Bharat Purohit
78566bda36 Plane: wire up accel calibrator for plane 2015-12-29 10:46:35 -08:00
Andrew Tridgell
7a5808276e Plane: fixed two build warnings with clang 2015-12-29 18:52:00 +11: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
Andrew Tridgell
513d5c17b9 Plane: allow for settable main loop rate 2015-12-27 14:57:19 +09:00
Andrew Tridgell
58d9b030ea Plane: update for Hz based AP_Scheduler 2015-12-27 14:57:08 +09:00
Don Gagne
eab8a8679d ArduPlane: fix invalid Range meta data 2015-12-27 16:10:44 +11:00
Andre Kjellstrup
6f5387c48d ArduPlane: Camera options for better camera control
All on one because they would not pass autotest if split up.
2015-12-18 18:16:11 +11:00
Jonathan Challinger
05eb723429 Plane: reflect renamed function in AP_AHRS 2015-12-18 18:08:37 +11:00
Julien BERAUD
8e66ce6f27 Plane: Update optical flow declaration
Pass ahrs as param
2015-12-18 17:56:06 +11:00
Gustavo Jose de Sousa
dc81a2410e waf: use single entry point for make wrappers 2015-12-10 10:40:34 +09:00
Michael du Breuil
4b40a884e9 Plane: Don't disable compass checks for HIL mode unless actually in hil mode 2015-12-08 05:07:46 -07:00
Tom Pittenger
113961b66e Plane: compiler warning - double promotion 2015-12-07 15:49:55 +09:00
DonLakeFlyer
7479bc5734 Plane: return success or failure of get home position 2015-12-07 12:33:23 +09:00
Lucas De Marchi
1308dd888f ArduPlane: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:45 +11:00
Peter Barker
84b53e58d5 Plane: DataFlash-over-MAVLink support 2015-12-03 13:21:52 +11:00
Peter Barker
574f95bd76 Plane: 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
3100736c9f waf: add missing AP_ADSB library to ArduPlane 2015-12-03 07:54:32 +11:00
Lucas De Marchi
1cdc233bd2 waf: add missing AP_Parachute library to ArduPlane 2015-12-03 07:54:31 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Lucas De Marchi
8eb0b559f2 ArduPlane: avoid comparison between signed and unsigned 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
Tom Pittenger
4c1a70eb66 Plane: print start of land approach 2015-12-01 07:05:07 +11:00
Luis Vale Gonçalves
4722a388b9 Plane: Text revisions
text revisions
2015-11-27 18:54:30 +11:00
Luis Vale Gonçalves
b7f3782e4e Plane: Text revisions
text revisions
2015-11-26 07:56:52 +11:00
Tom Pittenger
eaad72c192 Plane: Add support for handing ADS-B traffic
- parse MAVLINK_MSG_ADSB_VEHICLE msg
- new 1Hz adsb_update task to compare list against for threat detection
- perform object avoidance via loiter or loiter_and_descend. More methods are welcome!
2015-11-23 19:45:40 +11:00
Tom Pittenger
d8d1343735 Plane: include AP_ADSB library in build for Plane 2015-11-23 19:45:40 +11:00
Andre Kjellstrup
db16b94e7f Plane: update RTL altitude param description 2015-11-21 12:44:34 +09:00
Caio Marcelo de Oliveira Filho
c8888329e1 Plane: use millis/micros/panic functions 2015-11-20 12:26:40 +09:00
Andrew Tridgell
9108179322 Plane: fixed build for SITL changes 2015-11-16 17:57:36 +11:00
Andrew Tridgell
8f4ce7f20b build: removed all nocore.inoflag files
these were APM2 specific
2015-11-16 08:05:17 +11:00
lvale
e18181e5c2 Plane: Uniformization of severities
Plane uniformization of severities
2015-11-09 09:38:25 +11:00
Tom Pittenger
5c3486d003 Plane: power-off rangefinder at high alt without terrain avail
- moved terrain alt rangefinder power-off trigger from trerrain thread to rangefinder thread
- allow rangefinder to power-off using baro if terrain data not available
2015-11-09 08:36:41 +11:00
Tom Pittenger
178bbb080b Plane: improve crosstrack error while navigating to loiter point
There is no crosstrack concept in the loiter navigation so when going from waypoint to loiter you will not converge onto the line between those two points. This commit adds crosstracking by performing normal waypoint navigation until you get near it.
2015-11-09 08:25:26 +11:00
Lucas De Marchi
e5595ff11c ArduPlane: don't use avr include dir for tags 2015-11-04 12:14:16 +11:00
Lucas De Marchi
0151853c21 ArduPlane: remove check for MAVLINK_COMM_NUM_BUFFERS 2015-11-04 12:14:15 +11:00
Lucas De Marchi
c55c07eaf6 ArduPlane: 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
d1be74c87e ArduPlane: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi
cfe6e209db ArduPlane: fix wrong printf format for printf
"%S" is used for wide string, but we are passing a char*. Use lowercase
in this case to remove warnings like this:

libraries/AP_InertialSensor/AP_InertialSensor.cpp: In member function
'bool AP_InertialSensor::calibrate_accel(AP_InertialSensor_UserInteract*, float&, float&)':
libraries/AP_InertialSensor/AP_InertialSensor.cpp:620:61: warning:
format '%S' expects argument of type 'wchar_t*', but argument 3 has type 'const char*' [-Wformat=]
                 "Place vehicle %S and press any key.\n", msg);
                                                             ^
2015-10-30 14:35:43 +09:00
Lucas De Marchi
d40349d6ae ArduPlane: fix wrong printf format for 32 bits
Heading is a 32 bits value, so use %d.
2015-10-30 14:35:38 +09:00
Lucas De Marchi
a6fd94c6fe ArduPlane: fix wrong printf format for 32 bits
"micros() - before" doesn't return a long value. Use "%u".
2015-10-30 14:35:35 +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
Lucas De Marchi
bd0f0a7536 ArduPlane: convert dos linefeeds to unix 2015-10-30 14:35:02 +09:00
Andrew Tridgell
3c3392aae5 Plane: improve error messages on failed parachute release 2015-10-27 16:06:34 +11:00
Andrew Tridgell
5d1d54a8cb Plane: added CHUTE_CHAN parameter for manual release 2015-10-27 16:06:34 +11:00
Andrew Tridgell
d20b86b95e Plane: suppress the throttle in auto-throttle modes after parachute release 2015-10-27 16:06:34 +11:00
Andrew Tridgell
9affddcaa3 Plane: initial support for AP_Parachute library 2015-10-27 16:06:34 +11:00
Andrew Tridgell
3dd47adafe Plane: fixed a condition where takeoff switches to land 2015-10-24 15:15:59 +11:00
Andrew Tridgell
537f22cdd1 Plane: changed thresholds for LAND_APPROACH
use 15% path progress when lined up, and 50% path progress if not
lined up
2015-10-24 15:00:34 +11:00
Tom Pittenger
f9fbb8a0f7 Plane: restrict land_approach stage change with tighter criteria
- inhibit switching from FLIGHT_NORMAL to FLIGHT_LAND_APPROACH until we meet stricter criteria other than just that LAND is next waypoint
- requires: nav bearing error < 10deg && have traveled path forward 30% of path && are below top of approach in case we hit waypoint while still descending
- exceptions: traveled path forward > 80% which basically means we're getting close to the flare point and better get into approach mode ASAP
2015-10-24 14:43:43 +11:00
Caio Marcelo de Oliveira Filho
62d4c05a8e ArduPlane: 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
Peter Barker
07842e211d Plane: use simple log entry numbers to download logs 2015-10-21 10:50:32 +11:00
Caio Marcelo de Oliveira Filho
db3e501aec ArduPlane: 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
073828a764 Plane: add ahrs health pre-arm check 2015-10-16 13:50:59 +09:00
Gustavo Jose de Sousa
2cc07d2899 ArduPlane: 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:06 +09:00
Randy Mackay
17ed125e41 Plane: add no break comment to suppress compiler warning 2015-10-03 12:56:30 +09:00
Randy Mackay
32c5b0e63c Plane: support set_home_position message 2015-10-03 12:56:28 +09:00
Randy Mackay
d54e28e129 Plane: send home position when home is set or get-home msg received 2015-10-03 12:56:27 +09:00
Andrew Tridgell
213bed99e1 Plane: use ahrs.send_ekf_status_report() 2015-09-29 10:59:19 +10:00
Tom Pittenger
617626f9f5 Plane: log flight_stage
logging plane flight stage in STAT.Stage
2015-09-28 18:18:09 +10:00
Andrew Tridgell
017ebc440b Plane: added SENSOR_RC_RECEIVER reporting in SYS_STATUS 2015-09-28 08:55:24 +10:00
Andrew Tridgell
458e967d06 Plane: added RPM logging
useful for seeing if a petrol motor is still running
2015-09-24 20:58:18 +10:00
Andrew Tridgell
c14dbcfc44 Plane: set version to 3.4.1dev 2015-09-24 11:12:41 +10:00
Andrew Tridgell
38d51ddb32 Plane: prepare for 3.4.0 release 2015-09-24 10:08:27 +10:00
Andrew Tridgell
91f990af06 Plane: added EKF2 to parameters as EK2_* 2015-09-23 11:56:37 +10:00
Andrew Tridgell
0592bd4e6f Plane: update release notes 2015-09-22 09:46:18 +10:00
Andrew Tridgell
b735999848 Plane: prepare for beta3 2015-09-22 09:43:39 +10:00
Randy Mackay
6da53ae3b2 Plane: replace SKIP_GYRO_CAL with INS_GYR_CAL
Also calibrate gyros with accel cal and set trim
2015-09-21 17:06:43 +09:00
Andrew Tridgell
9e7c38b933 Plane: moved logging of mode to Log_Write_Vehicle_Startup_Messages
this fixes a problem where the initial mode isn't logged on arming
2015-09-17 20:15:26 +10:00
Andrew Tridgell
d019f83bee Plane: allow for higher roll limits on takeoff
only restrict to LEVEL_ROLL_LIMIT below 5m. Above that start to allow
larger roll limits, reaching the full roll limit at 15m
2015-09-17 15:35:37 +10:00
Stewart Loving-Gibbard
2085156a07 Plane: Adding Logging of RSSI data. 2015-09-16 16:41:45 +09:00
Andrew Tridgell
86e8c7ed2f Plane: add some safety to detect bad lidar readings
we only accept a lidar if it changes by 5% of its full range, and we
reject a lidar again if the correction between barometric and lidar
range changes by more than 30m

This allows us to cope with faulty lidars which may give a constant
reading
2015-09-16 14:24:44 +10:00
squilter
7365701d13 Plane: Support do_digicam_x via command_long 2015-09-16 13:06:51 +09:00
Grant Morphett
9a76f0ecf0 Plane: Fixing FS_SHORT_ACTN parameter doco
This is to resolve wiki issue 146
https://github.com/diydrones/ardupilot-wiki-issue-tracker/issues/146
2015-09-16 09:35:38 +09:00
Grant Morphett
6b22a59eff Plane: Fixing up the ARMING_ parameters autogen doco 2015-09-15 14:11:15 +09:00
Andrew Tridgell
d43d070e75 Plane: ensure throttle reverse is obeyed in all states
need to use radio_max for failsafe if reversed
2015-09-14 09:42:20 +10:00
Andrew Tridgell
5c055220f5 Plane: cope with bad values of ARMING_REQUIRE 2015-09-14 09:35:53 +10:00
Andrew Tridgell
73f454133b Plane: log RFND packet for multiple rangefinders 2015-09-13 11:29:53 +10:00
Peter Barker
3c0355e9e2 Plane: ensure 10% free space when initialising logging 2015-09-09 12:22:35 +10:00
Staroselskii Georgii
db94c8d53d Plane: make Plane use milligauss 2015-09-09 10:38:16 +10:00
Grant Morphett
c5c74eebfc Plane: Using the existing function to check for throttle failsafe
No need to duplicate the code if we have an existing function for this
sort of thing.
2015-09-09 10:28:02 +10:00
Grant Morphett
a1b96f659b Plane: Fixing issue 302
Using the configured FS_THR_VALUE to check for failsafe instead of
just checking against 50 below throttle min.
2015-09-09 10:28:02 +10:00
Tom Pittenger
fc2c94f78f Plane: utilize NAV_CONTINUE_AND_CHANGE_ALT for land abort
when aborting a landing via mode change, check if NAV_CONTINUE_AND_CHANGE_ALT is after LAND. If so, go ahead and execute it. Else, normal behavior or check do_land_start else decrement mission index
2015-09-09 09:32:31 +10:00
Andrew Tridgell
036e1fff12 Plane: a bit more caution in unsuppressing throttle pre-takeoff
require reasonable pitch and definate gps movement. This errs on the
side of not overriding a takeoff command, which could be dangerous
2015-09-09 09:24:54 +10:00
Tom Pittenger
fe083c8ffa Plane: consider extended launch throttle delays
use the greater of takeoff_throttle_delay+2s or 5s
2015-09-09 09:14:59 +10:00
Tom Pittenger
4f46c5331a Plane: added time for flying in any mode
- previously we only kept track of starting flying while in auto which gets reset when switching in and out of auto and on takeoff/land. Now we keep track of a "global" one that will track the is_flying flag regardless of the flight mode.
2015-09-09 09:14:59 +10:00
Tom Pittenger
a3c51698cb Plane: fix throttle when restarting mission in-flight with takeoff
fixes https://github.com/diydrones/ardupilot/issues/2778
When executing a takeoff, and the throttle is suppressed, but we're already flying, we should unsuppress the throttle. We can get into this situation if we reset the mission in-flight.
2015-09-09 09:14:59 +10:00
Andrew Tridgell
0cc165308d Plane: use 4 degrees if zero takeoff pitch 2015-09-09 09:13:12 +10:00
Andrew Tridgell
953efa9b6c Plane: fixed parameter docs for LAND_ABORT_THR
it should be a values list
2015-09-09 09:08:59 +10:00
Tom Pittenger
d36ee786e4 Plane: init hold_course in do_takeoff 2015-09-09 09:04:24 +10:00
Tom Pittenger
25da4ec0ea Plane: added flight stage FLIGHT_LAND_ABORT and abort mechanism
- enabled via new param LAND_ABORT_THR default is 0 (disabled)
- Triggered via 95% throttle during landing, a landing abort will take place.
- This copies all takeoff params for right now, we can make this better later if needed
- added mission item command to NAV_LAND which is the abort takeoff altitude. If 0 then use last takeoff if available, else use 30m
- hold heading, just like takeoff, until altitude is reached
- pitch is constrained to takeoff pitch, or else 10deg if not available
- After abort altitude is reached, the normal landing restart happens (DO_LAND_START or decrement mission)
- restart landing by jumping to DO_LAND_START or decrement mission on mode change
2015-09-09 09:04:24 +10:00
Grant Morphett
e734e9745d Plane: TKOFF_TDRAG_SPD1 is needed if holding nose wheel down.
Just clearing up the documentation as per this wiki issue
https://github.com/diydrones/ardupilot-wiki-issue-tracker/issues/138
2015-09-08 17:31:09 +10:00
Tom Pittenger
6e55b44b63 Plane: change NAV_CONTINUE_AND_CHANGE_ALT behavior
Use waypoint bearing if available, otherwise use gps projected ahead 1km else yaw
Perform update before making decision to finish cmd so it always executes
2015-09-08 17:05:54 +10:00
Andrew Tridgell
0a66fcce20 Plane: fix for changed AP_RangeFinder API 2015-09-08 16:46:52 +10:00
Andrew Tridgell
05192ea9ab Plane: added severities to send_statustext_all 2015-09-08 14:29:55 +10:00
Andrew Tridgell
f92f46ee99 Plane: update for changed AP_Arming API 2015-09-08 13:54:45 +10:00
Grant Morphett
f953f03916 Plane: Fixing issue 327 - reporting Baro alt instead of GPS 2015-09-08 09:40:39 +10:00
Grant Morphett
3cb0c1bba8 Plane: Move the plane centric arming code into arming_checks.cpp
Needed to move the plane centric arming code out of the AP_Arming
library and into the plane vehcile code.
2015-09-07 11:54:21 +10:00
Andrew Tridgell
e12c20bd22 Plane: prepare for 3.4.0-beta2 release 2015-09-07 09:30:34 +10:00
Andrew Tridgell
16d06ef0a9 Plane: set throttle trim to min on startup
this prevents possibly motor startup for bad RC3_TRIM values
2015-09-07 09:17:22 +10:00
Andrew Tridgell
2d60934335 Plane: require 5 channels to run failsafe passthrough 2015-09-07 09:16:14 +10:00
Randy Mackay
8c1212d4a6 Plane: support do-mount-control via command-long 2015-09-06 16:01:31 +09:00
Siddharth Bharat Purohit
aea1db7348 ArduPlane: implement on-board compass cal for arduplane 2015-09-03 16:59:14 +10:00
Peter Barker
c2d61391ef Plane: DFMessageWriter; ability to trickle messages out to DF 2015-09-03 15:20:20 +10:00
Gustavo Jose de Sousa
a6bdee076e ArduPlane: remove comments identifying task
We don't need those comments anymore, now that we log the task name. Also,
keeping the comments means that we need to fix them when tasks are added in the
middle, not to mention the problem with tasks that are added selectively (i.e.,
guarded by preprocessor directives).
2015-09-01 20:22:19 +10:00
Gustavo Jose de Sousa
36b457a536 ArduPlane: 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
b0258d902c ArduPlane: 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
Tom Pittenger
81f8358705 Plane: restart landing by jumping to DO_LAND_START or decrement mission
only takes effect on mode change
2015-08-29 21:17:35 +10:00
Stewart Loving-Gibbard
722dd29370 Plane: 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
4bf36d787b Plane: use labs for int32 values 2015-08-28 13:14:50 +10:00
Randy Mackay
cc68260478 Plane: sanity check do-set-home, do-set-ROI and fence-point locations 2015-08-28 13:14:38 +10:00
squilter
583c087eca Plane: update severities 2015-08-28 10:04:35 +10:00
André Kjellstrup
d4ed30a023 Plane: releasenotes update 2015-08-28 10:03:16 +10:00
Randy Mackay
e4c62811ea Plane: fix link to BATT parameter descriptions 2015-08-26 11:17:55 +09:00
Tom Pittenger
ee9a66bd02 Plane: fix compiler warning re double promotion 2015-08-25 16:45:52 +09:00
Grant Morphett
dda229aecd Plane: Added include guards for Plane.h 2015-08-25 13:54:16 +09:00
Tom Pittenger
fed50aa5c5 Plane: is_crashed flag gets reset too easily
This behavior is excessively paranoid about clearing the flag so now it's extra sticky. You can only clear the is_crashed flag when:
- changing modes
- starting to execute a takeoff wp (if mission/index gets reset while still in auto)
- while in takeoff and throttle is suppressed it's held false

behavior that was removed:
- clear flag when starting to execute any nav cmd (reached next wp)
- if while crashed, you "start flying again" (non-sticky)
2015-08-24 20:00:12 +10:00
Tom Pittenger
e1d566f9e7 Plane: simulator sets is_crashed
due to zero-ish vibration in SITL, the is_flying check thinks you're not flying, and this thinks you crashed. This is a SITL specific problem but it brings to light that *if* someone actually had a very low vibration aircraft we don't want to crash them. So, the vibe test has been removed for now. A better test is a variance on the accel
2015-08-24 00:32:41 -07:00
Andrew Tridgell
019f2af930 Plane: fixed build with HIL disabled 2015-08-23 22:21:51 +10:00
Tom Pittenger
f4f111775e Plane: Log height of zero instead of old value 2015-08-23 16:55:08 +10:00
ziltoid2
b9dd6b7aac Plane: prevent delayed compass HIL data from disabling compass at system startup only 2015-08-23 16:48:48 +10:00
Tom Pittenger
37336bbbe1 Plane: moved is_flying related code to its own file 2015-08-23 10:34:19 +10:00
Tom Pittenger
204ff7b158 Plane: move statics into new struct
removed default case statements
2015-08-23 10:34:18 +10:00
Tom Pittenger
6d0ad05192 GCS_Mavlink: added is_crashed to mavlink heartbeat status which shows EMERGENCY 2015-08-23 10:34:18 +10:00
Tom Pittenger
da8f4f9e95 Plane: reworked is_flying
add crash detection, allow disengage via param CRASH_DETECT
improved is_flying behavior
take off, landing and hard-landing improvements
add stillness check to is_flying and log it
minimum airspeed is determined ARSPD_FBW_MIN*0.75
2015-08-23 10:34:18 +10:00
squilter
d421644f3a Plane: define and send FIRMWARE_VERSION 2015-08-23 09:21:57 +09:00
Michael Day
f20beecb0b Plane: Climb/descent "intent" param with CONTINUE_AND_CHANGE_ALT
Param 1 of CONTINUE_AND_CHANGE_ALT now denotes which direction the
user expects the plane to travel when changing altitude:

0 = no expectation, command completes when within 5 m of altitude.
1 = climb expected, command completes at or above altitude.
2 = descent expected, command completes at or below altitude.
2015-08-20 11:37:17 +10:00
Andrew Tridgell
f66174a1ce Plane: improved 3.4.0 release notes 2015-08-20 11:30:28 +10:00
Andrew Tridgell
0c833b76b7 Plane: update release notes for 3.4.0beta1 2015-08-20 11:11:28 +10:00
Andrew Tridgell
b1f810fbb9 Plane: prepare plane 3.4.0beta1 release 2015-08-20 10:53:48 +10:00
Tom Pittenger
86e3116fb6 Plane: implement try send mission_item_reached
clean up unreachable code
2015-08-19 15:42:07 +10:00
Tom Pittenger
f1eb2f88df Plane: post "Distance from LAND point" on every land
- waits until disarm after a land
2015-08-18 17:20:20 +10:00
Stewart Loving-Gibbard
eb2ca91f1c Plane: Fixing unambiguous spelling errors in Parameters.cpp file.
These are user-visible in Mission Planner and the like.
2015-08-18 17:16:19 +10:00
Andrew Tridgell
6186b7a453 Plane: disable TRIM_RC_AT_START by default 2015-08-15 19:13:30 +10:00
Andrew Tridgell
cc96f80f02 Plane: make TRAINING mode obey stall prevention roll limits
Fixes issue#2014
2015-08-14 13:36:21 +10:00
Andrew Tridgell
ac2e1552b2 Plane: don't do battery failsafe when disarmed 2015-08-14 13:17:48 +10:00
Andrew Tridgell
58e829553f Plane: prevent build error with MSG_RPM 2015-08-12 15:03:52 +10:00
Andrew Tridgell
f2c1010501 Plane: prevent mode switch changes changing WP tracking
this fixes a bug where a mode switch change during an AUTO mission
which does not change the flight mode would cause cross tracking to be
reset, so the plane will not correctly follow the desired track

Many thanks to Michael Du Breuil for the log that showed this bug
2015-08-12 14:42:49 +10:00
Gustavo Jose de Sousa
93c80b03ae ArduPlane: 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:28:40 +10:00
squilter
c24ba83fb1 Plane: init vehicle capabilities 2015-08-05 16:08:49 +09:00
Przemek Lekston
ca915d9928 Plane: fix "logging disabled" build. 2015-08-03 10:07:52 +10:00
Grant Morphett
c87929e907 Plane: Fix landing to stop divide by zero if params are 0
If someone mistakenly puts all 0's in their LAND command then
total_distance will be calculated as 0 and cause a divide by 0 error
below thus crashing ArduPilot.  Lets avoid that.
2015-08-03 09:53:48 +10:00
Andrew Tridgell
1b13be4ad7 Plane: disable camera logging when camera support disabled 2015-07-30 12:17:48 +10:00
Andrew Tridgell
6e0057778b Plane: remove unused file 2015-07-30 11:14:39 +10:00
Andrew Tridgell
9f9080983b Plane: trim out some log msgs on APM2
save a bit more flash
2015-07-30 11:14:06 +10:00
Andrew Tridgell
49f7adcc80 Plane: re-enable geofencing on APM2
it only just fits ...
2015-07-30 11:04:31 +10:00
Andrew Tridgell
6c07795b63 Plane: added HIL_SUPPORT define
disable HIL support on APM2 to save flash space
2015-07-30 11:04:31 +10:00
Andrew Tridgell
8f0e7e0693 Plane: fixed above_location_current() for non-terrain alt
thanks to Lekston for finding the bug (PR#2610)
2015-07-29 08:20:23 +10:00
Andrew Tridgell
58fa38cc12 Plane: allow rudder disarm based on ARMING_RUDDER parameter 2015-07-23 21:48:50 +10:00
pepevalbe
da41d85433 Plane: It is possible to disarm with left rudder.
Using is_flying() avoid accidentally disarming while flying.
2015-07-23 21:48:44 +10:00
Przemek Lekston
4b38d444dd Plane: fix default behaviour of flaps. 2015-07-23 15:28:08 +10:00
Przemek Lekston
6a62b11536 Plane: fix LOITER_TO_ALT to verify headings towards waypoints within the loiter radius.
Whenever next waypoint is within the loiter radius, maintaining loiter would prevent us from ever pointing toward the next waypoint. Hence for very close waypoints loiter_to_alt becomes verified by the altitude only.
2015-07-23 15:24:43 +10:00
Grant Morphett
cc6a981b12 Plane: deleted the old command_description.txt file which isn't used. 2015-07-21 16:31:24 +09:00
Andrew Tridgell
51bdbea745 Plane: fixed format for ARM message 2015-07-20 09:46:19 +10:00
Randy Mackay
b670988e05 Plane: log IMUDT 2015-07-14 13:31:56 +09:00
Andrew Tridgell
266857c595 Plane: avoid linking optflow on APM2
not used, just taking memory
2015-07-10 16:46:30 +10:00
Lucas De Marchi
e97034f8e9 ArduPlane: use ARRAY_SIZE macro 2015-07-07 07:56:30 +10:00
Randy Mackay
76ccf4043e Plane: log ahrs home and ekf origin 2015-07-06 12:11:56 +09:00
Tom Pittenger
f1ee129423 Plane: compiler warnings
- float to double in gcs_send_test (x2)
- float to bool
2015-07-06 09:30:19 +10:00
Andre Kjellstrup
edc32092ce Plane: Do not run long_failsafe during final or landing. 2015-07-02 14:28:45 +10:00
Andre Kjellstrup
9d525d4382 Plane: Do not run FailSafe if on final approach or landing.
A failsafe (Circle, RTL) would easily become a disaster if trigged
during approach or final.
2015-07-02 14:28:45 +10:00
Andre Kjellstrup
baf4989a80 Plane: Ignore low voltage failsafe during landing
Log it, but do not switch to RTL if already in final or landing.
2015-07-02 14:28:44 +10:00
Peter Barker
3fce7eb21a Plane: use common mission logging code 2015-06-30 16:23:35 +10:00
Peter Barker
bbfe67fe2a Plane: use common system information logging 2015-06-30 16:23:34 +10:00
Peter Barker
7f0a0cf64f Plane: DataFlash frontend/backend split 2015-06-26 16:02:50 +10:00
Michael du Breuil
54c06cde02 Plane: Log the steering controller PID state 2015-06-22 15:41:44 +10:00
Michael du Breuil
1a121f543b Plane: Use PIDS for steering rather then PIDY 2015-06-22 15:41:44 +10:00
Andrew Tridgell
4aac2c5c96 Plane: trigger OVERRIDE_CHAN in px4io
setup the MODESWITCH channel as our OVERRIDE_CHAN, allowing for
instant manual passthru in px4io when OVERRIDE_CHAN goes above 1750

This makes for faster switching, and avoids bugs where a still enabled
FMU channel disables override
2015-06-21 18:19:16 +10:00
Andrew Tridgell
248bf8c5a3 Plane: disable geofence on APM2 2015-06-20 14:52:42 +10:00
Andrew Tridgell
2dbe372b2f Plane: cleanup some coverity warnings 2015-06-20 13:26:34 +10:00
Andrew Tridgell
ae1f2e8bea Plane: fixed missing break statement 2015-06-20 12:35:07 +10:00
Andre Kjellstrup
19aa7caad0 GCS_Failsafe: option to trigger only in AUTO mode. 2015-06-18 07:52:43 +10:00
Andre Kjellstrup
39797529fd GCS_Failsafe: defines for new failsafe option 2015-06-18 07:52:42 +10:00
Andre Kjellstrup
3e84132f6b GCS_Failsafe: new parameter option 2015-06-18 07:52:42 +10:00
Andrew Tridgell
76c0293a85 Plane: added support for DO_AUTOTUNE_ENABLE 2015-06-15 09:20:55 +10:00
Andrew Tridgell
d5c5400e76 Plane: added support for ALTITUDE_WAIT mission command 2015-06-15 09:20:55 +10:00
Andrew Tridgell
358a13261c Plane: moved sink_rate calculation to update_alt()
this makes it available to non-landing code
2015-06-15 09:20:55 +10:00
Randy Mackay
814cb5ce18 Plane: add vibration DF logging and send to GCS 2015-06-12 21:36:47 +09:00
Andrew Tridgell
3427224bfc Plane: fixed logging of parameters on arming 2015-06-12 13:11:06 +10:00
Eugene Shamaev
5b34fa4f6a Plane: added DSM bind support 2015-06-10 17:19:10 +10:00
Andrew Tridgell
6b9854457d Plane: added PID tuning logging for ground steering 2015-06-09 12:48:56 +10:00
Andrew Tridgell
bc6a52f8db Plane: fixed handling of OVERRIDE_CHAN on arming
When arming we need to ensure that we don't enable any channels
otherwise PX4IO will think that FMU is active and will stop running
the internal RC mixer
2015-06-09 12:48:55 +10:00
Michael Oborne
7dcd24137e Plane: add bitmask documentation 2015-06-05 10:21:21 +09:00
Lucas De Marchi
6bbf0e7770 Plane: stop using alias FUNCTOR_BIND_VOID 2015-06-04 13:37:38 +09:00
Andrew Tridgell
bf396d7138 Plane: log to tlog when we set home via MAVLink 2015-06-04 13:26:39 +10:00
Andrew Tridgell
5942bf5cf0 Plane: added plane specific arming checks
added check for roll and pitch limits, after flyaway due to small
LIM_ROLL_CD
2015-06-04 13:26:39 +10:00
Andrew Tridgell
47f4a5db10 Plane: try to load px4 mixer 10 times on boot
this allows for possible temporary failures
2015-06-02 21:59:03 +10:00
Andrew Tridgell
3e74b82bc4 Plane: fixed two bugs in px4io override code
First bug is going via microSD to poulate mixer. We can't rely on the
microSD being writeable or functioning properly. Instead create the
buffer in memory and only write a copy to the filesystem.

Second bug is related to extreme trim values on channels. If trim
values are well out of range then the mixer fails and override fails.
2015-06-02 21:48:18 +10:00
Randy Mackay
9ece826c28 Plane: Log_Write_Startup writes parameters 2015-06-01 20:22:50 +09:00
Grant Morphett
2c3cff7f84 Plane: Moving parameter logging to be after all systems have started 2015-06-01 20:22:40 +09:00
Andrew Tridgell
db784c83dc Plane: removed unnecessary pragmas 2015-06-01 17:42:21 +10:00
Andrew Tridgell
9adc879253 Plane: changes for new AHRS API 2015-06-01 16:16:49 +10:00
Andrew Tridgell
1797e2baa8 Plane: simpler initalisation of plane class
take advantage of C++11 in-class initialisation
2015-06-01 08:48:54 +10:00
Andrew Tridgell
57544a3537 Plane: added blank Parameters.pde for MissionPlanner 2015-05-30 15:21:33 +09:00
Andrew Tridgell
1520d8f734 Plane: catch a px4_mixer failure case 2015-05-30 11:17:56 +10:00
Andrew Tridgell
9b77260ebb Plane: disable PID logging on APM2 2015-05-29 16:32:05 +10:00
Andrew Tridgell
2f5ade4810 Plane: use 16 bit mask for GCS_PID_MASK 2015-05-27 15:09:47 +10:00
Andrew Tridgell
09476bf9d3 Plane: added GCS_PID_MASK for realtime pid tuning 2015-05-27 14:28:46 +10:00
Andrew Tridgell
c31da93726 Plane: log roll and pitch PIDs 2015-05-27 14:28:45 +10:00
Peter Barker
d7ed06816a Plane: use 64-bit timestamps for dataflash logs 2015-05-27 11:54:15 +10:00
Andrew Tridgell
964b8ed2f3 Plane: fix for scheduler API change 2015-05-26 14:33:52 +10:00
Lucas De Marchi
7c4cf41ebc ArduPlane: use functor macros
Functor is not yet being used but let's make is macro fallback to the
previous Delegate implementation for easy of transition between the two.
2015-05-26 13:46:54 +10:00
Andrew Tridgell
97687f04af Plane: enable messages for MAVLink gimbal support 2015-05-26 08:30:30 +10:00
Andrew Tridgell
5511140f95 Plane: fixed fence return point on breach
this was broken by the recent guided mode changes. Thanks to Grant for
noticing!
2015-05-24 15:24:02 +10:00
Andrew Tridgell
eee191875e Plane: fixed plane version, removing old pde 2015-05-22 16:07:43 +10:00
Andrew Tridgell
8974c879fe Plane: fixed paths for GCS_MAVLink parameter file 2015-05-21 11:42:45 +10:00
Andrew Tridgell
8359b75201 Plane: removed NOINLINE define 2015-05-21 09:35:55 +10:00
Andrew Tridgell
78f02634d0 Plane: fixed ins reference in plane object 2015-05-21 07:48:54 +10:00
Andrew Tridgell
441d96c946 Plane: fixed APM1 build 2015-05-21 07:48:53 +10:00
Andrew Tridgell
554869033f Plane: disabled rangefinder on APM2
this saves 5k of flash space, enough for support to be kept for
another release
2015-05-21 07:48:53 +10:00
Andrew Tridgell
6fe65cdd9a Plane: removed duplicate rangefinder 2015-05-21 07:48:53 +10:00
Andrew Tridgell
b92c2409e4 Plane: added local millis() and micros() to reduce code size a bit 2015-05-21 07:48:53 +10:00
Andrew Tridgell
150af130ee Plane: get closer to making var_info appear in text segment 2015-05-21 07:48:52 +10:00
Andrew Tridgell
18c37935c9 Plane: convert from .pde to .cpp files 2015-05-21 07:48:52 +10:00
Andrew Tridgell
f75e9f95d1 Plane: Adjust for new AP_Scheduler syntax 2015-05-21 07:48:48 +10:00
Andrew Tridgell
6be0932d82 Plane: prepare for 3.3.0 release 2015-05-20 18:01:21 +10:00
Andrew Tridgell
db871cc581 Plane: prevent trim values out of range for PX4 mixer
thanks to Brian Christal for a good bug report!
2015-05-17 21:24:58 +10:00
Tom Pittenger
b4be1b866a Copter: compiler warning stuff
float to double promotion via cos instead of cosf
2015-05-16 08:21:36 +10:00
Andrew Tridgell
9ceee3cea7 Plane: support setting just accel trim with preflight-cal
use param5==2
2015-05-16 07:56:35 +10:00
Randy Mackay
174c55b0af Plane: add support for 4th mavlink channel 2015-05-15 15:07:28 +09:00
Andrew Tridgell
2feee9aa88 Plane: call Log_Write_POS() 2015-05-15 14:28:15 +10:00
Andrew Tridgell
e362b4fc04 Plane: fix for new compass API 2015-05-15 14:25:44 +10:00
Andrew Tridgell
7f488c1c9c Plane: removed duplicate rangefinder instance 2015-05-14 08:51:59 +10:00
Tom Pittenger
76f448e512 Plane: Write new mission to log without telling GCS 2015-05-13 20:25:57 +09:00
Randy Mackay
0db25426c0 Plane: use accel_calibrated_ok_all 2015-05-12 16:32:20 +09:00
Randy Mackay
a3271e4584 Plane: clarify SYSID_MAV parameter description 2015-05-11 09:23:06 +09:00
Andrew Tridgell
ff126db1d3 Plane: make GUIDED behaviour match copter
we now have to be in GUIDED mode to accept a new GUIDED WP. When
entering GUIDED mode start loitering about the current position
2015-05-10 14:28:02 +10:00
Tom Pittenger
eb2bfcd2d3 Plane: replace fabs() with labs(), unnecessary int to float conversion 2015-05-09 09:57:25 +10:00
Tom Pittenger
ba29967454 Plane: if receiving last mission item then log new mission to dataflash 2015-05-08 21:01:51 +10:00
Andrew Tridgell
fd84a6b493 Plane: fixed missing break in fence floor logic 2015-05-08 16:27:16 +10:00
Michael Day
ee14678d2a Plane: Allow disabling of only the fence floor. 2015-05-08 16:25:22 +10:00
Andrew Tridgell
1a7d831327 Plane: support raw IMU logging 2015-05-07 12:11:52 +10:00
Andrew Tridgell
8395b92309 Plane: revert AP_Math class change 2015-05-05 13:27:04 +10:00
Tom Pittenger
2301883d5c Plane: compiler warnings: function not declared 2015-05-05 13:27:01 +10:00
Tom Pittenger
c4c47cba66 Plane: compile warnings: float to double. print statements require doubles 2015-05-05 13:26:59 +10:00
Tom Pittenger
43006c0eec Plane: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:58 +10:00
Tom Pittenger
c2eeed7d85 Plane: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:57 +10:00
Tom Pittenger
0cbbb20dcf Plane: compiler warnings: apply is_zero(float) or is_equal(float) 2015-05-05 13:26:54 +10:00
Andrew Tridgell
a299fdacdf Plane: fix for HAL_SITL rename 2015-05-05 09:45:57 +10:00
Michael Day
8a6fc0ad77 Plane: If LAND_FLARE_SEC is 0 use LAND_FLARE_ALT for aim_height.
See discussion here:

https://github.com/diydrones/ardupilot/pull/2197
2015-04-30 17:19:55 +10:00
Michael Day
05d065b471 Plane: Make LAND_FLARE_SEC optional. 2015-04-30 14:34:34 +10:00
Andrew Tridgell
93fed6c2ac Plane: update release notes for 3.3.0beta2 2015-04-30 14:07:30 +10:00
Andrew Tridgell
c65f5a1bda Plane: disable camera mount support on APM2
this makes the firmware small enough to squeeze onto an APM2 again
2015-04-30 11:57:20 +10:00
Andrew Tridgell
75c9689a64 Plane: added armed and safety state to STAT log message 2015-04-30 11:15:08 +10:00
Andrew Tridgell
5038e1d26d Plane: remove deprecated log types
we no longer depend on the binary format for Replay, so we can change
IDs now
2015-04-30 11:05:17 +10:00
Tom Pittenger
f5dfe7c650 ArduPlane: Log isFlying status
Log is_flying() status and its float probability in new STAT msg
and piggyback on MODE bitmask flag.
2015-04-30 10:57:03 +10:00
Randy Mackay
e122916815 Plane: fix MNT param description 2015-04-29 09:07:52 +09:00
Tom Pittenger
c974134ea4 ArduPlane: RTL Autoland skip HOME
With RTL_AUTOLAND=1 we navigate to HOME then to the DO_LAND_START commands. Now with RTL_AUTOLAND=2 we head directly to the DO_LAND_START commands and thus skip changing altitude to ALT_HOLD_RTL and head directly to the first land waypoint as if it was the next normal waypoint.
2015-04-28 12:09:00 +10:00
Andrew Tridgell
3c9ed9b5a6 Plane: don't limit down pitch during landing
there is no reason for a special case for aircraft without airspeed
sensors
2015-04-28 09:25:49 +10:00
Andrew Tridgell
c73945686c Plane: use ahrs.yaw_sensor not direct compass read for yaw
also use 10 degrees of margin, to cope with fast yaw changes (this
function is called at only 10Hz)
2015-04-25 09:12:17 +10:00
Andrew Tridgell
343a682d22 Plane: fixed conditional for 0 lat/lon 2015-04-25 09:12:17 +10:00
Michael Day
607d9ca839 Plane: Implementation of do_ and verify_ for MAV_CMD_NAV_LOITER_TO_ALT 2015-04-25 09:12:16 +10:00
Tom Pittenger
1176146e06 Plane: fix compile warnings for unused functions 2015-04-24 14:09:43 +09:00
Tom Pittenger
bd9b573969 Plane: Fix compile warnings
- const values declared as default double
- This is the first pass in fixing the warnings, trying to catch some low hanging fruit. All const double values are changed to float. For example: 1.0 is now 1.0f.
- Only except is in location.pde where some double stuff is happening
- I did not change the exponentials 1e7 type stuff which should be 1e7f. A different commit
2015-04-24 12:20:53 +09:00
Randy Mackay
0acc4af63c Plane: replace range finder health with status 2015-04-24 10:57:28 +09:00
Paul Riseborough
32f87d008a Plane: Allow EKF to pull data from range finder object 2015-04-24 10:56:56 +09:00
Niels Joubert
6b7b3247ed Plane: Handle GPS Injection 2015-04-24 08:01:33 +10:00
Jaime Machuca
ab1cf2261d Plane: add call to send digicam configure messages from a mission item
Also add log_picture to separate the taking of a picture
from the dataflash logging and feedback to GCS
2015-04-20 13:50:17 +09:00
Andrew Tridgell
664c92fb81 Plane: fixed RUDDER_ONLY to not combine direct rudder output
this prevents us over-rolling in FBWA
2015-04-20 09:09:23 +10:00
Andrew Tridgell
edec706c12 Plane: added RUDDER_ONLY parameter
this gives much easier setup for rudder only aircraft.
2015-04-20 09:09:23 +10:00
Michael du Breuil
78a3ce46b9 Plane: Use tecs to control the throttle during takeoff 2015-04-16 08:56:37 +10:00
Michael du Breuil
867ca05e17 Plane: fix a relative altitude check for glide slope building 2015-04-13 20:15:07 -07:00
Michael du Breuil
4b1d71e390 Plane: rebuild the glide slope if we are above it and already climbing
(controlled by GLIDE_SLOPE_THR)
2015-04-13 20:14:51 -07:00
Michael Day
0279fdb0de Plane: Never trigger fence breach in LAND_FINAL flight stage. 2015-04-14 11:12:39 +10:00
Andrew Tridgell
03a50712db Plane: default LAND_DISARMDELAY to 20 seconds
most people will want to disarm
2015-04-06 15:37:54 -07:00
Andrew Tridgell
36796fb810 Plane: added LOCAL_POSITION_NED message 2015-04-05 09:25:41 -07:00
Randy Mackay
7e4dd9666c Plane: fix serial manager integration 2015-04-01 15:13:20 -07:00
Randy Mackay
ab749f884f Plane: integrate Serial Manager instance 2015-04-01 14:59:26 -07:00
Andrew Tridgell
6a33588f67 Plane: make LOG_BITMASK logging when disarmed clearer 2015-03-31 14:38:09 -07:00
Randy Mackay
d3663d43c1 Plane: send invalid batt curr if monitor unhealthy 2015-03-20 11:05:35 +09:00
Andrew Tridgell
9468a59204 Plane: require 3 seconds of not flying to declare a crash on land 2015-03-17 10:40:16 +11:00
Tom Pittenger
1b0ed277b3 Plane: Disarm On Land
After a landing has occur using a LAND waypoint, automatically disarm
after this many seconds have passed. Use 0 to not disarm.
2015-03-17 10:30:41 +11:00