Commit Graph

42592 Commits

Author SHA1 Message Date
Randy Mackay c28fd27b02 AP_NavEKF3: writeExtNavData accepts delay 2020-05-15 10:07:52 +09:00
Randy Mackay f26a2a47b4 AP_NavEKF2: writeExtNavData accepts delay 2020-05-15 10:07:52 +09:00
Randy Mackay 366d03a533 SITL: add VICON_YAWERR
this allows simulating an error in the camera's reported yaw
2020-05-15 09:22:07 +10:00
Randy Mackay bf9ee4ada8 SITL: remove unused MAG_ERROR and VICON_HSTLEN params 2020-05-15 09:22:07 +10:00
Andrew Tridgell fd32dff45a AP_IOMCU: force safety off on IOMCU reset
if safety was forced off previously and we get an IOMCU reset then
force it off when the reset happens so vehicle can keep flying
2020-05-14 18:28:50 +10:00
mhefny 9f56b656e0 SITL: Revamp Examples to support multiple drones 2020-05-14 18:05:16 +10:00
mhefny 5a64156862 SITL: SITL-Webots timing is received from Webots only 2020-05-14 18:05:16 +10:00
Andrew Tridgell 5437f1e6ee AP_Periph: prepare for 1.1.0 2020-05-14 15:40:03 +10:00
Paul Riseborough 0c9433873c ArduPlane: Modify ekf failsafe checks
Restore velocity check and make the logic closer to what ArduCopter does.
Remove unnecessary initialisation.
2020-05-14 10:40:48 +10:00
Paul Riseborough 85e53d53e1 ArduPlane: Don't use optical flow health when assessing EKF nav health
Plane currently doesn't use optical flow for navigation - it is used fo terrain height estimation.
2020-05-14 10:40:48 +10:00
Paul Riseborough 3a10838c65 ArduPlane: Don't check variances if not available 2020-05-14 10:40:48 +10:00
Paul Riseborough 70a02f31ab ArduPlane: More efficient type use 2020-05-14 10:40:48 +10:00
Paul Riseborough 5b312e9f09 ArduPlane: Fix logic error 2020-05-14 10:40:48 +10:00
Paul Riseborough cd5714d059 ArduPlane: Allow EKF dead reckoning to continue after loss of GPS 2020-05-14 10:40:48 +10:00
Paul Riseborough 40cc5a5006 ArduPlane: Improve EKF failsafe in VTOL modes
Replicates Copter behaviour with a three step process if the EKF sustains a loss of navigation as detected by high GPS innovation test ratios:

1) Attempts a yaw reset using the GSF estimate if available
2) Attempts a lane switch
3) Falls back to a non-position mode
2020-05-14 10:40:48 +10:00
Paul Riseborough 318811210f AP_NavEKF3: Don't perform emergency yaw reset unless commanded externally
This limits the use of the reset to situations where it is a last ditch resort before a lane switch and failsafe.
This will limit false positives for general deployment, but still provide protection from fly-aways at the cost of some increase in reaction time.
2020-05-14 10:40:48 +10:00
Paul Riseborough c94de61e29 AP_NavEKF2: Don't perform emergency yaw reset unless commanded externally
This limits the use of the reset to situations where it is a last ditch resort before a lane switch and failsafe.
This will limit false positives for general deployment, but still provide protection from fly-aways at the cost of some increase in reaction time.
2020-05-14 10:40:48 +10:00
Andrew Tridgell fc28cd4fa2 GCS_MAVLink: fixed a ftp duplicate reply
this fixes a bug in burst replies where the duplicate reply may have
the wrong offset. This causes the "paramftp bad type" error
2020-05-14 09:53:42 +10:00
Randy Mackay 64360f263c Copter: land detector allows larger lean angle request in land mode 2020-05-14 08:24:29 +09:00
chobits a7aa43f5d5 AP_NavEKF2: ext nav will not reset yaw if compass is used 2020-05-14 08:04:55 +09:00
Randy Mackay 45e6896d95 AP_NavEKF3: ensure extnav angle error is at least 5deg 2020-05-14 08:02:13 +10:00
Andy Piper e9b939ccb5 AP_Scripting: build fix for macOS 2020-05-13 11:59:03 -07:00
Andrew Tridgell 36869f668b AP_Scripting: fixed build on cygwin with deep directories 2020-05-12 19:55:21 +10:00
Andrew Tridgell 50db7f1648 AP_Scripting: update README.md 2020-05-12 19:55:21 +10:00
Andrew Tridgell 4311385cb9 waf: recurse into AP_Scripting for build 2020-05-12 19:55:21 +10:00
Andrew Tridgell be812f490f waf: added AP_LIB_EXTRA_SOURCES
used to allow building of dynamically generated library components
2020-05-12 19:55:21 +10:00
Andrew Tridgell 9cf464e570 AP_Scripting: removed the old Makefile 2020-05-12 19:55:21 +10:00
Andrew Tridgell 2c6fd13899 AP_Scripting: auto-build the bindings 2020-05-12 19:55:21 +10:00
Andrew Tridgell 5c8e4a4d7b AP_Scripting: removed old generated bindings 2020-05-12 19:55:21 +10:00
Buzz 9d9fdd1cb0 AP_Scripting: add big demo script for editing and updating mission item/s from lua. 2020-05-12 14:20:26 +10:00
Andrew Tridgell 2ce5f0f566 removed stray file 2020-05-12 09:59:34 +10:00
Buzz 816474b6e8 AP_Scripting: rebuild bindings 2020-05-12 09:58:14 +10:00
Buzz 963b25059d AP_Scripting: allow to get/set/create arbitrary mission items
fetch item/s by their index, and review wp data, etc.  
AP_Mission: ran mission files through approved astyle  as they were non-compliant before this( astyle --options=Tools/CodeStyle/astylerc   )
2020-05-12 09:58:14 +10:00
Randy Mackay 59a2667870 Plane: quadplane's throttle mix uses filtered accelerations 2020-05-12 09:56:09 +10:00
Andrew Tridgell d16f31711e AP_RangeFinder: fixed mixing UAVCAN and non-UAVCAN rangefinders
UAVCAN rangefinders add themselves to the frontend drivers as the
devices appear. If they turn up before RangeFinder::init() is run then
this prevented init() from scanning for the other rangefinders as
num_instances is non-zero

This also fixes a race condition in updating num_instances in the
UAVCAN backend
2020-05-12 09:45:15 +10:00
dorovl 70f445e7f1 Bone : Faulty PWM output after few flight controller restarts due to wrong IEP Timer configuration
modified:   Makefile
	modified:   RcAioPRU.p
	modified:   RcAioPRUTest.c
	modified:   RcAioPRU_BBBLUE_bin.h
	modified:   RcAioPRU_BBBMINI_bin.h
	modified:   RcAioPRU_POCKET_bin.h
	new file:   start_test
2020-05-11 18:57:55 +10:00
Andrew Tridgell 582de68ea7 AP_Periph: updated release notes 2020-05-11 18:48:18 +10:00
Andrew Tridgell 50d2b51f3d AP_Periph: added release notes 2020-05-11 18:46:07 +10:00
Andrew Tridgell 67b7c21f87 AP_Periph: prepare for 1.1.0 beta release 2020-05-11 18:38:14 +10:00
Andrew Tridgell 4c1418f325 AP_Periph: added LED blinking while waiting for DNA 2020-05-11 18:36:46 +10:00
Andrew Tridgell d789c618a2 AP_Periph: use rangefinder get_address() 2020-05-11 18:36:46 +10:00
Andrew Tridgell 603e5c4b55 AP_RangeFinder: added get_address()
allows AP_Periph to supply sensor_id for multiple CAN rangefinders
2020-05-11 18:36:46 +10:00
Peter Barker 5100c9fb8c GCS_Common: whitelist AUTOPILOT_VERSION for in_delay_callback sending
GCSs may request this very early on in the boot process, particularly
for SITL.

If we try to send it during a delay callback then we end up dropping it
at the moment - but we'd already sent the ack in response to the
request.
2020-05-11 15:22:38 +10:00
Peter Barker ca4af94833 AP_Logger: prevent potential infinite recursion in log-open codepath
If anything in start_new_log did logging (for example, by sending a
statustext), we end up infinitely recursing.

With the patch:

diff --git a/libraries/AP_Logger/AP_Logger_File.cpp b/libraries/AP_Logger/AP_Logger_File.cpp
index 69b8ef0431..eb422d10f8 100644
--- a/libraries/AP_Logger/AP_Logger_File.cpp
+++ b/libraries/AP_Logger/AP_Logger_File.cpp
@@ -778,6 +778,7 @@ void AP_Logger_File::PrepForArming()
  */
 void AP_Logger_File::start_new_log(void)
 {
+    gcs().send_text(MAV_SEVERITY_WARNING, "Starting new log");
     stop_logging();

     start_new_log_reset_variables();
pbarker@bluebottle:~/rc/ardupilot(master)$

We see:

    at ../../libraries/AP_Logger/AP_Logger_File.cpp:781
    this=0x555555ad9d30, pBuffer=0x7fffff8209d0, size=75, is_critical=true)
    at ../../libraries/AP_Logger/AP_Logger_Backend.cpp:372
    this=0x555555ad9d30, pBuffer=0x7fffff8209d0, size=75)
    at ../../libraries/AP_Logger/AP_Logger_Backend.h:32
    this=0x555555ad9d30, message=0x7fffff820b10 "Starting new log")
    at ../../libraries/AP_Logger/LogFile.cpp:466
    this=0x555555a6d758 <copter+11384>,
    message=0x7fffff820b10 "Starting new log")
    at ../../libraries/AP_Logger/AP_Logger.cpp:752
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log", arg_list=0x7fffff820be0,
    dest_bitmask=1 '\001') at ../../libraries/GCS_MAVLink/GCS_Common.cpp:1847
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log", arg_list=0x7fffff820be0)
    at ../../libraries/GCS_MAVLink/GCS.cpp:53
    this=0x555555a6e708 <copter+15400>, severity=MAV_SEVERITY_WARNING,
    fmt=0x5555557d64d0 "Starting new log")
    at ../../libraries/GCS_MAVLink/GCS.cpp:60
    at ../../libraries/AP_Logger/AP_Logger_File.cpp:781
    this=0x555555ad9d30, pBuffer=0x7fffff820dc0, size=75, is_critical=true)
    at ../../libraries/AP_Logger/AP_Logger_Backend.cpp:372

I'm not aware of any instances in the code where this will actually
happen - but it could easily sneak in.
2020-05-11 15:12:36 +10:00
Henry Wurzburg 12d5602926 AP_HAL_ChibiOS: Add ability to use UART3 and UART4 in bd alt config 4 2020-05-11 14:18:35 +10:00
chobits 8ce27afba0 Copter: fix mode and fence gps check fail message 2020-05-11 10:41:06 +09:00
Devansh Chawla ebd2e15a6e Tools: added name to GIT_Success.txt 2020-05-10 16:18:49 -07:00
Peter Barker 50523ed0fa AP_HAL_ChibiOS: remove pointless initialisations
These are never stack-allocated.

Only saves 16 bytes - but several lines
2020-05-10 18:03:36 +10:00
Randy Mackay 67903a29e2 AP_NavEKF3: fix getLLH when no GPS 2020-05-10 15:35:55 +10:00
Randy Mackay b95bc9076b AP_NavEKF2: fix getLLH when no GPS 2020-05-10 15:35:55 +10:00