Commit Graph

85 Commits

Author SHA1 Message Date
Andrew Tridgell 94841dd608 Tools: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Paul Riseborough e3d05094a0 Tools/Replay: Add handlers for external lat lng position set 2023-06-06 15:19:12 +10:00
Andrew Tridgell 32bead6013 Replay: use common events and structures
allows for --force-ekf2 and --force-ekf3 to run the other EKFs events
when needed
2020-11-17 13:45:07 +11:00
Andrew Tridgell 1250f62c88 Replay: fix for WriteV usage and cleanup unused code 2020-11-16 10:28:43 +11:00
Andrew Tridgell 4edc784dc4 Replay: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell 541d11ee05 Replay: cleanup unused code 2020-11-10 16:15:45 +11:00
Andrew Tridgell e7fa722290 Replay: support overriding parameters 2020-11-10 16:15:45 +11:00
Andrew Tridgell 3d2f07e757 Replay: support body frame odometry 2020-11-10 16:15:45 +11:00
Andrew Tridgell afb11cf29b Replay: support wheel odomotry 2020-11-10 16:15:45 +11:00
Andrew Tridgell 0ee8b415f2 Replay: support external position and velocity data 2020-11-10 16:15:45 +11:00
Andrew Tridgell 1fb421ae6a Replay: handle optical flow
and move frame processing to AP_DAL
2020-11-10 16:15:45 +11:00
Andrew Tridgell 81f96aedd2 Replay: new replay implemention
this uses log msgs from AP_DAL to replay more accurately

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Peter Barker 1cefd2943b Replay: correct various atrophications in Replay tool
Replay: tear down threads before exitting

NKQ is a generated name - don't copy it across to output

Stop whinging about presence of NKF6 and friends; we know these generated names are not going to be present in modern logs

memcpy rather than strncpy within log_FMT

Correct strings vs optionally-terminated structure entries in sanity checks

Call AP_Param::load_all() to start the parameter saving thread.  AP_Compass' init() method now saves parameters (compass reordering), and because we're disarmed we will block until the parameter is pushed onto the to-save queue; if there's no thread popping off that list we block indefinitely.

Remove duplicate definitions of various singleton objects.

Replay: write out GPS message to output log

Useful for diagnosis, but also because we struggle to find a time base
without this and the pymavlink tools take forever to work

Replay: set COMPASS_DEV_ID and COMPASS_PRIO1_ID so EKF gets mag data

Replay: avoid use of system clock; use stopped-clock only

Replay: constraint to emitting output for single core only
2020-09-15 10:02:36 +10:00
Andrew Tridgell c0d9731dd4 Replay: fixed for AP_Vehicle usage 2019-12-30 13:02:04 +11:00
Tom Pittenger a8908e3c57 Tools/Replay: rename datalogger to logger 2019-03-28 16:40:58 +11:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Peter Barker 5452730fc9 Tools: Replay: make it work again
Tools: Replay: ignore setting of LOG_DISARMED

Otherwise log files that come in with LOG_DISARMED false don't get any
significant output

Tools: Replay: apply user parameters after any PARM message

Tools: Replay: emit timestamp when EKF is force-started

Tools: Replay: use stderr for what it's good for

Tools: Replay: force log disarmed
2018-10-31 16:05:33 +11:00
Peter Barker 961aac454b Tools: Replay: use Log_Write for CHEK message 2018-10-31 16:05:33 +11:00
Peter Barker 3a718366e1 Tools: Replay: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker ada7d700c2 Tools: support for units on fields
Tools: add units to minimal log format

Tools: add units to CHEK message
2017-11-23 10:40:30 +11:00
Peter Barker d475b91564 Tools: Replay: pass a lambda function to LR_MsgHandler_PARM to set parameters
This avoid duplication of parameter setting logic.
2017-09-14 13:43:50 +01:00
Peter Barker b5e206f72f Replay: print some statistics on exit 2017-09-06 02:30:38 +01:00
Peter Barker eefdc32f51 Replay: print message when gap perceived in log 2016-06-07 14:00:14 +10:00
Andrew Tridgell 1e44251d35 Replay: include a minimal set of FMT messages at start of log 2016-05-26 10:10:27 +10:00
Andrew Tridgell 366d95f45e Replay: fixed FMT messages in replay output 2016-05-26 09:40:21 +10:00
Andrew Tridgell 736c162d21 Replay: added --param-file option 2016-05-25 20:46:18 +10:00
Andrew Tridgell 276f5dd3f1 Replay: use a larger LOG_FILE_BUFSIZE for Replay 2016-05-09 13:58:37 +10:00
Andrew Tridgell 7abaa75653 Replay: added --logmatch option
match logging rate to input log
2016-05-07 18:27:22 +10:00
Andrew Tridgell c2aeb058cd Replay: mark GPA as generated 2016-05-07 18:27:22 +10:00
Andrew Tridgell 827551c99f Replay: added replay of GPS speed accuracy 2016-05-07 18:27:20 +10:00
Andrew Tridgell b31e896ef3 Replay: closer to goal of bit-accurate replay 2016-05-07 18:27:18 +10:00
Andrew Tridgell f367180f47 Replay: support 2 IMU EKF2 2016-04-26 14:39:44 +10:00
Andrew Tridgell 643178fbe3 Replay: handle EKF2 replay 2015-09-23 18:56:15 +10:00
Gustavo Jose de Sousa 84b5555a1a Tools: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:28:41 +10:00
Andrew Tridgell f2106f39aa Replay: save CHEK messages when not being generated 2015-07-09 10:20:45 +10:00
Andrew Tridgell dd53f5a7a1 Replay: added --nottypes option 2015-07-07 15:14:05 +10:00
Andrew Tridgell bdddfae57f Replay: don't write out duplicate FMT messages
this makes replay output the same as input for when input is a replay
log
2015-07-04 22:43:54 +10:00
Andrew Tridgell 93800fb3a1 Replay: automatically find message types, and improve rate detection 2015-07-04 15:14:14 +10:00
Andrew Tridgell b20318aaeb Replay: remap msgids on pass-through to avoid conflicts
if msg IDs have changed since the log was produced they need to be
remapped
2015-07-03 09:32:05 +10:00
Andrew Tridgell b93101b1bf Replay: reduced verbosity 2015-07-01 21:11:46 +10:00
Andrew Tridgell f2756ecb22 Replay: added checking of solution 2015-06-26 15:55:19 +10:00
Andrew Tridgell 31f7525a61 Replay: added --no-imt flag 2015-06-17 12:46:55 +10:00
Andrew Tridgell c7cb980498 Replay: support IMT messages 2015-06-16 09:53:55 +10:00
Peter Barker d41b21cd19 Replay: split off a base class for reading dataflash logs 2015-06-14 16:47:52 +10:00
Peter Barker f4db241bf6 Replay: avoid dataflash buffer filling up on many pass-through messages 2015-06-09 21:52:46 +10:00
Andrew Tridgell b27d0a6525 Replay: handle replay on older logs
we now pass-thru all messages except those that are being generated by
replay. We also pass-thru the FMT headers for those messages
2015-05-28 13:30:38 +10:00
Andrew Tridgell 2007d2b6eb Replay: cope with FRAM messages
use them to trigger ahrs updates
2015-05-28 13:30:37 +10:00
Andrew Tridgell dc1ff9a757 Replay: added in_list() method
neaten up code
2015-05-19 20:22:46 +10:00
Peter Barker 91b761cfb0 Replay: merge MessageHandler_* into MsgHandler.h/MsgHandler.cpp
These were trivial classes; having lots of these files around made
it painful to work with.
2015-05-19 20:22:45 +10:00