Commit Graph

345 Commits

Author SHA1 Message Date
Andrew Tridgell
367c993673 Replay: fixed cast of REY3 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
614a77d2c9 Replay: allow for early log end in check_replay.py
when session is killed we can lose one frame worth of EKF msgs
2020-11-10 16:15:45 +11:00
Andrew Tridgell
4cd5ac5164 Replay: add call to RFRF handler 2020-11-10 16:15:45 +11:00
Andrew Tridgell
09265a8a9b Replay: improved failure reporting in check_replay.py 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
Patrick José Pereira
27720f2235 Tools: Replay: Move from uint to uint32_t in MsgHandler
uint is not a fundamental type and does not exist under cstdint

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-09-26 20:28:18 +10: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
71732d07f0 Replay: disable case-align for Replay build 2020-07-10 13:31:27 +10:00
Peter Barker
b8087c3e84 Replay: let AP_Vehicle handle loop() 2020-02-06 14:41:06 +11:00
Peter Barker
bde97596eb Tools: adjust Replay for new AP_Vehicle requirements 2020-01-28 11:34:51 +11:00
Peter Barker
d95956a587 Replay: EKF objects have moved into AP_AHRS_NavEKF 2020-01-21 11:53:18 +11:00
Tatsuya Yamaguchi
058cd4200f Tools: Replay: allow scripts to get modes 2020-01-14 11:16:29 +11:00
Andrew Tridgell
c0d9731dd4 Replay: fixed for AP_Vehicle usage 2019-12-30 13:02:04 +11:00
Andy Piper
30878553d6 Tools: add AP_Camera to list of libraries
remove dummy Camera methods from Replay
add rcmapper to replay
make replay a vehicle
2019-12-30 13:02:04 +11:00
Peter Barker
1ba0e5350f Tools: NavEKF constructors no longer take rangefinder 2019-12-11 08:09:01 +11:00
Marian Soban
018d6bd35b Tools: Replay: add stubs to avoid linking LTM telemetry 2019-11-26 12:14:13 +11:00
Peter Barker
cd1c9309e6 Tools: add method to avoid linking AP_Avoidance 2019-11-12 13:48:09 +11:00
Peter Barker
b8cbd64c86 Tools: Replay: use Event enumeration from Logger header 2019-11-05 08:19:26 +08:00
Peter Barker
f431c0b256 Replay: use ahrs singleton to log ATT, POS and AHRS2 2019-10-24 13:15:46 +11:00
Peter Barker
642935fd43 Tools: random Python cleanups based on lgtm analysis 2019-09-21 22:26:03 +10:00
Peter Barker
192b275837 Tools: Replay: add dummy AP::advancedfailsafe method 2019-09-17 09:13:43 +10:00
Peter Barker
6c22faa585 Tools: Replay: correct compilation (missing override keywords) 2019-09-04 08:55:27 +10:00
Michael du Breuil
7ca6fd928e Replay: Included needed headers directly 2019-08-28 13:13:03 +10:00
Peter Barker
6c5b03dbb7 Tools: Replay: var_info is now in GCS_MAVLINK_Parameters 2019-08-14 18:25:43 +10:00
Peter Barker
92dde5b111 Tools: Replay: move automatic declination setting into AP_Compass itself 2019-08-13 10:02:13 +10:00
Peter Barker
070e9e56b3 Tools: rangefinder no longer takes SerialManager in constructor 2019-07-16 09:29:48 +10:00
Peter Barker
bb677756a0 Tools: Replay: EKF logging moved to AHRS from logger 2019-07-06 19:05:51 +10:00
Michael du Breuil
0e4b751786 Replay: Fix AP_GPS.h include 2019-06-18 10:02:05 +10:00
Peter Barker
5ab000376b Tools: Replay: correct format strings 2019-06-13 13:41:27 +10:00
Peter Barker
6fd138d613 Tools: Replay: build and link against AP_Arming 2019-05-30 07:37:30 +09:00
Michael du Breuil
3a25897ab4 Replay: Fix rangefinder constructor 2019-04-06 09:15:22 +11:00
Michael du Breuil
f92ee78890 Replay: Fix include 2019-04-05 20:12:53 +11:00
Tom Pittenger
a8908e3c57 Tools/Replay: rename datalogger to logger 2019-03-28 16:40:58 +11:00
Peter Barker
d4fe65b43c Tools: Replay: remove definition of Devo constructor 2019-03-23 11:25:21 +11:00
Peter Barker
eb16c30bdb Tools: Replay: add stubs to avoid linking devo 2019-03-19 14:39:14 +11:00
Peter Barker
b346e82b3e Replay: use enum class for AltFrame enumeration 2019-03-19 10:31:18 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
edac5e1a80 Tools: replace location_offset() and get_distance() function calls with Location object member function calls
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
Peter Barker
bf9b8f41bf Tools: Replay: cope with WARN_IF_UNUSED on AP_AHRS::set_home 2019-02-15 08:28:45 +11:00
Peter Barker
9eea14054e Tools: Replay: fix build 2019-01-18 18:08:20 +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
3a53c5f99c Tools: Replay: update Replay for Location/Location_Class merge 2019-01-16 11:45:29 +11:00
Michael du Breuil
2c8b5c651d Tools: Remove unneeded AP_Buffer include 2018-12-31 11:41:43 +09:00
Andrew Tridgell
15853adb04 build: removed remaining make.inc files 2018-12-22 11:06:59 +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
af66d72510 Tools: Replay: correct -n command-line argument 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
95f7b1aeb7 Tools: add dummy AP::camera method to avoid linking camera 2018-08-31 15:48:56 +10:00
Michael du Breuil
8ab3b666fa Tools: Remove unused ADC include 2018-07-17 09:29:50 +10:00
Peter Barker
357a57f68a Tools: Replay: implement more dummy camera methods to avoid linking camera 2018-07-06 09:43:09 +10:00
Peter Barker
5665feb29e Tools: Replay: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Andrew Tridgell
9096bcf7b2 Tools: fixed reference to linux-debug 2018-05-09 14:17:32 +10:00
Andrew Tridgell
2aceab2b66 Replay: fixed build 2018-04-24 21:33:10 +10:00
khancyr
9ade6cd579 Replay: Remove AP_InertialNav 2018-04-24 21:33:10 +10:00
Michael du Breuil
8fbec1cfa3 Replay: Support GCS_MAVLink changes 2018-03-27 22:12:21 +01:00
Lucas De Marchi
5282ed3a1b Tools: use ins singleton 2018-03-16 00:37:35 -07:00
Peter Barker
3a718366e1 Tools: Replay: use baro singleton 2018-03-08 21:20:05 -08:00
Peter Barker
e76865eb9c Tools: Replay: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +00:00
Andrew Tridgell
88abd34d40 Replay: fixed build with no create() 2017-12-14 08:12:28 +11: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
Dr.-Ing. Amilcar Do Carmo Lucas
63ca1f755e Tools: Replay: fix compiler warning for printf string
format ‘%ld’ expects argument of type ‘long int’, but argument has type ‘uint64_t {aka long long unsigned int}’
2017-10-25 20:27:55 +11:00
Lucas De Marchi
beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi
e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi
72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi
40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi
9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi
53c82b4aaf global: use static method to construct DataFlash_Class 2017-09-26 03:01:21 +01:00
Lucas De Marchi
8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi
87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi
c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi
91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01: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
0062084c40 Tools: Replay: option to print packet counts out at end 2017-09-12 19:01:59 +01:00
Peter Barker
b5e206f72f Replay: print some statistics on exit 2017-09-06 02:30:38 +01:00
Randy Mackay
cd8661c665 Replay: integrate simpler Log_Write_EKF 2017-08-23 11:19:14 +09:00
Michael du Breuil
1b6c3aeea1 Replay: Avoid linking AFS 2017-08-15 15:14:56 +01:00
Peter Barker
1c2e1eeaf8 Tools: provide dummy function to avoid linking the AP_Camera 2017-08-09 16:18:22 +01:00
Peter Barker
dff026e30c Tools: Replay: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Peter Barker
6a7ed2646c Tools: Replay: Use GCS_Dummy GCS singleton 2017-07-07 16:18:37 +01:00
Peter Barker
29de7b1a17 Replay: provide a log bitmask to Dataflash constructor 2017-06-29 15:43:38 +01:00
Peter Barker
10b69b46e1 Replay: StartUnstartedLogging replaces logging_started/start_logging 2017-06-11 20:34:12 +01:00
Randy Mackay
bc89432019 Replay: fix rangefinder instantiation 2017-02-27 15:18:14 +09:00
Peter Barker
e2f15e5fdb Tools: create a GCS_Replay class
Avoids a segfault as we assume gcs() returns an object
Provides some usefult debug as to what we're sending to the GCS as
 debug
2017-02-23 23:03:54 -08:00
Peter Barker
f5c89117f6 Replay: remove unused variables
Also avoids segmentation fault on exit
2017-02-23 17:18:47 +11:00
priseborough
c8bdf2fab8 Replay: enable replay to ignore EK3_ENABLE setting in log 2017-01-27 16:57:42 +09:00
Andrew Tridgell
bebc7e4519 Replay: removed EKF_ENABLE parameter 2016-12-19 08:07:13 +11:00
Andrew Tridgell
35bed59bd4 Tools: Add EKF3 and remove EK1 2016-12-19 08:07:10 +11:00
Randy Mackay
d1f944d0c9 Replay: remove call to EKF1 logging 2016-11-30 17:57:09 +09:00
Randy Mackay
277ec38adc Replay: add AP_Beacon to build 2016-11-30 17:57:08 +09:00
Lucas De Marchi
6c9f46bafb Replay: fix shadowed declaration
../../Tools/Replay/Replay.cpp: In member function ‘FILE* Replay::xfopen(const char*, const char*)’:
../../Tools/Replay/Replay.cpp:485:60: warning: declaration of ‘filename’ shadows a member of ‘Replay’ [-Wshadow]
 FILE *Replay::xfopen(const char *filename, const char *mode)
                                  ^
2016-11-16 22:28:11 -02:00
Peter Barker
78d7a144b1 Replay: add close-on-exec to fopen flags 2016-11-16 22:20:33 -02:00
Peter Barker
4543f1c548 Replay: check return value from fopen() of output files 2016-11-16 22:20:10 -02:00
floaledm
8d0fd7cea8 Tools: add AP_Frsky_Telem 2016-11-08 07:42:39 +11:00
Lucas De Marchi
8cec2c188f Tools: add O_CLOEXEC in places missing it
By opening with O_CLOEXEC we make sure we don't leak the file descriptor
when we are exec'ing or calling out subprograms. Right now we currently
don't do it so there's no harm, but it's good practice in Linux to have
it.
2016-11-07 12:37:30 -03:00