Commit Graph

24453 Commits

Author SHA1 Message Date
Randy Mackay
e7e91b1c3b AP_NavEKF3: always calculate extNav innovations and variances 2020-11-20 16:43:44 +09:00
Randy Mackay
6b2b5c4ca0 AP_NavEKF3: add CalculateVelInnovationsAndVariances 2020-11-20 16:43:44 +09:00
Randy Mackay
2505fd5c1c AP_NavEKF3: body and wheel odometry check source 2020-11-20 16:43:44 +09:00
Randy Mackay
1263648d88 AP_NavEKF3: beacon fusion checks source 2020-11-20 16:43:44 +09:00
Randy Mackay
8a56ce49be AP_NavEKF3: optical flow fusion checks source 2020-11-20 16:43:44 +09:00
Randy Mackay
4cadaa5194 AP_NavEKF3: readyToUseOptFlow, Beacon, ExtNav check source 2020-11-20 16:43:44 +09:00
Randy Mackay
faed58a027 AP_NavEKF3: integrate Source for yaw 2020-11-20 16:43:44 +09:00
Randy Mackay
8931e50166 AP_NavEKF3: integrate Source for alt 2020-11-20 16:43:44 +09:00
Randy Mackay
c21d58ebea AP_NavEKF3: integrate Source for position 2020-11-20 16:43:44 +09:00
Randy Mackay
9b84abecaa AP_NavEKF_Source: enables dynamically changing sensor sources 2020-11-20 16:43:44 +09:00
Andrew Tridgell
9e5e49cd13 AP_DAL: added methods to support EKF sources selection 2020-11-20 16:43:44 +09:00
Peter Barker
d50e4d03f4 AP_Logger: remove time_us parameter to several sensor logging methods
These were used by the old Replay code to try to provide a frame of
sensor data by correlating the timestamps.  That Replay code has been
removed.
2020-11-20 16:59:09 +11:00
Peter Barker
e257dd9fee AP_GPS: correct logging for GPS blending 2020-11-20 09:45:57 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
58f0c34612 AP_GPS: fix dataflash logging of blended GPS instance 2020-11-20 09:45:57 +11:00
Peter Barker
a12c2a6b87 AP_Logger: use instance numbers for logging GPS data 2020-11-20 09:45:57 +11:00
Rishabh
f57082a2e0 AR_WPNav: Add note to WP_PIVOT_ANGLE 2020-11-19 16:46:27 +09:00
Peter Barker
58c23e618e AP_Logger: remove unused IMUDT code
Unused since we've moved to new Replay code
2020-11-19 08:31:49 +11:00
Rishabh
c1d67705ce AP_Proximity: Remove Morse backend 2020-11-18 20:23:45 +11:00
Iampete1
681f45c4e0 AP_MotorsMulticopter: make thrust to actuator public 2020-11-18 19:33:21 +11:00
giacomo892
470c00b6b2 AP_Arming: Fix compilation with OSD_PARAM_ENABLED not defined 2020-11-18 18:56:09 +11:00
Marek Łukasiewicz
64f208cbec HAL_ChibiOS: Add af_parse for CubeMX pinout csv 2020-11-18 18:39:07 +11:00
Phillip Kocmoud
701ab83f01 HAL_ChibiOS: Added support for mRo ControlZero OEM H7 flight controller 2020-11-18 18:28:24 +11:00
Andrew Tridgell
408f8b3940 HAL_ChibiOS: added check for overwrite of nullptr on H7
the STM32H7 has 64k of ITCM memory at address zero. We allow
allocation of everything except the first 1024 bytes. This checks for
those reserved bytes being overwritte, which would indicate a write to
nullptr
2020-11-18 17:14:43 +11:00
Andrew Tridgell
8f682c0782 HAL_ChibiOS: check all memory at 10Hz 2020-11-18 17:14:43 +11:00
Andrew Tridgell
95a823a702 HAL_ChibiOS: added link list of all memory allocations
check all allocations for corruption on free() and malloc_check()
2020-11-18 17:14:43 +11:00
Andrew Tridgell
9a026b8068 HAL_SITL: fixed warning building with gcc 9.x 2020-11-18 17:14:43 +11:00
Andrew Tridgell
3f775205e6 HAL_ChibiOS: fixed use of chHeapFree
should be free
2020-11-18 17:14:43 +11:00
Andrew Tridgell
ce3e1a69ec HAL_ChibiOS: added memory guard system 2020-11-18 17:14:43 +11:00
Andrew Tridgell
cc61e05d90 AP_InternalError: added mem_guard internal error 2020-11-18 17:14:43 +11:00
vierfuffzig
e830494f0f AP_OSD_Screen: move vspeed decimal switch to 10 m/s 2020-11-18 09:27:54 +11:00
Andrew Tridgell
6bf7f9e864 AP_Logger: use load_file()
save a bit of flash
2020-11-18 09:11:36 +11:00
Andrew Tridgell
3a0e494085 AP_OSD: fallback to font 0 on load failure
this will allow us to reduce the number of fonts we include as
standard without breaking existing setups
2020-11-18 09:11:36 +11:00
Andrew Tridgell
a2d86eac6d AP_OSD: allow for loading fonts from sdcard
user can put fontN.bin on their sdcard and it will replace the font in
romfs. This makes for easy font development, and allows for multiple
languages

This replaces #15668
2020-11-18 09:11:36 +11:00
Andrew Tridgell
773517a473 AP_Filesystem: added load_file() API
this makes it very easy to load a small file from sdcard or ROMFS
2020-11-18 09:11:36 +11:00
Huibean
cf2b89c4f1 AP_HAL_ChibiOS:add mazzy star drone hwdef 2020-11-17 17:57:07 +11:00
Andrew Tridgell
079e11275a AP_Filesystem: allow for replay on any file in local filesystem 2020-11-17 13:45:07 +11:00
Andrew Tridgell
4c606a30bb AP_NavEKF3: use common structure names 2020-11-17 13:45:07 +11:00
Andrew Tridgell
3a4095fc7f AP_NavEKF2: use common structure names 2020-11-17 13:45:07 +11:00
Andrew Tridgell
636fe783f4 AP_DAL: use common events and structures for EKF2 and EKF3
this facilitates --force-ekf2 and --force-ekf3
2020-11-17 13:45:07 +11:00
Andrew Tridgell
08291a15fb HAL_SITL: avoid sitl command line processing for replay
avoids need for -- arguments for replay
2020-11-17 13:45:07 +11:00
Andrew Tridgell
019544ceb1 AP_Logger: allow for replay with both EKF enabled
even when one is disabled in the original log
2020-11-17 13:45:07 +11:00
murata
bbc673c668 AP_RangeFinder: Change rangefinder number 10 to A 2020-11-17 11:46:25 +11:00
Hwurzburg
6eca18c08b GCS_MAVLink: add Board option to disable MAVftp in low mem bds/apps 2020-11-17 10:41:59 +11:00
Hwurzburg
6fe5ed36ce AP_BoardConfig: add Board option to disable MAVftp in low mem bds/apps 2020-11-17 10:41:59 +11:00
Andrew Tridgell
9c74474196 GCS_MAVLink: setup baudrates for passthru serial ports 2020-11-17 10:26:14 +11:00
Andrew Tridgell
d0db3eef58 AP_SerialManager: added baudrates to get_passthru() 2020-11-17 10:26:14 +11:00
Michael du Breuil
53cbd86cbe AP_Scripting: Fix the lua scheduling rate to be referenced from the
start of the update

This allows specifying a return value like "return update, 10" to run
at a near perfect 100Hz, where as before it would be run 10 ms after the
script had completed it's loop, which can be highly variable as the
script experiences interupts from the system, as well as needing the
script author to take responsibility for calculating the desired update
rate at the end. This was always intended to be fixed, but I pushed it
back during the initial development, however people are begining to run
scripts that have enough processing, or are rate sensitive enough that
we are now needing to start correcting this, or scripts will have to do
their best to guess the time, which will be inferior to us providing it.

As a note if you exceeded the time expected we will be rescheduling the
script immediately, thus it will have a schedule time in the past and
will be slotted in. This can't indefinetly starve other scripts as they
will still be slotted in, but if you request an update in 1 ms, but took
100ms to run we will simply slide you back into the queue 1ms after when
you started running.
2020-11-17 10:19:13 +11:00
Andrew Tridgell
5385f25868 AP_RSSI: handle init ordering with MSP
this fixes a nullptr dereference on startup when MSP asks for RSSI
data before the RSSI library is initialised

Fixes #15824
2020-11-17 10:01:54 +11:00
Paul Riseborough
248ef92ed7 AP_NavEKF2: Add velocity innovation check to use of EKF-GSF yaw
Only apply to non fly forward vehicle, eg copters, because magnitude of velocity innovation produced by plane launches is TBD.
2020-11-16 16:01:13 +11:00
Paul Riseborough
aaf558f593 AP_NavEKF3: Add velocity innovation check to use of EKF-GSF yaw
Only apply to non fly forward vehicle, eg copters, because magnitude of velocity innovation produced by plane launches is TBD.
2020-11-16 16:01:13 +11:00
Paul Riseborough
78e10e99f5 AP_NavEKF: Add accessor for yaw estimator velocity innovation length 2020-11-16 16:01:13 +11:00
Paul Riseborough
db86a5acc8 AP_NavEKF3: Don't update yaw estimator with bad GPS 2020-11-16 16:01:13 +11:00
Paul Riseborough
e5e8d0ba3c AP_NavEKF2: Don't update yaw estimator with bad GPS 2020-11-16 16:01:13 +11:00
Andrew Tridgell
5686dafeef AP_NavEKF3: fixed logged core for GSF messages 2020-11-16 10:28:43 +11:00
Andrew Tridgell
a2f4b16cdc AP_NavEKF2: fixed logged core for GSF messages 2020-11-16 10:28:43 +11:00
Andrew Tridgell
04f60001ff AP_Logger: allow WriteV() to work within Replay
save formats for lookup by WriteV
2020-11-16 10:28:43 +11:00
Andrew Tridgell
03f2e853ce AP_NavEKF3: fixed memory corruption on push before init
this fixes a bug that happens with VISION_SPEED_ESTIMATE from a
companion computer, which may come in before the EKF buffers are
allocated. That causes a push to an uninitialised ringbuffer which
triggers memory corruption

found using the new memory guard system
2020-11-15 15:42:48 +11:00
Andrew Tridgell
01cd678244 AP_NavEKF2: fixed memory corruption on push before init
this fixes a bug that happens with VISION_SPEED_ESTIMATE from a
companion computer, which may come in before the EKF buffers are
allocated. That causes a push to an uninitialised ringbuffer which
triggers memory corruption

found using the new memory guard system
2020-11-15 15:42:48 +11:00
yaapu
026ddfa679 AP_OSD: fix for sim_vehcile --osdmsp 2020-11-15 15:01:13 +11:00
Peter Barker
32ba55e756 AP_DAL: move structure used for location references into cpp
Outside we get a copy per compilation unit.
2020-11-14 14:19:40 +11:00
Peter Barker
8c2c6141f7 AP_DAL: remove unused antenna_offset state 2020-11-14 10:33:38 +11:00
Tom Pittenger
3cf537deed AP_BoardConfig: reorder the fixed-index enum 2020-11-14 08:38:24 +11:00
Tom Pittenger
e0e3c23a87 AP_HAL_ChibiOS/hwdef: fix misprint in comment 2020-11-14 08:00:40 +11:00
Michael du Breuil
58ee8f62e2 AP_HAL_SITL: Support SFML joystick input 2020-11-13 15:38:22 +11:00
Michael du Breuil
892fb74c96 SITL: Add parameters for SFML_Joystick 2020-11-13 15:38:22 +11:00
Andrew Tridgell
c8e604a730 AP_Scripting: fixed gcc 9.x build 2020-11-13 14:30:11 +11:00
Andrew Tridgell
c14d19be68 AP_NavEKF3: fixed gcc 9.3 build error
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
2020-11-13 14:30:11 +11:00
Andrew Tridgell
7099bb6096 AP_NavEKF2: fixed gcc 9.3 build error
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
2020-11-13 14:30:11 +11:00
Andrew Tridgell
19c42ca0ed AP_RCTelemetry: fixed build for gcc 9.x 2020-11-13 14:30:11 +11:00
Andrew Tridgell
c1dded0483 AP_DAL: fixed distance in rangefinder data
thanks to Paul for noticing
2020-11-13 11:45:42 +11:00
Andrew Tridgell
8c59575646 AP_OSD: support callsign display on OSD
use a file "callsign.txt" on the sdcard for callsign
2020-11-12 14:22:44 -08:00
Andrew Tridgell
c423bcca65 AP_OLC: fixed build of OSD on SITL
failed to link with constexpr, simple fix is to use defines, which
also scopes it inside the cpp
2020-11-12 14:22:44 -08:00
Peter Barker
a9a2c8c392 AP_HAL_SITL: only disown a sempahore once we're done with it 2020-11-12 21:19:55 +11:00
Peter Barker
545a086865 SITL: make ToshibaLED an 8-bit register device 2020-11-12 21:19:55 +11:00
Peter Barker
e21e55ba51 SITL: add I2CRegister::8Bit for 8-bit-quantity devices 2020-11-12 21:19:55 +11:00
Huibean
a00243dc5a SITL: fix copter sitl build on macos 2020-11-12 20:39:51 +11:00
Andrew Tridgell
3f4c605361 AP_Beacon: added const 2020-11-11 16:14:22 -08:00
Marek Łukasiewicz
8813057b4c AP_HAL_ChibiOS: Tweak sorting to be py2/py3 compatible 2020-11-12 10:27:31 +11:00
bugobliterator
bf4f482f5e AP_FileSystem: do listing for SYS without slash as well 2020-11-12 08:42:44 +11:00
Andrew Tridgell
02e9519ab0 AP_Filesystem: fixed stat call for @SYS files 2020-11-12 08:42:44 +11:00
Peter Barker
c787231435 AC_Fence: remove timeout for waiting on fence semaphore, make nonblocking
Also move where we indicate we've attempted a load.
2020-11-11 18:46:22 +09:00
bugobliterator
d0cf3365ee AP_HAL_Linux: handle uninitialised soCAN file descriptor 2020-11-11 19:52:37 +11:00
bugobliterator
eea6b4c9b9 AP_HAL_SITL: handle uninitialised file descriptor 2020-11-11 19:52:37 +11:00
Peter Barker
48385b82dc AP_Logger: use instance number for Mag logging 2020-11-11 19:31:53 +11:00
Peter Barker
12f0e9dd43 AP_Logger: use instance number for Baro logging 2020-11-11 19:31:53 +11:00
Peter Barker
2437cf8a24 AP_Logger: use instance number for IMU logging 2020-11-11 19:31:53 +11:00
Peter Barker
d436e5b5d1 SITL: add simulator for Rotoye battery monitor
Also correct temperature from generic battery simulator
2020-11-11 19:27:21 +11:00
Lucas De Marchi
4be9b4171b AP_RangeFinder: TFMiniPlus: respect max configured via param
Do like other drivers do and cap the maximum reported value with what is
configured in the parameter.
2020-11-11 19:23:41 +11:00
Lucas De Marchi
0e63a833e9 AP_RangeFinder: TFMiniPlus: fix out-of-range returned a no-data
Other drivers consider that they received data even if the value is
reported as "out of range" by sensor. On the I2C driver for TFMiniPlus
we considered this case, too. However when the signal strength is very
low (and thus the distance would likely be out of range), we would end up
ignoring the new sample. With enough samples without any value this
would lead the status to turn to "NoData".
2020-11-11 19:23:41 +11:00
Iampete1
36eb605de5 AP_Arming: fix aux auth arming check 2020-11-11 18:24:55 +11:00
Peter Hall
d6a1af4690 AP_Scripting: example: arming auth: removed unused millis call
now is fetched but never used
2020-11-11 18:24:55 +11:00
Peter Barker
41943f5fda GCS_MAVLink: correct use of uninitialised value in Rally upload 2020-11-11 18:22:58 +11:00
Andrew Tridgell
0db8745320 AP_Filesystem: fixed flushing with posix compat layer
this ensures the directory entry in the FAT is updated on fflush()

Fixes #14617
2020-11-11 18:19:44 +11:00
Andy Piper
bd6b28e5d9 AP_Camera: if the RunCam supports both 2-key and 5-key control, use 2-key
adjust camera menus for Split4 4k
use power button to start/stop recording on Split4
2020-11-11 18:14:41 +11:00
Andy Piper
8cd9af5ddd AP_OSD: refactor to enable a TX-only set of parameter screens
add accessor for getting parameter names
add camel-case conversion for parameters names
enable OSD parameters unless HAL_MINIMIZE_FEATURES
correct OSD parameter documentation
don't default to TXONLY
2020-11-11 18:13:11 +11:00
Andy Piper
4d1c660ebc GCS_MAVLink: enable OSD parameters on parameter enablement 2020-11-11 18:13:11 +11:00
Andy Piper
06feecfaf2 AP_RCTelemetry: support CRSF parameter ping requests
process read and write parameter request frames
add support for getting OSD parameters on read requests
send text selections over CRSF
chunker algorithm for CRSF text selections
disable functions if OSD_PARAM_ENABLED is not set
create separate parameter scheduler entry
don't enable CRSF text selection on 1mb boards
2020-11-11 18:13:11 +11:00
Andy Piper
7f3f135dc5 AP_RCProtocol: add debug for further CRSF messages
add better frame debug info to CRSF
2020-11-11 18:13:11 +11:00
Nick Belanger
dbe5b90398 AP_BattMonitor: Adding driver for Rotoye Batmon equipped smart batteries 2020-11-11 14:24:13 +11:00
Peter Barker
eb132d1c93 AP_DAL: fill in visualodom structures 2020-11-11 13:50:22 +11:00