Commit Graph

1832 Commits

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