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 Interactive replay tool.
  • 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 (for non-mwp recorded logs without metadata).

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.

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" dropioniodown. speedup
  • The user can select whether to display any embedded artefact from the log file (or SQLite container).

  • 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

SQLite container files#

mwp processes Blackbox, OTX/ETX, BulletGCSS and mwp JSON logs into a SQLite container for replay and display. If the source is mwp JSON, or artefacts (Mission, Safehome, FW Approach, GeoZone) are active, then these are preserved in the SQLite container. Thus the SQLite container can hold the logged data and other supporting information.

If the setting sqlite-log-path is set to a valid directory name, then SQLite files are preserved for future use in that directory. This will considerably speed up porcessing, as the time consuming part is parsing the log file.

If sqlite-log-path is not set, then the processed SQLite files are discarded when mwp is closed.

Other notes#

  • Some feature of the extant replay will not be implemented at first (video linking (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.
  • Setting MWP_PREFER_XLOG has the 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.