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)

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 (Watt, ....)
- 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

Nach dem Programmstart wird erstmal das Hauptverzeichnis "Log" ausgewählt wo Ihr idealerweise alle Logfiles von der SD kopiert habt. Dafür mit der Rechten Maustaste auf "Select log directory" klicken, mit der Linken Maustaste wird dann hier in Zukunft das Verzeichniss neu eingelesen (falls man neue Logs reinkopiert hat)
Hat man seine Logs z.B. unter c:\log\20120518\GPX\*.gpx gibt man nur das Hauptverzeichnis "c:\log" an.

Danach kann man schon einzelne Logs anklicken und die div. Fenster öffnen.
Um die angezeigten Werte zu ändern auf "..." klicken und die gewünschten Werte die angezeigt werden sollen auswählen und "->" drücken (SHIFT oder CTRL drücken um mehrere gleichzeitig zu markieren)

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.

Video einbinden im VirtualOSD:

Das VirtualOSD verwendet das Media Player addin. D.h. wenn das Video im Media Player läuft, läuft es auch im VirtualOSD. Also ggf. die entsprechenden Codecs installieren (Haali media splitter für GoPro .mp4-Dateien z.B.) und testen bis es im Windows Media player läuft.

Video Synchronisieren:

Nach dem starten der Motoren bzw. einige Sekunden danach wenn richtig Gas gegeben wird (und der Log angefangen hat) im Video "SyncStart" drücken, dann Video vorspulen bis zu der Stelle wo die Motoren abgestellt werden, dann "SyncEnd" drücken.
Es kann es sein dass man etwas später nach dem Motorstart im Video "SyncStart" drücken muss.

Hinweis: Erst wenn man "SyncStart" und "SyncEnd" gewählt hat werden die Trackpoints mit dem Video Synchronisiert abgespielt.
Hat man dies gemacht kann man durch klicken auf die Video-Zeit nochmal ein kleines Fenster öffnen bei dem man die StartSync und EndSync-Zeit noch um +- 100ms verstellen kann.

Tip: Läuft die Anzeige dem Video voraus, StartSync +100ms, hinkt die Anzeige dem Video hinterher -100ms

Log mit Video Synchronisieren (Log ist länger als Video, bzw. Video wurde im Flug gestartet):
Soll die Synchronisation umgekehrt laufen, wird im Menu "Sync" umgeschaltet auf "Sync from Log".
Das Video wird dabei nicht gestartet.
Nun wird die gewünschte Position im Log angewählt bei der das Video startet und dann "SyncStart" geklickt.
Danach zum Ende vom Log und "SyncEnd" klicken.
Das Finetuning kann nun auch über "SyncDetail" gemacht werden.

{i} Da nur alle Sek ein Wert vorhanden ist lässt sich das Video natürlich nur insgesamt synchronisieren, alles was innerhalb einer Video-Sekunde geschieht wird im OSD entweder passend, etwas zu früh oder zu spät oder auch gar nicht angezeigt. Da sind einfach gewisse Grenzen gesetzt.

Also da muss man halt ggf. ein wenig rumspielen mit SyncStart und SyncEnd bis man die richtige Posi gefunden hat.

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" mit allen Einstellungen etc. 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