Commit Graph

341 Commits

Author SHA1 Message Date
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
Lucas De Marchi 3620529c22 Replay: remove infinite loop from loop() method
Remove the while() loop inside Replay::loop() so the new signal handlers
correctly notify the mainloop to exit.

This makes SIGTERM/SIGINT work again.
2016-11-02 16:28:20 -02:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Lucas De Marchi 631d4a1152 Replay: add clean target for CI
CI has a generic infra that calls make clean before building and it
fails for Replay since it doesn't have a clean target.
2016-08-29 10:27:36 -03:00
Gustavo Jose de Sousa b8e518a533 waf: use ap_library tool
That way we avoid recompiling source files that don't depend on vehicles.
Change notes:
- UTILITY_SOURCE_EXTS: moved to ap_library
- Task generators indexes: ap_library handles that now and in a better way
- Use of AP_STLIB_FEATURES: it doesn't make sense anymore, since the stlib
  taskgen has empty source list
- Flags and defines: passed down to ap_library through AP_LIBRARIES_OBJECTS_KW
- Set use='mavlink' in AP_LIBRARIES_OBJECTS_KW instead of calls to
  bld.ap_stlib().
2016-08-24 10:46:23 -03:00