Commit Graph

24175 Commits

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