TRANSLATION IN PROGRESS!!

MKGPXTool

Program for visualization and analysis of MK .gpx log-files

http://gallery.mikrokopter.de/main.php/v/uploads/MKGPXToolScreenshot.png.html
http://gallery.mikrokopter.de/main.php/v/uploads/ScreenShotMap.png.html
http://gallery.mikrokopter.de/main.php/v/uploads/ScreenShotFlags.png.html
(A video of this flight is here)

Download the latest version here:

Download (Changelog)

(In the menu 'Progam'->'About' you can find the 'DONATE'-Button, many thanks!)

Please read the instructions "Help/Initial Start" carefully!

Features

- 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
- 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

Help/Initial Start

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.

Synchronise Video:

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.

{i} 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.

Ein aktuelles Beispiel aus der Praxis mit einem Video das ich Synchronisiert habe:

Videolänge: 08:35 (Motoren gehen im Video bei 00:15 an und um 08:15 aus)

Ich lasse das Video laufen und drücke bei 00:15 "SyncStart"
dann schiebe ich den Regler unter dem Video etwas vor 08:15, lasse weiter laufen und wenn die Motoren bei 08:15 ausgehen drücke ich "SyncEnd"

Dann drück ich auf SyncStart und schaue das Video und vergleiche was vom OSD angezeigt wird, dabei hilft z.B. wenn man sich am Anfang vom Flug eine Stelle sucht wo der Kopter beim einschalten von einem Modus Piept, man hört den Ton vom Video und im OSD sieht man wie der Modus angezeigt wird. Oder wenn man an einer Stelle im Video hat wo man auf einmal viel Gier gibt kann man diese auch gut zum abgleichen hernehmen.

Man ändert nun im SyncDetail Fenster den SyncStart-Wert dahingehend bis dieser Punkt in etwa übereinstimmt. (Der SyncEnd-Wert stimmt bei mir immer sehr gut mit dem Abstellen der Motoren überein und braucht kaum angepasst zu werden)

In meinem Beispiel Video habe ich die StartSync im SyncDetail-Fenster bei Sek 34.496... und die EndSync bei Sek 494.824... die Sync differenz beträgt 460.3279323

Wenn man nun das Video z.B. von Anfang an abspielt, wird ab Video-Sek 34.4 der Log bei Eintrag Nr. 1 angefangen Nachzuführen. Bei Video-Sek 494.8 ist der Log dann beim letzten Eintrag und die Nachführung geht nicht mehr weiter.
Man kann jederzeit an eine beliebige Stelle im Video springen und der Log springt Automatisch an die richtigen Stelle und wird weiter nachgeführt.

Auto-Verschieben der Logs von der SD Karte:

Ist im Menü Settings "Auto move new logs" akiviert wird vom Programm automatisch erkannt wann eine SD Karte mit MK Logs eingeschoben wird.
Es öffnet sich ein Fenster in dem angezeigt wird wieviele neue Logs und Verzeichnisse gefunden wurden.

Auf Wunsch werden diese in das aktuelle Log-Verzeichniss verschoben.

Wenn ein gleiches Datums-Verzeichniss exisitert, d.H. wurde am gleichen Tag geflogen, die SD geleert und dann wieder geflogen, werden die darin vorhandenen .GPX und .KML-Dateien automatisch umbenennt (eins erhöht).
Zum Beispiel:
Aus "GPS00000.GPX" wird "GPS00001.GPX"
Aus "GPS00000.KML" wird "GPS00001.KML" etc.

(Allfällige sonstige Dateien werden ebenfalls umbenannt falls diese schon exisiteren im Ziel-Ordner.)


Allgemein:

Es können 5 Konfigurationen angelegt werden, alle mit eigenem Log-Pfad, Fensterpositionen/Grössen, Ausgewählten Werte etc.

Wird eine neue Konfiguration ausgewählt die noch nicht exisitert, wird automatisch die erste Kopiert, beim Wechsel einer Konfiguration zur anderen wird die vorherige automatisch gespeichert.

Um eine bestehende Konfiguration von einer anderen zu Kopieren kann man im "Settings" Menü mit "Import config" eine beliebige Konfiguration über die aktuell Gewählte darüberkopieren.

Beim Speichern der Sync-Daten im VirtualOSD ("Save sync") wird ein neues File angelegt das den Filenamen und Pfad der Videodatei verwendet, aber mit der Endung ".sync". (Möchte man die Sync-Daten speichern sollte das Video also von einem Ort geladen werden auf den gespeichert werden kann).

Beim beenden vom Programm wird im Arbeitsverzeichnis die Datei "MK_GPXTool.ini" bzw. "MK_GPXTool_2-5.ini" mit allen Einstellungen angelegt.

Der Rest der Software sollte selbsterklärend sein... (Tooltips lesen!)

Bitte Fehler in diesem Forum-Thread melden und möglichst eine reproduzierbare Anleitung geben wie man zu dem Fehler kommt. Evtl. mit Screenshots wo nötig.

Getestet habe ich bisher auf Windows XP Pro SP3 mit Windows Media Player 11 und Windows 7, Vista sollte auch gehen.
Mindestens .net Framework 2.0 ist Voraussetzung, sollte aber mittlerweile so ziemlich auf allen Rechnern ab XP vorhanden sein.

Herzlichen Dank allen die Mithelfen und viel Spass beim Testen!

Franco
https://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=111575