Commit Graph

24344 Commits

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