Commit Graph

46350 Commits

Author SHA1 Message Date
Andrew Tridgell 4fbdb59398 HAL_ChibiOS: prevent sharing the same DMA stream on TIMn_UP channels
this avoids an issue with DShot where we run the same DMA stream on
two timers at once
2021-03-02 11:58:38 +11:00
Andy Piper 6cb263056d AP_HAL_ChibiOS: build fix for iomcu 2021-03-02 11:58:38 +11:00
Andy Piper d0e4d510cf AP_HAL_ChibiOS: order PWM timers by DMA UP stream id to prevent deadlocks in dshot 2021-03-02 11:58:38 +11:00
Iampete1 2e9c11fbdf Copter: add FLIGHT_OPTIONS param and options bits to disable thrust loss and yaw imbalance warnings 2021-03-02 09:35:06 +09:00
Iampete1 447af29ef1 Copter: add yaw imbalance check 2021-03-02 09:35:06 +09:00
Iampete1 1d050a01ce Plane: Quadplane: add Q_OPTION to ignore forward flight angle limits in Q modes 2021-03-02 11:16:35 +11:00
Iampete1 e64a7b2884 AP_Mount: type enable flag 2021-03-02 10:09:19 +11:00
Iampete1 3306484023 AP_NavEKF2: log position offset as float in meters 2021-03-02 10:03:12 +11:00
Iampete1 8173cd442a AP_NavEKF3 log position offset as float in meters 2021-03-02 10:03:12 +11:00
Paul Riseborough 0971ef55a4 AP_NavEKF3: Fix bug preventing EKFGSF running when needed for reset
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Paul Riseborough 948650dbe5 AP_NavEKF2: Fix bug preventing EKFGSF running when needed for reset
The gpsAccuracyGood flag should not be used because it will go false if GPS innovations become high due to bad yaw which is when the EKFGSF is required. to keep running.
2021-03-02 07:28:24 +11:00
Peter Barker 0daa1a63d3 autotest: remove pointless fetch_parameters call
And the entire method, replace with equivalent test
2021-03-01 17:27:52 +11:00
nkruzan 3e0f9ab4e7 Tools:autotest\common.py fix text typo 2021-03-01 15:15:38 +11:00
Peter Barker 61138f342a autotest: do not time out receiving of heartbeat if running gdb
pausing indefinitely when running GDB is OK.
2021-03-01 13:44:23 +11:00
Peter Barker 1f47698076 autotest: use change_mode in place of mavproxy.send 2021-03-01 13:10:09 +11:00
Iampete1 8ebe64a274 Plane: Quadplane disable forward motor assist in Q modes if rangefinder is out of range low 2021-02-28 18:48:56 +11:00
Andrew Tridgell 97e7b48ca1 Tools: rebuild DrotekP3Pro bootloader 2021-02-28 17:24:25 +11:00
Andrew Tridgell 0528414a9c AP_Bootloader: limit the 1M flash check to the F427
this fixes an issue with the DrotekP3Pro which uses the STM32F469
2021-02-28 17:24:25 +11:00
Andrew Tridgell 44df1dd0ca Plane: fixed the pitch control in transition for tilt rotors
this fixes an issue found by Henry. If level transition is set when
transitioning to FBWA from a Q mode, and the pilot pulls back on the
pitch stick to demand pitch up then the plane would go into a
high-alpha flight state with low vertical throttle so it would not
climb, resulting in it never getting past airspeed wait state
2021-02-28 11:33:18 +11:00
Andrew Tridgell 319368e4b7 Plane: fixed yaw on fwd transition in tilt quadplanes
this fixes the coordinated turn calculation for yaw rate in tilt
quadplanes, and also only applies it if demanding at least 10 degrees
roll.

this fixes an issue when the pilot has a small roll demand in FBWA
from slightly off roll RC trim

thanks to Henry for helping diagnose this!
2021-02-27 14:42:20 +11:00
Andrew Tridgell e884e4c5ac AP_Math: added fixedwing_turn_rate() helper 2021-02-27 14:42:20 +11:00
Yash Vadi b450740fb0 AP_Button: update BTN_FUNCx param descriptions 2021-02-26 12:30:13 +11:00
Andrew Tridgell b137f9e319 waf: fixed embed error on python2 2021-02-26 10:59:09 +11:00
bugobliterator 6d25b02508 waf: need to crc the padded bootloaders before embedding 2021-02-26 10:59:09 +11:00
Andrew Tridgell 35149ae8b2 AP_Scripting: allow scripting startup with no sdcard
as scripts can be in ROMFS we should still create the thread without
the scripts directory
2021-02-25 11:34:39 -07:00
Peter Barker d3b3c443bc autotest: reset copter completely after autotune test 2021-02-25 10:49:58 +11:00
Peter Barker 9932aa99f7 GCS_MAVlink: return identical seq in MISSION_CURRENT if possible after set
// because MISSION_SET_CURRENT is a message not a command,
        // there is not ACK associated with us successfully changing
        // our waypoint.  Some GCSs use the fact we return exactly the
        // same mission sequence number in this packet as an ACK - so
        // if they send a MISSION_SET_CURRENT with seq number of 4
        // then they expect to receive a MISSION_CURRENT message with
        // exactly that sequence number in it, even if ArduPilot never
        // actually holds that as a sequence number (e.g. packet.seq==0).
2021-02-24 19:00:34 +11:00
Andrew Tridgell 14791c335b HAL_ChibiOS: fixed build of f3 boards without PWM out 2021-02-24 18:25:02 +11:00
Andrew Tridgell 98abe125ad Tools: rebuild IO firmware
we now have enough memory again
2021-02-24 18:21:08 +11:00
Andrew Tridgell 9d87645c6e AP_IOMCU: fixed event handling bug in IOMCU code
if a a message send fails to IOMCU then we were discarding all
currently pending non-recurring events. This means that states like
oneshot enable would be lost if the IOMCU reset.

We now re-trigger all events that have not yet been handled
2021-02-24 18:21:08 +11:00
Andrew Tridgell 9126579b77 AP_IOMCU: added memory to debug code 2021-02-24 18:21:08 +11:00
Andrew Tridgell 243cf2199d HAL_ChibiOS: disable shared DMA on IOMCU
this saves about 600 bytes of ram
2021-02-24 18:21:08 +11:00
Andrew Tridgell bf999f701f AP_InertialSensor: fixed ICM-20602 y offset bug
this works around a bug in the ICM-20602 that can cause the Y facttory
offset register to change unexpectedly. We don't know what triggers
this.

The fix is to save the factory offset at boot and restore it if it
changes. We log a message describing the change, but don't mark the
IMU unhealthy as this happens too often and we don't want to fallback
to a 2nd less good quality IMU (eg. MPU6000 on MatekH743)
2021-02-24 18:18:37 +11:00
Andrew Tridgell 4cddf37984 AP_InertialSensor: log unexpected register changes
when the register checking code finds an error we will log what
register changed and to what value
2021-02-24 18:18:37 +11:00
Andrew Tridgell c23f61b79a HAL_ChibiOS: set internal error on panic 2021-02-24 18:18:37 +11:00
Andrew Tridgell f250c4d684 AP_InertialSensor: added an internal error for panic
ensure users cannot arm while in a panic
2021-02-24 18:18:37 +11:00
Andrew Tridgell 7010eae9e8 AP_HAL: remember details of register check fails
this allows for logging of register resets
2021-02-24 18:18:37 +11:00
Andrew Tridgell 85ef6b7ac6 AP_InertialSensor: added optional logging of register changes 2021-02-24 18:18:37 +11:00
Hwurzburg 7d7a7a365d Copter: correct metadata for do_change_speed cmd 2021-02-24 16:06:41 +09:00
Andrew Tridgell eec05c1f48 HAL_ChibiOS: fixed a race and null ptr deref in dshot
if a dshot is cancelled then the waiter can be nullptr
2021-02-24 15:39:10 +11:00
Peter Barker 013415eb31 autotest: make and mark arducopter.py as flake8-compliant 2021-02-24 15:10:10 +11:00
murata dee040b14a AP_Notify: Change division to multiplication 2021-02-24 11:06:54 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 48ab08fb67 AP_ESC_Telem: Fix copy & paste typo 2021-02-24 12:49:05 +11:00
Dr.-Ing. Amilcar do Carmo Lucas af759bf57e Mavlink: submodule update to 2021-02-23 2021-02-24 11:32:51 +11:00
Andy Piper b102391163 AP_HAL_ChibiOS: don't send rcout events without rcout thread 2021-02-24 08:55:12 +11:00
Andrew Tridgell b012c472e1 waf: added crc to embedded data 2021-02-23 20:20:07 +11:00
Andrew Tridgell f7098c1635 AP_ROMFS: added crc check in ROMFS decompression 2021-02-23 20:20:07 +11:00
Andrew Tridgell 1c74f14162 AP_ROMFS: fixed range check in tinflate
this could cause valid compressed data to fail decompression
2021-02-23 20:20:07 +11:00
Sebastian Quilter b4119aa07b AP_OSD: remove font bins from gitignore 2021-02-23 15:22:22 +11:00
Sebastian Quilter bea8bf3afb AP_OSD: Add draw_vtx_power() 2021-02-23 15:22:22 +11:00