Unterschiede zwischen den Revisionen 17 und 91 (über 74 Versionen hinweg)
Revision 17 vom 02.07.2012 03:42
Größe: 9577
Autor: DRAGNET
Kommentar:
Revision 91 vom 17.10.2018 11:03
Größe: 13276
Autor: LotharF
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
== TRANSLATION IN PROGRESS!! == #acl AdminGroup: read,write,revert EditorsGroup:read,write,revert All:read DRAGNET: read,write,revert


{{{{#!wiki important
'''Important'''<<BR>>
MK GPXTool is a private project and was not developed by Mikrokopter.de

If you have any questions about the Program, please contact the Author directly. The email address is in the Menu "?" -> "About MK GPXTool"
}}}}
Zeile 7: Zeile 16:
'''Program for visualization and analysis of MK .gpx log-files'''<<BR>> <<BR>> [[http://gallery.mikrokopter.de/main.php/v/uploads/MKGPXToolScreenshot.png.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=114890|http://gallery.mikrokopter.de/main.php/v/uploads/MKGPXToolScreenshot.png.html}}]]<<BR>> [[http://gallery.mikrokopter.de/main.php/v/uploads/ScreenShotMap.png.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=115481|http://gallery.mikrokopter.de/main.php/v/uploads/ScreenShotMap.png.html}}]]<<BR>> [[http://gallery.mikrokopter.de/main.php/v/uploads/ScreenShotFlags.png.html|{{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=115484|http://gallery.mikrokopter.de/main.php/v/uploads/ScreenShotFlags.png.html}}]]<<BR>> (A video of this flight is [[http://youtu.be/vrE-sVVsv1g|here]]) <<BR>> '''Program for visualization and analysis of MK .gpx log-files'''<<BR>> <<BR>>
[[ http://gallery3.mikrokopter.de/var/albums/uploads/MK_GPXTool-Screenshots/MK_GPXTool_1.png?m=1415805000 | {{ http://gallery3.mikrokopter.de/var/resizes/uploads/MK_GPXTool-Screenshots/MK_GPXTool_1.png?m=1415805001 }} ]]<<BR>>
[[ http://gallery3.mikrokopter.de/var/albums/uploads/MK_GPXTool-Screenshots/MK_GPXTool_2-01.png?m=1415805757 | {{ http://gallery3.mikrokopter.de/var/resizes/uploads/MK_GPXTool-Screenshots/MK_GPXTool_2-01.png?m=1415805757 }} ]]<<BR>>
(Video of this flight is [[http://youtu.be/vrE-sVVsv1g|here]])
<<BR>>
Zeile 9: Zeile 22:
=== Download the latest version here: ===
[[http://www.mikrokopter.de/ucwiki/MKGPXTool?action=AttachFile&do=view&target=MK_GPXTool_0.2.6.0b2.zip|Download]] ''' ([[http://www.mikrokopter.de/ucwiki/MKGPXToolChangeLog|Changelog]])'''<<BR>> <<BR>>'''Please read the instructions [[http://www.mikrokopter.de/ucwiki/en/MKGPXTool#Help.2BAC8-Initial_Start|"Help/Initial Start"]] carefully!''' <<BR>> <<BR>>
=== Download the latest version with new map here (Oct 2018 v1.6.7): ===
''' [[http://www.voicemacro.net/GPXTool/MK_GPXTool_1.6.7.zip|MK_GPXTOOL_1.6.7.zip]] ''' ''' ([[http://www.mikrokopter.de/ucwiki/MKGPXToolChangeLog|Changelog]])'''<<BR>> <<BR>> (In the menu '?' -> 'About MK GPXTool...' you can find the 'DONATE'-Button, many thanks!)<<BR>> <<BR>> '''Please read the instructions [[http://www.mikrokopter.de/ucwiki/en/MKGPXTool#Help.2BAC8-Initial_Start|"Help/Initial Start"]] carefully!''' <<BR>> <<BR>>
Zeile 13: Zeile 26:
- 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)<<BR>> - Virtual OSD synchronization settings can be saved in the video file folder for later replay<<BR>> - Artificial Horizon / Compass is continously updated 10x per second with the logs entries (second to second) (interpolation)<<BR>> - GridView table with all values, additionally the values ErrorCode and NC/FC-Flags etc. can be displayed as Text, errors are highlighted in Red<<BR>> - Map Window with the flightpath is superimposed on Google Map, Waypoints, several customizations of the display<<BR>> - Player Window, lets you play back the Track Points (without Video), variable playback speed<<BR>> - Displayed range is selectable<<BR>> - Display of the 'Log' folder in tabular form sorted by Year/Month, Display of the number of Logs/Folders<<BR>> - Display of the 'Date'- Folders (number of Logs contained, Size, Start Time per Log, converted from UTC to Local Time)<<BR>> - Up to 10 independant fully animated GraphViews (Value Axis Zoom, Time Axis Zoom, xy can be shifted)<<BR>> - Snapshot View of all important values, incl. Min/Average/Max Values, Error Messages, Flight Duration etc.<<BR>> - Additional calculated Values (Watt, ....)<<BR>> - Display of all possible Error Messages in the Snapshot View (Low Batt, Failsafe, Emergency Landing... etc.)<<BR>> - All window positions/sizes and selected values will be saved!<<BR>> - Values can be toggled between "RAW/METRIC/INCH"<<BR>> - Automatic detection and reading of defect/interrupted .GPX-Files<<BR>> - Opening of .gpx-files in the MK GPXTool by double-click, or via Command Line-Parameter, or singularly<<BR>>- Comprehensive graphic display of all Flags<<BR>>- Export to .csv - all or selected entries, with currently selected values and selected unit (RAW/METRIC/INCH)<<BR>>- Automatic detection of the SD Card when inserted and transfer of the Logs<<BR>> <<BR>> - 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)<<BR>> - Virtual OSD synchronization settings can be saved in the video file folder for later replay<<BR>> - Artificial Horizon / Compass is continously updated 10x per second with the logs entries (second to second) (interpolation)<<BR>> - GridView table with all values, additionally the values ErrorCode and NC/FC-Flags etc. can be displayed as Text, errors are highlighted in Red<<BR>> - Map Window with the flightpath is superimposed on Google Map, Waypoints, several customizations of the display<<BR>> - Supports .mkz and .jpg Maps (with GEO-Information in EXIF comment)<<BR>> - Player Window, lets you play back the Track Points (without Video), variable playback speed<<BR>> - Sticks/Potis Window with Graphical und nummerical view of Stick/GPSStick positions<<BR>> - Displayed range is selectable<<BR>> - Display of the 'Log' folder in tabular form sorted by Year/Month, Display of the number of Logs/Folders<<BR>> - Display of the 'Date'- Folders (number of Logs contained, Size, Start Time per Log, converted from UTC to Local Time)<<BR>> - Up to 10 independant fully animated GraphViews (Value Axis Zoom, Time Axis Zoom, xy can be shifted)<<BR>> - Snapshot View of all important values, incl. Min/Average/Max Values, Error Messages, Flight Duration etc.<<BR>> - Additional calculated Values (Watts, "Ground distance", "LOS", ....)<<BR>> - Display of all possible Error Messages in the Snapshot View (Low Batt, Failsafe, Emergency Landing... etc.)<<BR>> - All window positions/sizes and selected values will be saved!<<BR>> - Values can be toggled between "RAW/METRIC/INCH"<<BR>> - Automatic detection and reading of defect/interrupted .GPX-Files<<BR>> - Opening of .gpx-files in the MK GPXTool by double-click, or via Command Line-Parameter, or singularly<<BR>> - Comprehensive graphic display of all Flags<<BR>> - Export to .csv - all or selected entries, with currently selected values and selected unit (RAW/METRIC/IMPERIAL)<<BR>> - Automatic detection of the SD Card when inserted and transfer of the Logs<<BR>> - 5 Different configurations possible<<BR>> - Comments can be added to date-folders (yyyymmdd_xyz)<<BR>> - Load logs partially with Options<<BR>>- Generate summary from multiple logs<<BR>>- Combine multiple logs into one and display<<BR>> <<BR>>
Zeile 16: Zeile 29:
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) <<BR>> Hat man seine Logs z.B. unter c:\log\20120518\GPX\*.gpx gibt man nur das Hauptverzeichnis "'''c:\log'''" an. <<BR>> 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). <<BR>> If your logs are at c:\log\20120518\GPX\*.gpx, for example, you only have to select the root folder "'''c:\log'''" . <<BR>>
Zeile 18: Zeile 31:
Danach kann man schon einzelne Logs anklicken und die div. Fenster öffnen.<<BR>> 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)<<BR>> 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.<<BR>> 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.<<BR>> <<BR>>
Zeile 20: Zeile 33:
==== 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. <<BR>><<BR>>
==== 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.<<BR>> <<BR>> How to do this is [[http://pcsupport.about.com/od/fixtheproblem/f/chdefprogram.htm|explained here.]]<<BR>> <<BR>>
Zeile 23: Zeile 36:
==== 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. <<BR>> Es kann es sein dass man etwas später nach dem Motorstart im Video "SyncStart" drücken muss. <<BR>><<BR>> '''Hinweis:''' Erst wenn man "SyncStart" und "SyncEnd" gewählt hat werden die Trackpoints mit dem Video Synchronisiert abgespielt. <<BR>> 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. <<BR>><<BR>> '''Tip:''' Läuft die Anzeige dem Video voraus, StartSync +100ms, hinkt die Anzeige dem Video hinterher -100ms<<BR>>
==== 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. <<BR>> <<BR>>
Zeile 26: Zeile 39:
{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.<<BR>> <<BR>> Also da muss man halt ggf. ein wenig rumspielen mit SyncStart und SyncEnd bis man die richtige Posi gefunden hat.<<BR>> <<BR>> ==== 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". <<BR>> Possibly you may have to click "SyncStart" with some delay after motor start (a bit of trial and error here). <<BR>><<BR>> '''Important:''' Only after you have slected BOTH "SyncStart" and "SyncEnd" the trackpoints will be played in sync with the Video. <<BR>> 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. <<BR>><<BR>> '''Hint:''' the display is ahead of the Video >> StartSync +100ms, the display is behind of the Video >> -100ms<<BR>> <<BR>> '''Synchronize Log with Video''' (Log is longer than Video, i.e. Video was started during the flight):<<BR>> To reverse the synchronization process, select "Sync" in the menu and click"Sync from Log".<<BR>> The video will not start with this.<<BR>> Now you select the postion in the log where the Vidoe was started and click "SyncStart".<<BR>> Then go to the end of the log and click "SyncEnd".<<BR>> Finetuning can again be achieved by clicking on the video time to open the "SyncDetail" window.<<BR>> <<BR>> {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.<<BR>> <<BR>> As already said, a bit of trial and error is involved with SyncStart and SyncEnd to find the right position.<<BR>> <<BR>>
Zeile 28: Zeile 42:
||<#f4f4e0>'''Ein aktuelles Beispiel aus der Praxis mit einem Video das ich Synchronisiert habe:''' <<BR>><<BR>>Videolänge: 08:35 (Motoren gehen im Video bei 00:15 an und um 08:15 aus)<<BR>> <<BR>> Ich lasse das Video laufen und drücke bei 00:15 "SyncStart"<<BR>> 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"<<BR>> <<BR>> 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.<<BR>> <<BR>> 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)<<BR>> <<BR>> 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<<BR>> <<BR>> 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.<<BR>> Man kann jederzeit an eine beliebige Stelle im Video springen und der Log springt Automatisch an die richtigen Stelle und wird weiter nachgeführt. || ||<#f4f4e0>'''A practical example of a video I synchronized:''' <<BR>><<BR>>Video duration: 08:35 (Motors start at 00:15 in the Video and stop at 08:15)<<BR>> <<BR>> I play the Video and click at 00:15 "SyncStart"<<BR>> then I move the slider under the video a fraction before 08:15, play the video, and on motor stop at 08:15 click "SyncEnd"<<BR>> <<BR>> Now I click SyncStart, watch the video and compare it with the OSD. It helps to find a point in the video where the copter emits a beep (flight mode change). You hear the beep in the video and see thze mode change in the OSD. Alternatively you may find a position in the video where you apply a lot of yaw and the compass starts rotating.<<BR>> <<BR>> In the SyncDetail window the SyncStart-value can now be fine-tuned to a near-perfect match. (The SyncEnd-value is always pretty accurately in sync with the motor stop and hardly ever requires fine tuning)<<BR>> <<BR>> In my example video the StartSync in the SyncDetail-window is at sec 34.496... and EndSync at sec 494.824... the sync difference is 460.3279323<<BR>> <<BR>> Now, when you play the video from the start the log will start to follow with entry 1 from video-second 34.4. At video-sec 494.8 the log has reached the last entry and the synchronization stops.<<BR>> You can now jump to any position in the video with the log going to the matching entry and running in sync from there. ||
Zeile 31: Zeile 45:
==== 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.<<BR>> Es öffnet sich ein Fenster in dem angezeigt wird wieviele neue Logs und Verzeichnisse gefunden wurden.<<BR>> <<BR>> Auf Wunsch werden diese in das aktuelle Log-Verzeichniss '''verschoben'''.<<BR>> <<BR>> 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).<<BR>> '''Zum Beispiel:'''<<BR>> Aus "GPS00000.GPX" wird "GPS00001.GPX"<<BR>> Aus "GPS00000.KML" wird "GPS00001.KML" etc.<<BR>> <<BR>> (Allfällige sonstige Dateien werden ebenfalls umbenannt falls diese schon exisiteren im Ziel-Ordner.)<<BR>> <<BR>> <<BR>>
<<BR>> <<BR>>
Zeile 34: Zeile 47:
== Allgemein: ==
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).<<BR>> <<BR>> Beim beenden vom Programm wird im Arbeitsverzeichnis die Datei "MK_GPXTool.ini" mit allen Einstellungen etc. angelegt.<<BR>> <<BR>> Der Rest der Software sollte selbsterklärend sein... (Tooltips lesen!)<<BR>> <<BR>> Bitte Fehler in [[http://forum.mikrokopter.de/topic-34659.html|diesem Forum-Thread]] melden und möglichst eine reproduzierbare Anleitung geben wie man zu dem Fehler kommt. Evtl. mit Screenshots wo nötig.<<BR>> <<BR>> Getestet habe ich bisher auf Windows XP Pro SP3 mit Windows Media Player 11 und Windows 7, Vista sollte auch gehen. <<BR>> Mindestens .net Framework 2.0 ist Voraussetzung, sollte aber mittlerweile so ziemlich auf allen Rechnern ab XP vorhanden sein. <<BR>> <<BR>> Herzlichen Dank allen die Mithelfen und viel Spass beim Testen! <<BR>> <<BR>> Franco<<BR>> {{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=111575}}
==== 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.<<BR>> A window will open and display how many new logs and directories are found.<<BR>> <<BR>> You can choose if you want these to be '''moved''' into the current local log-directory.<<BR>> <<BR>> 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.<<BR>> '''For example:'''<<BR>>File "GPS00000.GPX" becomes "GPS00001.GPX"<<BR>>File "GPS00000.KML" becomes "GPS00001.KML" etc.<<BR>> <<BR>> (The applies also to any other files which already exist in the local directory.)<<BR>> <<BR>> <<BR>>

== General Information: ==
You can create and store up to 5 configurations, each with their own log-path, window positions / sizes, selected values etc.<<BR>> <<BR>> 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.<<BR>> <<BR>> To copy an existing configuration into another, choose "Import config" from the "Settings" menu. This will over-write the currently selected configuration.<<BR>> <<BR>> 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).<<BR>> <<BR>> 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.<<BR>> <<BR>> The rest of the program is pretty much self-explanatory... (Please notice the Tooltips!)<<BR>> <<BR>>
== GEO-Info Tool ==
With GEO-Info Tool you can identify GEO-Information for your own Maps with help of Google-Map easily.

Hint: Click Right Mousebutton to open context-Menu where you can open a little Help-Window showing you the "hidden" features and key's you can use.

'''Procedure'''

- In Google Map load the position where your Custom Map can fit in
<<BR>><<BR>>
- Open GEO-Info Tool and load the Picture of your Custom Map (right click... „Load Map“)<<BR>><<BR>>
- Now you can match your Custom Map with the Goolge Map (Change Picture Size and Transparency, use CTRL to switch on and off Transparency several times, and you can easily detect if there is a mismatch or not)<<BR>><<BR>>
- Press the Button with the arrow pointing top left, the Window is closing itself for a very short time to make a Mouse click on the Google Map where the first Pixel of your Custom image is, revealing the Coordinates which you can write down or copy
<<BR>><<BR>>
- Press the Button with the arrow pointing bottom right, the Window is closing itself for a very short time to make a Mouse click on the Google Map where the last Pixel of your Custom image is, revealing the Coordinates which you can write down or copy
<<BR>><<BR>>
- Use your Mikrokopter Tool to insert the coordinates in the Custom Map, Done!<<BR>><<BR>><<BR>>
== Report problems and bugs ==
If you find any errors please report them [[http://forum.mikrokopter.de/topic-34659.html|in this Forum-Thread]] and include detailed and reproducable instructions how you got there. Screenshots are also a great help.<<BR>> <<BR>> My testing platforms so far are Windows XP Pro SP3 with Windows Media Player 11 and Windows 7, Vista should also work. <<BR>> .net Framework 2.0 is a minimal requirement, and is most likely already installed on systems since XP. <<BR>> <<BR>> Many thanks to all who are contributing and have fun testing! <<BR>> <<BR>> Franco<<BR>> {{http://gallery.mikrokopter.de/main.php?g2_view=core.DownloadItem&g2_itemId=111575}}

Important
MK GPXTool is a private project and was not developed by Mikrokopter.de

If you have any questions about the Program, please contact the Author directly. The email address is in the Menu "?" -> "About MK GPXTool"

MKGPXTool

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

https://gallery3.mikrokopter.de/var/albums/uploads/MK_GPXTool-Screenshots/MK_GPXTool_1.png?m=1415805000
https://gallery3.mikrokopter.de/var/albums/uploads/MK_GPXTool-Screenshots/MK_GPXTool_2-01.png?m=1415805757
(Video of this flight is here)

Download the latest version with new map here (Oct 2018 v1.6.7):

MK_GPXTOOL_1.6.7.zip (Changelog)

(In the menu '?' -> 'About MK GPXTool...' 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
- Supports .mkz and .jpg Maps (with GEO-Information in EXIF comment)
- 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, "Ground distance", "LOS", ....)
- 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/IMPERIAL)
- 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)
- Load logs partially with Options
- Generate summary from multiple logs
- Combine multiple logs into one and display

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.

A practical example of a video I synchronized:

Video duration: 08:35 (Motors start at 00:15 in the Video and stop at 08:15)

I play the Video and click at 00:15 "SyncStart"
then I move the slider under the video a fraction before 08:15, play the video, and on motor stop at 08:15 click "SyncEnd"

Now I click SyncStart, watch the video and compare it with the OSD. It helps to find a point in the video where the copter emits a beep (flight mode change). You hear the beep in the video and see thze mode change in the OSD. Alternatively you may find a position in the video where you apply a lot of yaw and the compass starts rotating.

In the SyncDetail window the SyncStart-value can now be fine-tuned to a near-perfect match. (The SyncEnd-value is always pretty accurately in sync with the motor stop and hardly ever requires fine tuning)

In my example video the StartSync in the SyncDetail-window is at sec 34.496... and EndSync at sec 494.824... the sync difference is 460.3279323

Now, when you play the video from the start the log will start to follow with entry 1 from video-second 34.4. At video-sec 494.8 the log has reached the last entry and the synchronization stops.
You can now jump to any position in the video with the log going to the matching entry and running in sync from there.



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.
For example:
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.)


General Information:

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

GEO-Info Tool

With GEO-Info Tool you can identify GEO-Information for your own Maps with help of Google-Map easily.

Hint: Click Right Mousebutton to open context-Menu where you can open a little Help-Window showing you the "hidden" features and key's you can use.

Procedure

- In Google Map load the position where your Custom Map can fit in

- Open GEO-Info Tool and load the Picture of your Custom Map (right click... „Load Map“)

- Now you can match your Custom Map with the Goolge Map (Change Picture Size and Transparency, use CTRL to switch on and off Transparency several times, and you can easily detect if there is a mismatch or not)

- Press the Button with the arrow pointing top left, the Window is closing itself for a very short time to make a Mouse click on the Google Map where the first Pixel of your Custom image is, revealing the Coordinates which you can write down or copy

- Press the Button with the arrow pointing bottom right, the Window is closing itself for a very short time to make a Mouse click on the Google Map where the last Pixel of your Custom image is, revealing the Coordinates which you can write down or copy

- Use your Mikrokopter Tool to insert the coordinates in the Custom Map, Done!


Report problems and bugs

If you find any errors please report them in 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!

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