Program for visualization and analysis of MK .gpx log-files
(A video of this flight is here)
Download the latest version here (Apr 20 2013 16:24 v1.3.1):
- Virtual OSD(!): Virtual OSD which can be merged and displayed with the relevant video of the flight (GPX data can be synchronized with this video)
- Virtual OSD synchronization settings can be saved in the video file folder for later replay
- Artificial Horizon / Compass is continously updated 10x per second with the logs entries (second to second) (interpolation)
- GridView table with all values, additionally the values ErrorCode and NC/FC-Flags etc. can be displayed as Text, errors are highlighted in Red
- Map Window with the flightpath is superimposed on Google Map, Waypoints, several customizations of the display
- Player Window, lets you play back the Track Points (without Video), variable playback speed
- Sticks/Potis Window with Graphical und nummerical view of Stick/GPSStick positions
- Displayed range is selectable
- Display of the 'Log' folder in tabular form sorted by Year/Month, Display of the number of Logs/Folders
- Display of the 'Date'- Folders (number of Logs contained, Size, Start Time per Log, converted from UTC to Local Time)
- Up to 10 independant fully animated GraphViews (Value Axis Zoom, Time Axis Zoom, xy can be shifted)
- Snapshot View of all important values, incl. Min/Average/Max Values, Error Messages, Flight Duration etc.
- Additional calculated Values (Watts, ....)
- Display of all possible Error Messages in the Snapshot View (Low Batt, Failsafe, Emergency Landing... etc.)
- All window positions/sizes and selected values will be saved!
- Values can be toggled between "RAW/METRIC/INCH"
- Automatic detection and reading of defect/interrupted .GPX-Files
- Opening of .gpx-files in the MK GPXTool by double-click, or via Command Line-Parameter, or singularly
- Comprehensive graphic display of all Flags
- Export to .csv - all or selected entries, with currently selected values and selected unit (RAW/METRIC/INCH)
- Automatic detection of the SD Card when inserted and transfer of the Logs
- 5 Different configurations possible
- Comments can be added to date-folders (yyyymmdd_xyz)
Once started the program will display the root folder "Log" where you ideally will have copied all your log files from the SD card. To select it right-click "Select log directory". The program will remember this setting and in will re-load the folder with left-click on subsequent uses (if you have added new log files to this folder).
If your logs are at c:\log\20120518\GPX\*.gpx, for example, you only have to select the root folder "c:\log" .
Now you will see a list of folders sorted by year / months / date. When you expand these, by clicking on the "+", the individual log files will be displayed. Click on the date, and you will see a list of the logs with basic information. Clicking on any of these will display a snapshot view of the main parameters. The log is now already loaded into the program and you can select individual display windows form the task bar at the top.
The dropdown-list "Config 1" lets you save up to 5 different display selections. To change the displayed values in "Open GridView" and "Open new GraphView" click on"..." at the top of the respective windows and make your selection by using the "left" and "right" arrows to adlete or add to the "selected values" list. Selection of multiple values follows the Windows convention using "SHIFT" or "CTRL" and click.
Open .gpx files with a doubleclick in MK GPXTool
MK GPXTool accepts a .gpx file (with path) as a command line option, with that you can enable your Windows Explorer to open .gpx-Files with MK GPXTool if double-clicked.
How to do this is explained here.
Adding a Video in VirtualOSD:
The VirtualOSD uses the Media Player addin. If Media Player can display your video, it will play in VirtualOSD. You may have to install additional Codecs if you get an error message (Haali media splitter for GoPro .mp4-Dateien for example.) and test that it runs successfully in Windows Media player.
After motor start, or even a few seconds later when thrust is applied for the first time (that when the log starts recording), click "SyncStart" in the video. Now fast forward the video to the position where the motors are stopped and click "SyncEnd".
Possibly you may have to click "SyncStart" with some delay after motor start (a bit of trial and error here).
Important: Only after you have slected BOTH "SyncStart" and "SyncEnd" the trackpoints will be played in sync with the Video.
Once you have done this a click on the video time opens a a small adjustment window. Here you can fine-tune the StartSync and EndSync time by +- 100ms.
Hint: the display is ahead of the Video >> StartSync +100ms, the display is behind of the Video >> -100ms
Synchronize Log with Video (Log is longer than Video, i.e. Video was started during the flight):
To reverse the synchronization process, select "Sync" in the menu and click"Sync from Log".
The video will not start with this.
Now you select the postion in the log where the Vidoe was started and click "SyncStart".
Then go to the end of the log and click "SyncEnd".
Finetuning can again be achieved by clicking on the video time to open the "SyncDetail" window.
Since the values are updated in 1 second intervalls, the video can only be synchronized over its full lenght. Anything that happens within one second of video will be displayed in the OSD either matching, advanced, delayed or not at all. This is a limitation caused by the logs structure.
As already said, a bit of trial and error is involved with SyncStart and SyncEnd to find the right position.
A practical example of a video I synchronized:
Auto-Transfer of the logs from the SD Card:
If in the menu item "Settings" you activated "Auto move new logs" the program will automatically detect if an SD card with MK logs is inserted.
A window will open and display how many new logs and directories are found.
You can choose if you want these to be moved into the current local log-directory.
If an identical date-directory already exists, i.e you flew on the same day, emptied the SD card and flew again, the new .GPX and .KML files will be automatically renamed in increments of 1.
File "GPS00000.GPX" becomes "GPS00001.GPX"
File "GPS00000.KML" becomes "GPS00001.KML" etc.
(The applies also to any other files which already exist in the local directory.)
You can create and store up to 5 configurations, each with their own log-path, window positions / sizes, selected values etc.
If you select a new empty configuration, the first one will be automatically copied. If you change from one configuration to another, the previous one is saved automatically.
To copy an existing configuration into another, choose "Import config" from the "Settings" menu. This will over-write the currently selected configuration.
By saving of the Sync-Data in VirtualOSD ("Save sync") a new file, containing the file name and path of the video file, with the extension ".sync" is created. (If you want to save the sync-data, the video must be loaded from a writable location).
On exiting the program the files "MK_GPXTool.ini", respectively "MK_GPXTool_2-5.ini" for the different configurations, will be created in the program's folder.
The rest of the program is pretty much self-explanatory... (Please notice the Tooltips!)
If you find any errors please report them here: this Forum-Thread and include detailed and reproducable instructions how you got there. Screenshots are also a great help.
My testing platforms so far are Windows XP Pro SP3 with Windows Media Player 11 and Windows 7, Vista should also work.
.net Framework 2.0 is a minimal requirement, and is most likely already installed on systems since XP.
Many thanks to all who are contributing and have fun testing!