Skip to content

Replay Tools#

In order to replay log files, mwp has a number of external dependencies, in particular the flightlog2x flightlog2kml and fl2ltm tool provided by the bbl2kml repository. As well as providing replay tools for mwp, the bbl2kml tools offer the facility to generate attractive animated KML / KMZ files for visualisation in google-earth.

mode view

Flight mode view

rssi view

RSSI view

effic view

Efficiency view

Analysis

The RSSI view shows why the aircraft is playing "failsafe ping-pong" at the right extreme of flight

bbl2kml binary packages are provided for many popular platforms.

Log replay#

mwp can replay a number of "flight log" formats. Other artefacts such as mission files / safehomes / (geozones) can be displayed while the replay is in progress.

Location rebase#

You may wish to obfuscate the location of log replay, particularly if you are publishing screen shots or vidoes. The --rebase option allows this. --rebase requires a latitude and longitude of the relocated position; the latitude and longitude may be separated by comma, semi-colon or space (the latter two quoted or shell escape) and may be decimal degrees or DD:MM:SS.ss format. The following would relocate a replay to Narita Airport in Japan (plausible denial, protect the innocent etc.):

mwp --rebase 35.761000,140.378945 -b reloc-test.TXT -m reloc-test.mission
mwp --rebase 35.761000\;140.378945 -b reloc-test.TXT -m reloc-test.mission
mwp --rebase 35.761000\ 140.378945 -b reloc-test.TXT -m reloc-test.mission
mwp --rebase "35:45:39.6N 140:22:44.2E" -b reloc-test.TXT -m reloc-test.mission

Blackbox replay#

In order to replay blackbox logs, you additionally need inav blackbox tools, specifically blackbox_decode). Binary packages are provided for many popular platforms. The minimum required version in 0.4.4, the latest release is recommended.

OpenTX / EdgeTX logs (CRSF and Smartport)#

OpenTX enables the storage of CRSF and Smartport telemetry logs on a transmitter's SD-Card. These logs contain telemetry information transmitted from the flight controller.

mwp can replay these logs, in a similar manner to the replay of Blackbox or mwp logs, albeit with less detail and typically at lower data rates.

  • Enable RX telemetry on the FC
  • Enable telemetry logging on the TX
  • Post flight, transfer the log from the LOGS directory of the SD card to your computer
  • Replay the log using the Replay OTX Log (or Load OTX Log for a "fast-forward" rendering)
  • Limited support is available of TX logs from Ardupilot.

No addition software requirements.

BulletGCSS Logs#

No addition software requirements.

Ardupilot logs#

Requires Ardupilot's mavlogdump.py.

mwp JSON logs#

No addition requirements.

mwp "raw" logs#

mwp "raw" logs are either recorded directly in mwp (--raw-log) for indirectly using the external mwp-serial-cap tool. The logs generated by mwp and mwp-serial-cap contain meta-data describing the size and time of each item recorded; mwp can also play 3rd party logs that are 'plain' rw data (i.e. without any timing meta-data).

Recent versions of mwp contain a "Replay mwp RAW log" menu item that automates the manual process described below. This provides a dialogue to select the raw log file and an optional delay which is applied every 16 bytes read.

Otherwise it is necessary to build and install mwp-log-replay and run it outside of mwp,

# Start mwp as a UDP listener, port is arbitrary, here 40001 is chosen
## -a connect immediately without user intervention
## -d serial-device. No host part means it listens for remote connections
## listen on UDP port 40001

mwp  -a -d udp://:40001

# In another  terminal  (even other machine if you replace localhost with the machine running mwp)

mwp-log-replay -d udp://localhost:40001 /path/to/my/logfile.raw

Raw logs containing MSP, LTM, MAVLink, CRSF and MPM Smartport and IBUS messages can be replayed.

Legacy Pause / Resume#

The legacy playing state may be toggled with the space bar. If a video is associated with the blackbox replay, then pausing the video will pause the blackbox replay and vice-versa.

Display of RC Stick positions#

Where such data is available (Blackbox, OTX/ETX logs), mwp can display the position of the 'sticks'. This is displayed in the bottom right corner of the map.

  • Initially, a "refresh" icon is shown
  • Clicking this icon will show the sticks display
  • A right mouse click on the sticks display reveals a "Hide" option. Clicking this reverts to the icon.

Interactive player#

The (new, July 2025) "interactive" player loads a somewhat familiar chooser for Blackbox, OTX/ETX, mwp JSON, BulletGCSS and SQLite logs.

log-chooser

  • Selecting a log entry and clicking "OK" will present the player; if the (default) "Autostart" chooser option was enabled, then replay starts immediately, otherwise the replay can be manually started.
  • The replay may be paused / advanced / retarded / restarted using the play button / slider / goto start / goto end buttons. slider
  • The replay may be single stepped, with the "slider" in focus, using the "arrow" (⇦, ⇨) keys, and "paged" (jumped) using the "Page Up" / "Page Down") keys.
  • Closing the slider window terminates the replay.
  • The user can speed up the replay using the "Speed" dropdown. speedup

  • If the log file contains multiple logs, there will be a player menu so one can switch logs without having to re-parse the whole file.

multilogs

Other notes#

  • Some feature of the extant replay will not be implemented at first (video linking, mission "OSD" (if at all)).
  • The "Flight Statistics" dialog is updated whenever the replay is paused (or closed). It always shows details for the whole flight rather than incremental values.
  • Direction (GGS v. mag) analysis is not yet implemented.
  • The new chooser / player will be used for command line-b, --replay-bbox and drag / drop files on to the mwp window if the environment variable MWP_PREFER_XLOG is set (to anything), e.g:
      $ MWP_PREFER_XLOG=1 mwp -b /t/inav-contrib/LOG00006.TXT
    
  • Setting MWP_PREFER_XLOG also has the side effect of showing the sample number in the slider (as above image).
  • SQLite logs resulting from "Interactve Log" replay may be stored in the directory defined by the setting sqlite-log-path. Thus it only only necessary to perform the slow conversion once; after that logs are available for interactive replay immediately from the generated SQLite file.