Commit Graph

24411 Commits

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