Commit Graph

24749 Commits

Author SHA1 Message Date
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
Peter Barker 428c9ef0e1 AP_GPS: correct logging in dual-ublox setups 2020-11-10 17:39:51 +11:00
Andrew Tridgell 2a210549f9 AP_DAL: minor review cleanups 2020-11-10 16:15:45 +11:00
Andrew Tridgell 790a5ffa38 AP_Vehicle: added bootloader vehicle type 2020-11-10 16:15:45 +11:00
Andrew Tridgell 280e9d1c41 HAL_ChibiOS: fixed bootloader build 2020-11-10 16:15:45 +11:00
Andrew Tridgell 17b4198921 HAL_ChibiOS: add WITH_FATFS to environment 2020-11-10 16:15:45 +11:00
Andrew Tridgell 147df12eb8 GCS_MAVLink: allow replay to use GCS_Dummy 2020-11-10 16:15:45 +11:00
Andrew Tridgell ac566763fe HAL_ChibiOS: disable loop delay on replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell 5e8380ff41 AP_HAL: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell f4bf2ec3fe AP_DAL: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell f121c250ae AP_BoardConfig: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell db86b95761 HAL_SITL: fixed AP_Periph sitl build 2020-11-10 16:15:45 +11:00
Andrew Tridgell 806852c9c3 AP_Math: speedup fill nanf 2020-11-10 16:15:45 +11:00
Andrew Tridgell c321025725 HAL_SITL: run nanf fill every 10 loops
this saves a lot of cpu while still giving protection
it reduces time to run a test replay from 8.1s to 4.1s
2020-11-10 16:15:45 +11:00
Andrew Tridgell 3152da98e1 AP_Logger: skip structure validation in replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell d380447cd5 HAL_SITL: support command line args for replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell f966e92d99 HAL_SITL: default model for replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell 0bc77a3baf AP_NavEKF3: fixed whitespace 2020-11-10 16:15:45 +11:00
Andrew Tridgell 8cb3013217 AP_DAL: setup low pass IMU filter for 20Hz 2020-11-10 16:15:45 +11:00
Andrew Tridgell 9e73922fd9 AC_PID: use calc_lowpass_alpha_dt() 2020-11-10 16:15:45 +11:00
Andrew Tridgell b0f0c8d842 Filter: use calc_lowpass_alpha_dt() 2020-11-10 16:15:45 +11:00
Andrew Tridgell cdcf32d22c AP_Math: added calc_lowpass_alpha_dt()
used in several places
2020-11-10 16:15:45 +11:00
Andrew Tridgell 6ee1b23d28 AP_NavEKF3: removed use of another lanes gyro in optflow takeoff detection
as discussed with Paul
2020-11-10 16:15:45 +11:00
Andrew Tridgell 5b41d5541f AP_NavEKF2: removed use of another lanes gyro in optflow takeoff detection
as discussed with Paul
2020-11-10 16:15:45 +11:00
Andrew Tridgell 0506af113e AP_DAL: tidyup 2020-11-10 16:15:45 +11:00
Andrew Tridgell fabac94952 AP_DAL: avoid logging unused IMU data 2020-11-10 16:15:45 +11:00
Andrew Tridgell 7d7031d3d7 AP_NavEKF2: added const (review request) 2020-11-10 16:15:45 +11:00
Andrew Tridgell 7a34ec4458 AP_DAL: updated comment 2020-11-10 16:15:45 +11:00
Andrew Tridgell 0e7611cebe AP_DAL: fixed handling of AHRS trim 2020-11-10 16:15:45 +11:00
Andrew Tridgell f145afabf3 AP_DAL: pack RFRN more efficiently 2020-11-10 16:15:45 +11:00
Andrew Tridgell a08a1a4247 AP_Logger: allow for larger LOG_FILE_BUFSIZE
larger sizes on F7 and H7 allow for much more rapid loggging
2020-11-10 16:15:45 +11:00
Andrew Tridgell 71e4d72fe3 AP_Logger: removed 64k limitation on log buffer
the reason for the limit is gone with AP_FileSystem
2020-11-10 16:15:45 +11:00
Andrew Tridgell 2945de4796 AP_Logger: use WITH_SEMAPHORE in _WritePrioritisedBlock
this prevents a 1ms delay when waiting for the semaphore
2020-11-10 16:15:45 +11:00
Andrew Tridgell 7a8e8b8b51 AP_DAL: removed use of BUILD macros in headers
fixes sempahore build
2020-11-10 16:15:45 +11:00
Andrew Tridgell 5be818f8a1 AP_DAL: re-pack GPS replay data
this fixes antenna offset for blended GPS, and reduces the average
amount of data in logs for GPS replay
2020-11-10 16:15:45 +11:00
Andrew Tridgell cb830dcc11 AP_AHRS: added comment from review 2020-11-10 16:15:45 +11:00
Andrew Tridgell 905ffed7fd AP_DAL: cleanups from review 2020-11-10 16:15:45 +11:00
Andrew Tridgell 509b9f5e63 AP_DAL: only enable standalone build with --no-gcs and --disable-scripting 2020-11-10 16:15:45 +11:00
Andrew Tridgell 4f17edc67d AP_DAL: moved standalone example to tools
prevent trying to build with all examples
2020-11-10 16:15:45 +11:00
Andrew Tridgell 70abf799c3 AP_DAL: check for zero time in accel/gyro filtering 2020-11-10 16:15:45 +11:00
Andrew Tridgell dd96d7c205 AP_DAL: fixed standalone linking 2020-11-10 16:15:45 +11:00
Andrew Tridgell 6fe05a9ab6 AP_NavEKF3: restore XKTV message 2020-11-10 16:15:45 +11:00
Andrew Tridgell f5275fd0ad AP_NavEKF3: fixed use of pointers in ringbuffers
these don't work with AP_DAL
2020-11-10 16:15:45 +11:00
Andrew Tridgell 16f7e51ea5 AP_NavEKF2: fixed use of pointers in ringbuffers
these don't work with AP_DAL
2020-11-10 16:15:45 +11:00
Andrew Tridgell eaa8474563 AP_NavEKF3: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell 246a441883 AP_NavEKF2: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell 021e305340 AP_Mount: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell dab091a801 AP_AHRS: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell f6c45c3bcd AP_InertialSensor: cope with INS_MAX_INSTANCES < 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell bb3b59966f HAL_ChibiOS: define INS_MAX_INSTANCES if less than 3
save some flash and memory
2020-11-10 16:15:45 +11:00
Andrew Tridgell 4ef7d5b468 AP_DAL: make more APIs const 2020-11-10 16:15:45 +11:00
Andrew Tridgell 9b81c5a1e0 AP_NavEKF3: use dal reference in EKF backends
saves a bit of flash space
2020-11-10 16:15:45 +11:00
Andrew Tridgell 5f0e943f0f AP_NavEKF2: use dal reference in EKF backends
saves a bit of flash space
2020-11-10 16:15:45 +11:00
Andrew Tridgell e273f73cb4 AP_DAL: fixed shadowed variable 2020-11-10 16:15:45 +11:00
Andrew Tridgell 1bdf6173ec AP_NavEKF3: removed have_ekf_logging 2020-11-10 16:15:45 +11:00
Andrew Tridgell 21dfdc2192 AP_NavEKF3: use DAL for body frame odometry 2020-11-10 16:15:45 +11:00
Andrew Tridgell 8591b31665 AP_NavEKF2: cleanup unused code 2020-11-10 16:15:45 +11:00
Andrew Tridgell 9635231088 AP_DAL: added body frame odomotry 2020-11-10 16:15:45 +11:00
Andrew Tridgell 6c4e552a0b AP_GPS: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell 353ec29ab6 AP_Compass: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell b0ec4f8b93 AP_Baro: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell 1bc82d3118 AP_AHRS: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell 851cb30e0d AP_Logger: speed up startup with replay if LOG_DISARMED=0 2020-11-10 16:15:45 +11:00
Andrew Tridgell 29ab747982 AP_DAL: fixed navio build 2020-11-10 16:15:45 +11:00
Andrew Tridgell c7cc26d9bc AP_DAL: rename xxprintf() to rprintf() 2020-11-10 16:15:45 +11:00
Andrew Tridgell 9542f365f6 AP_DAL: fixed range beacon handling 2020-11-10 16:15:45 +11:00
Andrew Tridgell d01534c7c6 AP_DAL: remove unnecessary variables 2020-11-10 16:15:45 +11:00
Andrew Tridgell a0de6c620f AP_NavEKF3: use selected GPS for gps_yaw_deg()
more than one GPS could provide yaw
2020-11-10 16:15:45 +11:00
Andrew Tridgell f4c3d7286c AP_NavEKF3: support replay with wheel odomotry 2020-11-10 16:15:45 +11:00
Andrew Tridgell b8a3413f5e AP_DAL: support wheel odomotry 2020-11-10 16:15:45 +11:00
Andrew Tridgell e87f98066f AP_NavEKF3: support replay with external navigation data 2020-11-10 16:15:45 +11:00
Andrew Tridgell bec095d661 AP_NavEKF2: support replay with external navigation data 2020-11-10 16:15:45 +11:00
Andrew Tridgell c068da154a AP_DAL: support external pos and velocity data 2020-11-10 16:15:45 +11:00
Andrew Tridgell 5260d677ef AP_DAL: fixed optical flow replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell 7bbbbd314c AP_NavEKF3: added optflow support for AP_DAL 2020-11-10 16:15:45 +11:00
Andrew Tridgell 224792b8b8 AP_NavEKF2: added optflow support for AP_DAL 2020-11-10 16:15:45 +11:00
Andrew Tridgell dab9d824fd AP_DAL: added optflow support 2020-11-10 16:15:45 +11:00
Andrew Tridgell a56f07b74d AP_Math: allow build without other headers for vector2.h 2020-11-10 16:15:45 +11:00
Andrew Tridgell 31091d6307 AP_NavEKF3: use ekf_low_time_remaining for core scheduling 2020-11-10 16:15:45 +11:00
Andrew Tridgell 90a8c5cb1a AP_NavEKF2: use ekf_low_time_remaining for core scheduling 2020-11-10 16:15:45 +11:00
Andrew Tridgell 47c3fadc17 AP_DAL: added ekf_low_time_remaining()
used by EKF for inter-lane scheduling
2020-11-10 16:15:45 +11:00
Andrew Tridgell 1848491ac2 AP_DAL: fixed GPS backend for multiple sensors 2020-11-10 16:15:45 +11:00
Andrew Tridgell bf61910c7c AP_DAL: fixed shadowed variable
found by semaphore build
2020-11-10 16:15:45 +11:00
Andrew Tridgell 50d03571da AP_DAL: fixed build without VisualOdometry 2020-11-10 16:15:45 +11:00
Andrew Tridgell b7d60b1d97 AP_Logger: added C field to EKF msgs 2020-11-10 16:15:45 +11:00
Andrew Tridgell f3c3778169 prevent duplicate EKF logging
vehicle code sometimes tries to log the same data twice
2020-11-10 16:15:45 +11:00
Andrew Tridgell fa75824948 AP_DAL: added standalone link test
useful to check for clean linking of EKF2/EKF3

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell 32bda36908 SITL: fixed build with no GCS 2020-11-10 16:15:45 +11:00
Andrew Tridgell 0700ca4882 AP_Vehicle: added DAL standalone vehicle type 2020-11-10 16:15:45 +11:00
Andrew Tridgell ae56f554b9 AP_Vehicle: send watchdog reset msg at startup
this helps if the watchdog will happen within 10s of startup
2020-11-10 16:15:45 +11:00
Andrew Tridgell 77687a9639 AP_UAVCAN: fixed build with no GCS
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell 9b35bfba55 AP_AHRS: use enum class for takeoff/touchdown states
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell 31fbb59384 AP_AHRS: delay EKF start until logging ready
for replay to work reliably we need all the parameters output before
we init the EKF.

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell 096aab9388 AP_NavEKF3: convert to use AP_DAL for new replay structure
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell 6be3d19e82 AP_NavEKF2: convert to use AP_DAL for new replay structure
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell 97a2c5a576 AP_NavEKF: removed Log_EKF_Timing
not needed for new replay

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell c0b20881d6 AP_Math: allow vector3.h to be included earlier in include chain 2020-11-10 16:15:45 +11:00
Andrew Tridgell 09aff03edc AP_Logger: support new replay system
added allow_start_ekf and block write method for replay

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell daa0abeb13 AP_Logger: make structure check errors clearer
add message name to more error messages
2020-11-10 16:15:45 +11:00
Andrew Tridgell bd7ed003c2 AP_Logger: split out EKF messages and prepare for new replay
adds core to more EKF message structures

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell e116b1ff0a AP_DAL: added data access layer library
This provides a wrapper around sensor and system calls to allow for
logging for replay in EKF2 and EKF3

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Iampete1 1587d88f58 AP_Scripting: example saving serial data to SD card 2020-11-10 12:15:56 +11:00
Iampete1 60951a7891 AP_GPS: add use primary if 3D fix GPS_AUTO_SWITCH option 2020-11-10 12:01:56 +11:00
Iampete1 347723dbaf AP_GPS: add primary param 2020-11-10 12:01:56 +11:00
Iampete1 0c2037438b AP_Motors: output mask: do not apply copter sin params and epxo 2020-11-10 11:09:56 +11:00
Peter Barker 814aa4e5ec AP_AHRS: take secondary attitude from EKF3 if it is configured 2020-11-10 10:59:08 +11:00
Andrew Tridgell f7daa4a93a AP_Compass: raise max scale factor and make symmetric 2020-11-10 10:15:39 +11:00
Rishabh 68b6ecc59c AC_Avoid: Mark OA_OPTIONS as a Rover-Only param 2020-11-09 08:37:47 +09:00
Andrew Tridgell cb034c50a7 HAL_ChibiOS: fixed orientation of compass on M10070B 2020-11-08 16:13:17 +11:00
Andrew Tridgell 3b7b2b89a5 HAL_ChibiOS: added baro for mRo Location-one GPS 2020-11-08 16:13:17 +11:00
Tom Pittenger df90e28b89 AP_ADSB: move code to new uAvionix backend 2020-11-05 07:02:56 -08:00
Tom Pittenger f784fc7c5c AP_ADSB: create frontend/backend split 2020-11-05 07:02:56 -08:00
Peter Barker fd9068de8a AP_L1_Control: correct zeroing of cross-track integrator
This routine is generally only called at 10Hz, so the integrator was
regularly reset.
2020-11-05 17:32:38 +11:00
Randy Mackay d6869b9234 AC_PosControl: fix typo in posxy_p param desc 2020-11-05 14:59:00 +09:00
Mark Whitehorn 5f8b4968ec AP_Vehicle: add instructions for config_error loop 2020-11-05 15:04:10 +11:00
Mark Whitehorn 30a9bb4ff4 AP_BoardConfig: change message interval to 5 seconds to match scheduler_delay_callback 2020-11-05 15:04:10 +11:00
bugobliterator 9acaa84b8f AP_Param: disable cmdline parameters for AP_Periph 2020-11-04 19:59:40 +11:00
bugobliterator 0d41db5520 AP_HAL_SITL: flush data from select call as we don't wait select in AP_Periph 2020-11-04 19:59:40 +11:00
bugobliterator 09a0d8d0c0 HAL_SITL: add support for AP_Periph SITL build 2020-11-04 19:59:40 +11:00
bugobliterator 9f4457f1d2 HAL_Empty: add empty protocol method in RCInput 2020-11-04 19:59:40 +11:00
Tom Pittenger 7a09f88e83 AP_ADSB: refactor and renamed things and general cleanup for pre-backend split 2020-11-04 16:22:47 +11:00
Tom Pittenger 8bcc32db78 RC_Channel: added adsb health check 2020-11-04 16:22:47 +11:00
Tom Pittenger 37c6622b96 AP_Arming: add arming check for ADSB 2020-11-04 16:22:47 +11:00
Iampete1 e95376fbef AP_Scripting: add notify LED get RGB binding and example 2020-11-02 17:40:21 -07:00
Iampete1 0f2c06d798 AP_Notify: RGBLed: rename OFF define 2020-11-02 17:40:21 -07:00
Iampete1 2e4b61d96e AP_Notify: add scripting LED type 2020-11-02 17:40:21 -07:00
Iampete1 cf599952f5 AP_Notify: RGB LED remove unused varables 2020-11-02 17:40:21 -07:00
Iampete1 0668c5c584 AP_Scripting: support pass by refence on none bool return 2020-11-02 17:40:21 -07:00
Michael du Breuil b30c55b3f3 AP_GPS: Support yaw from moving base station on SBF drivers 2020-11-03 11:12:20 +11:00
Michael du Breuil 4161e2eb28 AP_GPS: Factor out moving base offset helper 2020-11-03 11:12:20 +11:00
Hwurzburg 230798546e RC_Channel: correct metadata for RC_OPTION param 2020-11-03 11:06:36 +11:00
Michael du Breuil 0f5179d204 AP_Scheduler: Emit last internal error line 2020-11-03 11:04:13 +11:00
Michael du Breuil 25ca2a0828 AP_Logger: Reserve space in PM for last internal error line 2020-11-03 11:04:13 +11:00
Michael du Breuil 051640e2b2 AP_Math: Log line numbers on constrain_nan's for constrain float 2020-11-03 11:04:13 +11:00
Randy Mackay 2681d3afe2 AP_NavEKF3: simplify alignYawAngle 2020-11-03 11:00:01 +11:00
Peter Barker fc49b55b85 AP_NavEKF3: make coreBetterScore const 2020-11-03 10:39:35 +11:00
Peter Barker 84c92b717f AP_NavEKF2: make coreBetterScore const 2020-11-03 10:39:35 +11:00
Phillip Kocmoud c192efea0a hwdef:PixracerPro - Fix analog volt pin assignments 2020-11-03 08:17:54 +11:00
Andre Kjellstrup e5ffc834e9 AP_Arming: Parameter check is not unused 2020-11-02 13:41:57 +11:00
Andrew Tridgell 46976c4358 HAL_ChibiOS: fixed remapping of ioline_t with BRD_ALT_CONFIG
when a peripheral is made available via BRD_ALT_CONFIG we need to
remap the existing ioline_t in the UART and I2C drivers to use the new
pin.

This fixes an issue with half-duplex, inverted, swapped UART pins for
protocols like FPort and FPort2
2020-10-28 19:51:45 +11:00
Andrew Tridgell 2dd58c8ed1 AP_RCProtocol: send null pkts for FPort2
when we have no data to send, we should send an empty packet to ensure
the receiver schedules us for data as often as possible
2020-10-28 19:51:45 +11:00
Iampete1 97b44dfe71 AP_Scripting: add DIR_DISABLE param 2020-10-28 19:22:45 +11:00
Iampete1 2bdcadd785 AP_Scripting: examples to load and save missions to the SD card 2020-10-28 19:21:26 +11:00
Randy Mackay b726630ef4 AP_NavEKF3: pos timeout or glitch does not reset vel if fusing successfully
vel is not reset if GPS velocity, optical flow, visual odometry or wheel
encoders are successfully being fused
2020-10-28 19:06:53 +11:00
Randy Mackay 3b38aa6d7b AP_NavEKF3: GPS change pos reset uses ResetPositonNE and ResetPositionD
Using these existing functions removes some code duplicate
non-functional change
2020-10-28 19:03:34 +11:00
Siddharth Purohit 73dea6d29c AP_CANManager: return max number of drivers for get_num_drivers 2020-10-28 18:38:05 +11:00
Oliver Walters 917f7d8797 AP_PiccoloCAN: Update timeout values to use 64-bit calls
- Prevent premature overflow due to 32-bit variables
2020-10-28 18:25:45 +11:00
Oliver Walters 491499ad16 AP_PiccoloCAN: Fixed license text in auto-generated files
- License file had been replaced due to re-generation of protocol files
- Original license file and header text reverted
2020-10-28 18:25:45 +11:00
Oliver Walters 479df2e20b AP_PiccoloCAN: Prevent thread from getting stuck in an infinite loop
- Previous code would get stuck in the CAN Tx loop
- New approach is to simply increase the timeout on frame transmission
2020-10-28 18:25:45 +11:00
Oliver Walters 6786e832a1 AP_PiccoloCAN: Provide compatibility for "Gen 2" Velociy ESC ICD
- The "Gen 2" Velocity ESC provides much more telemetry data
- The new ICD changes are compatible (i.e. legacy and modern ESCs can be on the CAN bus at the same time)
- Decode legacy packets and convert them to modern data structures
- Supports decoding of newer telemetry packets
- Supports decoding of new warning / error packets
2020-10-28 18:25:45 +11:00
Andrew Tridgell d8337cf9e5 SITL: allow loading of model from ROMFS 2020-10-28 14:20:44 +11:00
Andrew Tridgell e07cecb264 SITL: added support for simulated battery discharge 2020-10-28 14:20:44 +11:00
Andrew Tridgell e8f21d3458 AP_InertialSensor: fixed rpm indexing for vtol motors
quadplane vtol motors start at 1
2020-10-28 14:20:44 +11:00
Andrew Tridgell a0bc9d3148 SITL: fixed quadplane mass and rpm indexing 2020-10-28 14:20:44 +11:00
Andrew Tridgell 767773da5e SITL: improved multicopter simulation
this takes account of motor expo, velocity of air over propellers,
mass, size and other factors

It also allows for frame parameters to be supplied as an external json file
2020-10-28 14:20:44 +11:00
Andrew Tridgell c2661a0f09 SITL: added picojson.h header
will be used for custom frame parameters
2020-10-28 14:20:44 +11:00
Randy Mackay 7b898ee001 AP_NavEKF3: minor comment and format fixes 2020-10-28 12:17:40 +09:00
Randy Mackay fccc1fcb72 AP_NavEKF2: minor comment fix 2020-10-28 12:17:22 +09:00
Andrew Tridgell 20c4f1950b AP_RCProtocol: added FPort protocol test 2020-10-28 09:00:34 +11:00
Andrew Tridgell df5105e20b AP_RCProtocol: added FPort2 protocol test 2020-10-28 09:00:34 +11:00
Andrew Tridgell a8770a5a82 AP_RCProtocol: added FPort2 protocol support 2020-10-28 09:00:34 +11:00
Andrew Tridgell 747b48d0a8 AP_Math: added crc_sum8
for FPort/FPort2
2020-10-28 09:00:34 +11:00
Andrew Tridgell 66596dcf25 AP_Logger: allow for retry of log open with LOG_DISARMED=1
if booting without a microSD and with LOG_DISARMED=1 then this allows
for a retry of opening the log every 5s
2020-10-27 20:35:56 +11:00
Rishabh cd8404f80c AP_BattMonitor: Update @value field in param to be increasing order 2020-10-27 17:15:04 +11:00
Vinicius Juvinski 36204e5dae AP_HAL_Linux: Fix PWM FS to follow the Kernel's 4.X instead 3.9
Checking the ToneAlarm under AP_HAL_Linux(BBBMINI is using that)  I realize was using old kernek
3.9 device tree, so I updated to 4.X - this will affect only BBBMINI and
Blue boards.
2020-10-26 22:55:03 -07:00
Randy Mackay eb880a2657 AP_Scripting: copter-wall-climber fix for climb rate limiting 2020-10-27 14:06:15 +09:00
Randy Mackay eab7c9520c AP_Scripting: copter-wall-climber accel limiting
reduces climb rate slowly so it can stop before next interval
also fixup formatting of altitude output to user
2020-10-27 14:06:15 +09:00
Randy Mackay 2ab860b8b7 AP_Scripting: copter-wall-climber format and comment fixes
replaced tab with spaces
also fixed comment
2020-10-27 14:06:15 +09:00
giacomo892 640990a7c7 AP_Compass: Fix TYPEMASK bitmask 2020-10-27 15:40:25 +11:00
Tatsuya Yamaguchi e1126d4fd6 GCS_MAVLink: use micro64 instead of micros for time_usec 2020-10-27 15:37:29 +11:00
Iampete1 7aad83ccca AP_Airspeed: add MATLAB based NMEA sensor example 2020-10-27 11:24:49 +11:00
Iampete1 0e41b821e8 AP_Airspeed: defualt to type none on sub 2020-10-27 11:24:49 +11:00
Iampete1 73594cb19b GCS_MAVLink: send airspeed temp in scaled_pressure 2020-10-27 11:24:49 +11:00
Iampete1 2aff8787c1 AP_Airspeed: add NMEA water speed backend 2020-10-27 11:24:49 +11:00
Iampete1 9884c2c2ce AP_SerialManager: add airspeed type 2020-10-27 11:24:49 +11:00
Iampete1 8996c4cee0 AP_Scripting: NMEA example updated decoding 2020-10-27 11:24:49 +11:00
Iampete1 662d4640ef AP_Airspeed: add dedicated MAX_WIND param 2020-10-27 11:21:04 +11:00
Iampete1 d7e8ad1c13 AP_AHRS: add ARSPD_OPTION note to WIND_MAX 2020-10-27 11:21:04 +11:00
murata 22b8ed5adf AP_Baro: Delete unnecessary return processing 2020-10-27 10:48:52 +11:00
Andrew Tridgell 6f92abea63 AP_Filesystem: fixed build on gcc 9.3 2020-10-27 10:45:47 +11:00
Andrew Tridgell 45af37298b AP_BoardConfig: use AP_Filesystem for sdcard mount 2020-10-27 10:45:03 +11:00
Andrew Tridgell ee50eaf3c9 HAL_ChibiOS: go via AP_Filesystem for mount/unmount operations
this fixes a deadlock where a mount/unmount could access FATFS without
holding the AP_Filesystem semaphore
2020-10-27 10:45:03 +11:00
Andrew Tridgell 2596875ceb AP_HAL: removed fs_init()
this must go via AP_Filesystem
2020-10-27 10:45:03 +11:00
Andrew Tridgell e429d578fa AP_Filesystem: added interface for mount/unmount
we need to hold the FATFS semaphore when doing mount/unmount, which
means we must go via AP_Filesystem_FATFS
2020-10-27 10:45:03 +11:00
Michael du Breuil 1a1a5e69dd AP_Scripting: Add setmetatable back to the lua sandbox 2020-10-27 10:25:56 +11:00
Peter Barker 9aec1e48af AP_Frsky_Telem: tidy mavlite message handling
Including calling into reboot-vehicle rather than the hal reboot method.
2020-10-27 10:17:53 +11:00
Peter Barker e0f8e003ec AP_Frsky_Telem: move mavlite message handling to own object 2020-10-27 10:17:53 +11:00
Peter Barker b4e12da2c8 AP_Frsky_Telem: rework SPort-to-MAVlite conversion
Breaks the single object into three distinct parts objects, and hidesas
much information from the other parts as possible.
2020-10-27 10:17:53 +11:00
yaapu 4dec72a230 AP_RCProtocol: added support for frsky fport bidirectional telemetry 2020-10-27 10:17:53 +11:00
yaapu 0012b83d86 AP_vehicle: added support for frsky bidirectional telemetry 2020-10-27 10:17:53 +11:00
yaapu 988af83fce AP_Frsky_Telem: added support for frsky sport/fport bidirectional telemetry 2020-10-27 10:17:53 +11:00
yaapu a4297bcdd7 AP_Frsky_SPort: reduce acceptable response delay to 6500us 2020-10-27 10:17:53 +11:00
yaapu 33f19eec27 AP_Frsky_Telem: tidy parsers and splitting of statustexts 2020-10-27 10:17:53 +11:00
yaapu 6abf4ec2b5 AP_Frsky_Telem: tidy creation of frsky data 2020-10-27 10:17:53 +11:00
Peter Barker 602a9592ce SITL: add Maxell SMBus battery support 2020-10-26 20:34:05 +11:00
Paul Riseborough f2af2b3458 AP_NavEKF3: Initialise tiltErrorVariance class variable 2020-10-26 11:03:50 +11:00
Paul Riseborough 43386a8eea AP_NAvEKF3: Use a const reference 2020-10-26 11:03:50 +11:00
Paul Riseborough 64a3d8fe4e AP_NavEKF3: Update documentation 2020-10-26 11:03:50 +11:00
Paul Riseborough 6c7820dd8d AP_NavEKF3: Add verification of tiltErrorVariance() method in SITL 2020-10-26 11:03:50 +11:00
Paul Riseborough 90e928c32a AP_NavEKF3: Re-tune tilt alignment check
New tilt error variance estimate is more accurate and larger than before.
2020-10-26 11:03:50 +11:00
Paul Riseborough 16ae75a681 AP_NavEKF3: Consolidate and log tilt error variance calculation 2020-10-26 11:03:50 +11:00
Paul Riseborough 8a88dd23a2 AP_NavEKF3: Add missing generated code file for yaw fusion 2020-10-26 11:03:50 +11:00
Paul Riseborough 69632336e1 AP_NavEKF3: Remove singularity in yaw fusion at +-90deg yaw
Uses sympy derivation
2020-10-26 11:03:50 +11:00
Paul Riseborough 4e41e9f5f1 AP_NavEKF3: Ensure consistent use of 312 or 321 rotation order
Prevents possibility of a differnt sequence being used to calculate the yaw and application of the yaw to the quaternions
2020-10-26 11:03:50 +11:00
Paul Riseborough fa10d114e4 AP_NavEKF3: Fix yaw drift after yaw reset at +-90 deg pitch
Use existing covariance prediction code to set quaternion state covariances.
Assumes tilt error is 3 deg 1-sigma.
2020-10-26 11:03:50 +11:00
Paul Riseborough 73d5ca5ad3 AP_NavEKF3: Fix yaw drift after yaw reset at +-90 deg pitch
Use existing covariance prediction code to set quaternion state covariances.
Assumes tilt error is 3 deg 1-sigma.
TODO derive and add function that calculates tilt error variance.
2020-10-26 11:03:50 +11:00
Paul Riseborough a97d030e4b AP_NavEKF3: Reset earth field variances when starting mag field estimation 2020-10-26 11:03:50 +11:00
Paul Riseborough 9168d0cd19 AP_NavEKF3: Initialise mag field variances to non zero values 2020-10-26 11:03:50 +11:00
Paul Riseborough 0b96f046c2 AP_NavEKF3: Unblock initial yaw alignment message 2020-10-26 11:03:50 +11:00
Paul Riseborough f81abd73d6 AP_NavEKF3: Update covariance prediction to yse SymPy generated equations
Saves flash and variable space.
2020-10-26 11:03:50 +11:00
Michael du Breuil a61444cec0 AP_GPS: Don't reset the entire buffer when handling RTCM data
This is a micro optimization intended to just make handling GPS
corrections a bit faster.
2020-10-25 14:21:39 +11:00
Andrew Tridgell acdc939946 AP_WheelEncoder: added SMAX param docs 2020-10-25 10:32:48 +11:00
Andrew Tridgell 9a244eef29 APM_Control: added SMAX param docs 2020-10-25 10:32:48 +11:00
Andrew Tridgell 0a7c628355 AC_AttitudeControl: added SMAX param docs 2020-10-25 10:32:48 +11:00
Andrew Tridgell 739410953b AC_PID: added slew limiter AC_PID
this adds the fixed wing slew limiter as an optional part of
AC_PID. It allows the user to configure a maximum slew limit to
prevent oscillations in PIDs when gains are too high
2020-10-25 10:32:48 +11:00
Andrew Tridgell 709e1f8f93 Filter: added slew rate filter 2020-10-25 10:32:48 +11:00
Andrew Tridgell d2a4505184 APM_Control: fixed bug in slew filter 2020-10-25 10:32:48 +11:00
Andrew Tridgell a4716fb9bf AP_NavEKF3: fixed multi-core yaw reset
thanks to Alex Burka for finding this
2020-10-24 19:35:30 +11:00
Andrew Tridgell dc32f7a12f AP_NavEKF2: fixed multi-core yaw reset
thanks to Alex Burka for finding this
2020-10-24 19:35:30 +11:00
Andrew Tridgell fcccdcc936 AP_NavEKF3: fixed bug in external yaw for fixed wing
when we are on the ground we should not chang to AID_NONE if we have
an external yaw source

this fixes an EKF3 error loop on the ground found by Michael
2020-10-24 13:50:33 +11:00
Randy Mackay c3fd82b6d7 AP_NavEKF3: minor spelling fix 2020-10-24 12:35:58 +11:00
Randy Mackay 2f1ae29a9c AP_NavEKF3: extnav data gets corrected boolean
CorrectExtNavForSensorOffset and CorrectExtNavVelForSensorOffset use
corrected boolean to avoid correcting twice
2020-10-24 12:35:58 +11:00
Randy Mackay a16de76f57 AP_NavEKF3: correct extnav position as it is recalled from the buffer
This makes extnav position correction consistent with the velocity correction
2020-10-24 12:35:58 +11:00
Randy Mackay 71487e9c10 AP_NavEKF3: gps_elements gets corrected flag
CorrectGPSForAntennaOffset uses this flag to ensure position and velocity are only corrected once
2020-10-24 08:49:33 +09:00
Randy Mackay 3d4e1cd5c5 AP_NavEKF3: CorrectGPSForAntennaOffset always corrects vel 2020-10-24 08:49:33 +09:00
Randy Mackay e25579cc00 AP_NavEKF3: correct GPS for position as it is recalled from buffer 2020-10-24 08:49:33 +09:00
Michael du Breuil c86dcf91d6 AP_InertialSensor: Run vibration monitoring on all instances 2020-10-24 09:54:04 +11:00
Andrew Tridgell 96f7397099 HAL_ChibiOS: make PowerC primary power on CUAV-X7
CUAV considers the CAN power to be the main power for this board
2020-10-24 08:27:21 +11:00
Michael Oborne b383db15c7 ChibiOS: fix cubeblack+ name and usbid 2020-10-24 08:26:55 +11:00
Peter Barker 0496ecc4f6 AP_NavEKF2: remove unused state variables 2020-10-22 08:47:08 +11:00
Peter Barker a1e7c91f8e AP_NaveEKF3: reduce code duplication in setup_core
Less code.

Saves 40 bytes on PixRacer
2020-10-22 08:47:08 +11:00
Peter Barker 74f75dcd31 GCS_MAVLink: fill AUTOPILOT_VERSION.uid2 from get_system_id_unformatted 2020-10-21 18:26:12 +11:00
murata 9714d8dde9 AP_MAth: Move the CRC24 to the AP_Math class 2020-10-21 18:24:07 +11:00
murata 4c835a0df9 AP_GPS: Move the CRC24 to the AP_Math class 2020-10-21 18:24:07 +11:00
Peter Barker 7c8df47ac9 GCS_MAVLink: process messages sent to broadcast system
.... even if we've forwarded them to someone else.
2020-10-21 18:22:48 +11:00
Peter Barker d3ba7a8409 GCS_MAVLink: don't learn a route to the broadcast component
Using a component ID of 0 for your source is invalid according to
common.xml

However, some clients do use it.

This stops us learning a route to that client for the broadcast client
for our own system ID.
2020-10-21 18:22:48 +11:00
bugobliterator 308bc64f35 AP_Filesystem: add support for listing @SYS files 2020-10-21 18:16:50 +11:00
Randy Mackay e4056086e0 AP_NavEKF3: minor format and spelling fixes 2020-10-21 13:54:22 +09:00
Randy Mackay 231a958e51 AP_NavEKF3: minor comment fix 2020-10-21 11:40:35 +09:00
Randy Mackay 8aba1655a2 AP_Scripting: add ahrs-print-variances example 2020-10-21 08:58:45 +09:00
Randy Mackay 5eae007d49 AP_Scripting: add binding for ahrs get_variances 2020-10-21 08:58:45 +09:00
Randy Mackay bb25e4f6a3 AP_RCTelemetry: integrate ahrs::get_variances change
offset is no longer returned
2020-10-21 08:58:45 +09:00
Randy Mackay 6a72805f07 AP_AHRS: get_variances does not return offset
the offset is not a variance and is not actually used by any callers of this function
2020-10-21 08:58:45 +09:00
Patrick José Pereira 375fe22dff AP_Mount: Improve instance validation check
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-21 08:55:33 +09:00
Randy Mackay b0363a01b0 AP_Scripting: add copter-wall-climber example script 2020-10-20 23:04:45 +09:00
Randy Mackay e4ccd21dd7 AP_NavEKF3: consolidate extNav height source timeouts 2020-10-20 17:11:26 +09:00
Randy Mackay 6989a28bfc AP_NavEKF3: allow alt from other sources when using ExtNav
also allows using ExtNav alt when not using it for XY position
removes redundant and incorrect setting of activeHgtSource from ExtNav
which was always being overwritten by the correct value later in selectHeightForFusion
2020-10-20 17:11:26 +09:00
Randy Mackay 0cebde0632 AP_NavEKF3: minor restructure of how fusePosData and fuseVelData are set
this non-functional change slightly reduces the number of places we set these variables
2020-10-20 17:11:26 +09:00
Peter Barker ef505df78a AP_NavEKF3: remove unused quat2Tbn method 2020-10-20 11:40:54 +11:00
Peter Barker 53305ba2a4 AP_NavEKF2: remove unused quat2Tbn method 2020-10-20 11:40:54 +11:00
Peter Barker 0eafe4b662 AP_NavEKF3: remove dangling method declarations 2020-10-20 11:40:54 +11:00
Peter Barker 312cf725aa AP_NavEKF2: remove dangling method declarations 2020-10-20 11:40:54 +11:00
Peter Barker 83d784c22d AP_NavEKF3: fix includes 2020-10-20 11:40:54 +11:00
Peter Barker c90265f94d AP_NavEKF2: fix includes 2020-10-20 11:40:54 +11:00
Peter Barker d4cb14b262 AP_AHRS: remove magic resetting of EKF type 1 to 2
If EKF2 is not compiled in the current compatability code will not work
so well.

Throw the user over to the config error loop and they can fix it there.
2020-10-20 11:32:57 +11:00
Peter Barker 565b29a72c AP_AHRS: remove FLAG_NONE; it's not a flag, it's a bitmask value 2020-10-20 11:24:34 +11:00
Peter Barker 1ef92bb691 AP_AHRS: remove un-needed initialisations 2020-10-20 11:24:34 +11:00
Peter Barker 3dc67f09fd AP_NavEKF3: remove unused innovationIncrement and lastInnovation 2020-10-20 11:24:34 +11:00
Peter Barker 80f9ef7ed1 AP_NavEKF2: remove unused innovationIncrement and lastInnovation 2020-10-20 11:24:34 +11:00
Peter Barker 02c9aa2ae2 AP_InertialSensor: remove unused define 2020-10-20 11:24:34 +11:00
Peter Barker 9d45669a58 AP_AHRS: reuse ins object for multiple calls, simplify delta_t variable 2020-10-20 11:24:34 +11:00
Andrew Tridgell e529d475d4 AP_GPS: use mktime for NMEA and MTK time conversion
this fixes NMEA time handling, which was off by 3 days
2020-10-20 11:21:00 +11:00
Andrew Tridgell 7562eef4c1 AP_Filesystem: use mktime from AP_RTC 2020-10-20 11:21:00 +11:00
Andrew Tridgell 43af5893fb AP_RTC: added mktime(), used by AP_Filesystem and AP_GPS 2020-10-20 11:21:00 +11:00
Nick Exton 01155cc5d4 AP_Param: Ignore FORMAT_VERSION param when loading SITL defaults
This fixes a bug where having FORMAT_VERSION in the SITL defaults file
can result in an invalid SITL EEPROM file. See issue #15579 for details.
2020-10-20 10:30:17 +11:00
Patrick José Pereira 258083a6f2 AP_Logger: AP_Logger_File: Set custom log directory in init
`_log_directory` was used before `ensure_log_directory_exists`,
to fetch the log path

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-20 09:31:49 +11:00
Samuel Tabor c9362fbb70 SITL: Calculate current in SIM_Plane. 2020-10-18 11:43:51 +11:00
Peter Barker 99e95666e8 AP_AHRS: remove unused AP_AHRS_TYPE define 2020-10-18 09:41:29 +11:00
Patrick José Pereira 6ee401cb00 AP_Math: Remove isnan check for non-float type
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-16 09:22:05 +11:00
chobits c5e289efc3 AP_Beacon: Nooploop driver
based on rmackay9's work
2020-10-15 08:07:46 +09:00
Peter Barker c40b5490f4 AP_HAL_SITL: stop setting of pull-up resistors affecting SIM_PIN_MASK 2020-10-14 08:28:23 +11:00
Harsh Pandey c2744396cc AP_BoardConfig: Update BRD_TYPE parameter description for recent boards. 2020-10-14 07:53:22 +11:00
Pierre Kancir 52898cfdbd AP_Airspeed: remove size warning on SDP3X crc function.
Clang-Tidy: Loop variable has narrower type 'uint8_t' (aka 'unsigned char') than iteration's upper bound 'unsigned int'
2020-10-14 07:52:02 +11:00
Peter Barker 7e92bbc7bd AP_HAL_Empty: remove un-needed constructor
Not sure the initialisation is needed but retained it.
2020-10-13 19:55:34 +11:00
Peter Barker 3cce6197a1 AP_HAL: delete copy constructors 2020-10-13 19:55:34 +11:00
Peter Barker b7f0015a69 AP_HAL_SITL: add bus ownership check for simulated i2c transfers
Also stop copying the bus object while iterating
2020-10-13 19:55:34 +11:00
Andrew Tridgell fb1dcdb059 HAL_ChibiOS: added BL suffix to bootloader USB IDs for two boards
our convention is to have -BL on end of USB product IDs in bootloaders
2020-10-13 17:59:13 +11:00
Andrew Tridgell 418bd33c43 HAL_ChibiOS: fix CUAV-X7 power bits 2020-10-13 17:58:30 +11:00
Andrew Tridgell 25bc128248 HAL_ChibiOS: fixed periph overpower ifdef
fixes overcurrent logging on several boards
2020-10-13 17:58:30 +11:00
murata 6304ade668 GCS_MAVLink: Change to leave the lower 16 bits. 2020-10-13 12:06:18 +11:00
Iampete1 c591e45e59 AP_OSD: get wind speed from wind vane on rover 2020-10-13 11:39:43 +11:00
Hwurzburg a7a780ec6e RC_Channel: add RC option for landing flare 2020-10-13 11:36:19 +11:00
Iampete1 de664ae6a8 AP_Scripting: bindings: add units and multipliers to logging 2020-10-13 10:34:42 +11:00
Iampete1 5cbbe656ba AP_Scripting: add units and multipliers to logging example 2020-10-13 10:34:42 +11:00
Iampete1 a09e15137e AP_Scripting: add logging to plane-wind-fs example 2020-10-13 10:34:42 +11:00
Pierre Kancir 420c9c9d36 AP_Param: use hal.util->set_cmdline_parameters() on SITL on reload_defaults_file()
This allow to pass cmdline parameter to Param on start for each vehicle in the same way as param file
2020-10-13 10:31:21 +11:00
Pierre Kancir 5b356953ff AP_HAL_SITL: implement and use set_cmdline_parameters() 2020-10-13 10:31:21 +11:00
Pierre Kancir 1c80b04544 AP_HAL: add virtual set_cmdline_parameters() 2020-10-13 10:31:21 +11:00
Pierre Kancir 466a430c4f AP_HAL_SITL: add --sysid option to set SYSID_THISMAV 2020-10-13 10:31:21 +11:00
Patrick José Pereira 175d55a0aa AP_LeakDetector: Add navigator support
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-12 09:53:03 -07:00
Patrick José Pereira 4c7af1d99f AP_LeakDetector: Add subtype check and warning message
Add warning if board does not support leak detector sensors

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-12 09:53:03 -07:00
Andrew Tridgell e346cd3c80 GCS_MAVLink: fixed use of incorrect millis16() values 2020-10-12 13:48:15 +11:00
Peter Barker 45f7322af6 GCS_MAVLink: avoid catching up on sending messages when sending disrupted
The code here was never meant to maintain an "average" streamrate.  It
was designed so that we would maintain a consistent clock in the face of
minor scheduling anomalies (like an EKF fusion step).

The way this is written, however, makes us spit out a message for each
of the intervals we missed - clearly not intended behaviour.

This was tested by inserting the following code:

 void GCS_MAVLINK::update_send()
 {
+    const uint32_t xnow = AP_HAL::millis();
+    if (xnow > 10000 &&
+        xnow < 20000) {
+        return;
+    }
+
2020-10-12 13:48:15 +11:00
Andrew Tridgell 989f8c5d41 HAL_ChibiOS: fixed a race condition in UART DMA transmit
this fixes an issue seen on one board which caused a watchdog on high
uart DMA load. We have reproduced the issue on another board by
forcing a very high DMA transfer rate on the same DMA channel while
also requesting very high transfer rates on the UART. The likely race
is in the DMA transmit timeout code, and the simplest fix is to lock
out interrupts during the DMA setup to ensure the tx timeout cannot
trigger during the setup
2020-10-12 13:25:48 +11:00
Peter Barker 9bde294112 AP_HAL: add chargen UARTDriver example 2020-10-09 19:14:59 +11:00
murata 967aa44fbe AP_Baro: Change message from AP_Baro to Baro for unification accross the file 2020-10-08 10:51:33 +11:00
bugobliterator 5880628b01 hwdef: add support for CubeBlack-periph 2020-10-08 09:31:35 +11:00
bugobliterator e16cab0437 AP_HAL_ChibiOS: ensure we timeout while checking FDCAN register sets 2020-10-08 09:31:35 +11:00
bugobliterator 5f0c553982 AP_HAL_SITL: configure filter only if in FilteredMode 2020-10-08 09:31:35 +11:00
bugobliterator ba576247f0 AP_HAL_Linux: configure filter only if in filtered mode 2020-10-08 09:31:35 +11:00
bugobliterator 49915ed06f AP_UAVCAN: save some stack space 2020-10-08 09:31:35 +11:00
bugobliterator ca957519dc AP_HAL_ChibiOS: redo filter configuration to make it work with STM32H7 2020-10-08 09:31:35 +11:00
bugobliterator d1eb9e8aea AP_HAL: add FilteredCAN mode to tell driver to init as such 2020-10-08 09:31:35 +11:00
bugobliterator 46827f0c91 AP_CANManager: redo filter configuration to make it work with STM32H7 2020-10-08 09:31:35 +11:00
Patrick José Pereira 8701e3626d GCS_MAVLink: Update GCS_Dummy to use new AP_FWVersionDefine header
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-07 19:32:12 +11:00