Beiträge von morgen1

Garmin fenix 7X und epix Gen 2 im Test

Der Schwerpunkt dieses Tests und Vergleichs der Garmin Fenix 7X Solar und Garmin Epix Gen 2 liegt auf den Sensoren wie Höhenmesser, Positionsbestimmung und Herzfrequenz. Was unterscheidet die beiden GPS-Outdoor-Smartwatches? Und wie gut ist die Taschenlampe der Fenix 7X für den Outdoorbereich? Hier geht es zum Test der Outdoor-Smartwatches ...

    Hallo @ all,
    ab sofort steht die neue Version IMG2MS 2-32-64 zum Download unter http://rapidshare.com/files/30…MG2MSDemoV2-32-64-deu.exe bereit.
    Änderungen :
    1.es werden 64 Bit Betriebssysteme unterstützt. img2ms prüft beim Erststart, ob Mapsource als 32 Bit Anwendung auf einer 64 Bit Machine läuft und schreibt dann die Registry dementsprechend richtig.
    2. Die Option 'tdb +preview schon vorhanden' wurde erweitert. Mit dieser Option können jetzt alle üblicherweise verwendeten Indexfiles zusätzlich zu den schon bisher registrierbaren Typfiles registriert werden. Das ist speziell für OSM-Karten, die solche Indexe mitbringen gemacht.


    das Update für Vollversionsbesitzer steht unter :http://rapidshare.com/files/30…oll2-32-64-Update-deu.exe ebenfalls zum Download.
    morgen1

    @arisobg
    Deine Vermutung ist richtig. Es liegt an den Einstellungen der Level. Du hast ja für das gleiche Gebiet 2 Kacheln: 1. die openmtb und 2. Deine eigene. Da richtet sich MS und auch das GPS-Device nach den Levelwerten und der jeweiligen ZOOMSTUFE. Eine logisch richtige Lösung wäre : Du öffnest die openmtb-Kacheln, welche Koordinaten mäßig Deine Tracks enthalten mit Mapedit oder GlobalMapper, fügst Deine Tracks hinzu und erzeugst eine neue Kachel, die dann sowohl den openmtb-Datensatz als auch Deine Daten enthält. Anders ist das Umschalten zwischen Kacheln, die das gleiche Gebiet abdecken nicht zu vermeiden.
    morgen1

    Welches Betriebssystem ?, Welche Rechte hast Du am Computer? Sieht eher nach fehlenden Rechten aus. Oder die Mapsource.exe oder das BS ist beschädigt (Stromausfall für 1/100 sekunde reicht schon?). Dann mußt Du Dir aus dem Internet von Perry ein neues Exemplar besorgen. Schau mal im Taskmanager nach, ob ein Prozeß (nicht Anwendung !!) 'Mapsource.exe ' geöffnet ist. Eventuell läuft die 'hiden'
    morgen1

    Hmm, und was passiert wenn Mapsource erst gar nicht installiert ist? (es gibt viele Leute die erst nach der Installation meiner Karten draufkommen, dass sie die Karten erst mit Mapsource oder anderen Progs benutzen koennen).


    nichts passiert. eventuell vorhanden Registryschlüssel ,sowohl \Software als auch \Software\Wow6432Node sind nur Leichen in der Registry ohne Schadenspotential.




    stimme ich voll zu. Mit IMG2MS Version 32/64 ist es sehr einfach, Deine Karten zu installieren. Ich brauche Deine mitgelieferten batfiles dazu nicht. Nur die Benutzung des falschen batfiles kann zu den falschen Registryeinträgen führen.

    Die leichtere Installierbarkeit koennte auch bei .img von Mapsource identisch gehandhabt werden (es muesste einfach beim ersten Start einer Karte gescannt werden - welches .img die basemap ist)...


    Gute Idee. Der Name der preview steht ja in der TDB. das werde ich mal aufgreifen und in img2ms automatisch als Voreinstellung einbauen. Momentan geht die Preview namensmäßig in der Menge der Kacheln unter und es gehört eine Portion Spürsinn dazu, die herauszufischen. Okay ich weiß, der Name ist meist identisch mit dem TDB-File. Aber es gibt unter den OSM-Konvertierern auch andere Namesvarianten.
    Für mich ist das Problem mit img2ms Version2- 32/64 sauber gelöst.
    morgen1


    edit: den Dateinamen der preview kann man nicht aus der TDB auslesen. Es steht nur der Mapnamen drin. Da irrte ich.

    Das Problem 32 oder 64 Bit zu erkennen, hat Microsoft nicht einfach gemacht. Falls du die 'Windows'-Taste + 'Pause' drückst, bekommst Du viele Informationen zu der OS Version, nur keine Angabe zu 32 /64 Bit. Ich habe z.B. auf meinem PC einen 64 Bit AthlonProzessor , aber 32 Bit XP laufen. der Athlon kann das von Natur aus. Bei Intel Titanum bin ich mir nicht sicher. Ich habe noch keinen anderen sicheren Weg gefunden an Hand der Versionsangabe (W 7 ist Version 6.1, genauso wie Server 2008R2) auf die Bit zu schließen. Wenn es einfacher geht, so sagt es mir bitte. Im MSDN-Developer network steht in den Dokumentationen zu den einzelnen Funktionen der DLL's z.B natives betriebssytem lakonisch dahinter sinngemäß "...dies ist keine sichere Methode die bit zu bestimmen. " Aber nirgend unter www.msdn.com habe ich die Beschreibung einer konkreten Methode gefunden. Mein Code geht in weiten Teilen auf einen gewissen Dörfler zurück. Die Methode ist eineindeutig.
    morgen1

    Ich mache das so: ich starte Mapsource und hole mir ein Handle auf die taskId. Im kernel32.dll ist dann eine Function eingebaut , die True zurückgibt, wenn es ein 32er anwendung auf 64er Machine ist. Andernfalls gibt die Function false zurück. das werte ich aus. Das wird nur einmal beim 1.Start gemacht und dann in der Registry gemerkt.Im code steht schon der Text für die Endversion, wo Mapsource irgendwo gespeichert sein kann.

    Dein Verfahren ist logisch nicht sauber, weil: Den Schlüssel Wow6432Node gibt es nur für 32 Bit Programme die in einer 64er Machine laufen. Sollte es aber ein natives 64 er Programm auf einer 64 er Machine sein, so heißt der Schlüssel wieder HKLM_LOCAL_MACHINE\Software\Garmin\Mapsource.. also ohne den \Wow6432Node\-Knoten. Sauber ist nur, wenn man prüft, ob das Zielprogramm (in unserem Fall MapSource) als 32bit unter 64 Bit Machine läuft. Das Vorhandensein der %windir%/sysWow64/cmd.exe ist lediglich ein starkes Indiz, aber keine Gewissheit. Sprichwort: "Dummheit kennt keine Grenzen". Damit meine ich nicht etwa Dich, sondern gewisse User. Es ist unglaublich, was ich schon für verbogene Computer zu sehen bekam.Da fragte ich mich oftmals ,wie kann man so was nur machen und bekann die naivsten Antworten.


    Zum testen der Vorabversion img2msDemo2-32-64 habe ich Deine mtb-Sachsen verwendet. Funktionierte wunderbar. Ich habe bei den Auswahldialogen Voreinstellungen benutzt, die nach der Wahl des TDB-files schon die anderen Files anzeigen. Auch die sonst meist hinter Nummern vesrsteckte Preview. Damit sollte es leicht zu bedienen sein.
    morgen1

    Nachdem ich die Zeile nach der Anweisung von openmetbmap für x64 Systeme (if not errorlevel 1 goto key_ok set KEY=HKLM\SOFTWARE\Garmin\Mapsource) mit dem Editor entfernt hatte, funktionierte die Installation der openmtbmap und ich konnte in der MS 6.13.6 (Parallelinstallation) die Karten öffnen, jedoch in der MS 6.15.7 bekam ich einen Runtime Error. Ich sehe derzeit meinen Fehler nicht. Könnte mir da bitte wer weiterhelfen?


    Gruß Oeschi


    Es ist leider so, daß die bat-files von extremecarver nicht wirklich das Betriebssystem analysieren, sondern einfach in der Registry nach dem Wow6432Node schauen. Falls vorhanden, dann sollte es ein 64 bit OS sein. Was aber nicht stimmen muß. Um endlich das Gefummel mit batfiles zu beenden, habe ich img2ms weiterentwickelt, so daß die aktuelle IMG2MS2-32/64 Version automatisch analysiert, ob Mapsource als 32 Bit auf einer 64 er Machine läuft. Sollte es zukünftig mal native 64 Bit-Mapsource geben, so wir das damit auch richtig funktionieren. Und dann die Registry entsprechend schreibt. Weiterhin können eventuell vorhandene idx und _mdr.img Files registriert werden. Typfiles waren ja schon lange zu registrieren möglich. Speziell die openmtb-Map bringt ja solche idx und _mdr.img -Files mit.
    Mit dieser img2ms2-32/64 Version können also die openmtb Maps, wie alle anderen osm -Maps unabhängig von Betriebssystemversion und bat-Files in Mapsource eingebunden werden. Eine Vorabversion ist unter http://www.img2ms.de/IMG2MSDemo2-32-64.zip downloadbar. Es ist nur das exe-File und keine komplette Installation; die kommt später. Zur Verwendung sollte man das IMG2MSDemo2-32-64.zip File in den Ordner einer vorhandenen IMG2MS-Installation entpacken. Die enthaltene Laufzeit_verlängern.exe ausführen und dann IMG2MSDemo2-32-64.exe verwenden. Es können mit der eingebauten Funktion 'Mapsource6.14.1-compatibility# auch Registryfehler in 64 Bit OS bereinigt werden.
    Zur Einbindung der openmtb-Maps dann oben links die Variante 'tdb+preview schon vorhanden' auswählen.
    Rückmeldungen, Bugs usw.sind sehr erwünscht.
    Dies Vorabversio0n setzt noch voraus, daß Mapsource unter C:\Garmin\ installiert ist. In der Endversion kann Mapsource beliebig gespeichert sein.
    morgen1

    ... dann gab es einen Runtime Error in MS 6.15.7
    Mit MapsourceFix konnte ich dieses Problem nicht lösen.


    Jetzt habe ich im win64 eine VMWare laufen mit einem XP und da stellte ich fest, dass die Installationen kein Problem waren. So wie das für mich aussieht sind die ganzen Openmtbmaps auf WinXP optimiert.


    Mit Deiner Feststellung zu den 64 Bit OS hast Du die meisten Programmierer, auch mich, auf dem falschen Fuß erwischt. Weil wir meistens nicht an die 64 Bit OS denken. Deshalb kann weder Mapsourcefix noch img2ms mit 64 Bit systemen umgehen, sprich die Registry richtigerweise unter dem andern Knoten(Wow6432Nodes) schreiben.


    Ich werde mich demnächst mal um die Implementierung der 64 Bit OS in img2ms kümmern.


    morgen1

    64 Bit Windowsbetriebssyteme lassen die 32-Bit- Programme in einen 'windows on windows' laufen. Man könnte sich das etwa wie eine virtuelle 32 Bit Machine innnerhalb des 64 Bit Operatingsystems vorstellen. Der normale Registrypfad ist für die nativen 64 Bit Programme reserviert. Die 32 Bit Programme auf der 64 Bit machine werden in der Registry unter Einfügung des folgenden Unterschlüssels \Wow6432Node\ nach \Software\ registriert. Da Mapsource ein 32 er Programm ist, wird also der Pfad zwischengefügt. Das ist alles. Funktioniert auch bei anderen Programmen genauso.
    morgen1

    ..
    Auf jeden Fall habe ich mir aus einem selbst aufgenommenen Track eine Karte erstellt, die ich auch separat in Mapsource sehen kann.

    ..
    Warum willst Du unbedingt aus dem Track, der in Mapsource mit jeder Karte zu sehen ist, eine eigene Karte machen, die dann aus prinzipiellen Gründen nicht gemeinsam zu sehen ist ?. Dann laß es doch bei dem Track.


    Der Sinn des ganzen ist, daß ich alle MTB-Strecken in einem bestimmten Gebiet gerne auf der Karte hätte,


    Vielen Dank, arisobg


    Aus allen Tracks eine Karte zu erzeugen ist mit Gpsmapedit ein Kinderspiel. Wenn Du Transparenz und Drawpriorität entsprechend einstellt, kannst Du diese eigene Karte auf dem Gerät zum Beispiel mit der Topo oder sonstwas gemeinsam sehen, in Mapsource aber nicht. Da must Du es bei den ursprünglichen Tracks belassen.


    morgen1

    Nichts ist leichter als das. GPX mit Gpsmapedit öffen, dann unter File-->MapProperties die Eintragungen für den Header machen, speichern als mp und exportieren nach Garmin-img. Fertig. Es gibt auch noch weitere Möglichkeiten. Übertragung zum Gerät entweder mittels sendmap direkt oder die erzeugte Karte mit img2ms in Mapsource einbinden. Übertragung dann wie gewohnt mittels Mapsource.
    morgen1

    Zitat

    Putz alles runter ..

    ist die Kettensägenvariante. Es geht auch mit weniger Arbeit mit der "Feinsäge". Lade Dir img2ms von www.img2ms.de als Demo herunter und starte die Funktion 'Karten aus MS anzeigen + entfernen". Im sich öffnenden linken Fenster werden alle Registryschlüssel diesbezüglich gelistet. Wenn Fehler drin sind, steht dort statt des Kartennamens ein Hinweis. z.B. "!!TDB-fehlt!!". Dann click auf den Hinweis und der verursachende Registryschlüssel wird gelöscht. MS sollte dann wieder laufen. Außerdem vergiß ezMS, sondern nimm img2ms zum Einbinden. Es kann auch nicht schaden , falls Du die Funktion 'MS6.14.4 combatibility" mal startest. Da werden bestimmte Typen von Registryschlüsseln korrigiert, die ebenfalls den Runtimerror verursachen können.
    morgen1

    Hallo extremcarver,
    ich muß bekennen, daß ich aus deinem Beitrag nicht rauslesen kann, was Du programmtechnisch eigentlich machen willst. Das VBS script läßt sich leicht mit einer grafischen Benutzeroberfläche versehen und wäre dann ein ordentliches Programm, wo man die derzeit hardgecodeten Pfade als Variablen auswählen könnte. Und die FID aus der Registry zu lesen ist ja wohl kein Problem, wenn die denn dort steht. Oftmals steht die nur in der TDB. Die sonst noch in Deinem Sinne erforderlichen Aktionen müßten mal klar definiert werden. Dann konnte man das in ein Programm packen.
    Was hat das aber mit dem wandeln nach mp zu tun ?.
    morgen1

    Hallo,
    die in IMG2MS vergebene #ID# ist die FID. Die FID gibt es nur unter Families (="Family"-ID). Unter Products sagt man dazu nur ID. FID oder ID haben die selbe Funktion innerhalb der Registrierung bzw. im TDB-File. Schon am Namen kann man erkennen, ob das Kartenset unter Products oder Families registriert ist. Die PID hingegen (Productnummer) ist eine Unterkategorie der FID: Es könnten nämlich in jeder Family mehrere Producte enthalten sein. Das ist z.B. beim Bluechart Atlantic der Fall. Da gibt es 2 PID's. Ansonsten sollte die immer 1 sein; es sei denn, Du kennst die Auswirkungen und die damit notwendigen weiteren Änderungen. Ein Typfile wirkt immer für alle Producte einer Familiy. Es ist gar nicht möglich, innerhalb einer Family 2 Typfile zu registrieren. Wahrscheinlich könnte man die komplett weglassen. Falls du Dein selbst erstelltes Typfile für andere Karten nutzen willst, so füge es einfach mit img2ms der anderen Karte hinzu. Es vorher im Onlineeditor zu ändern ist unnötig, weil das img2ms lokal auf der Festplatte macht. Dabei werden sowohl Typfile als ggf. die Registry berichtigt bzw. geändert.


    mfg morgen1

    Das macht er von selbst. Je nach Empfänger ist am Empfänger lediglich das Übertragungsprotokoll einzustellen. Zur Auswahl stehen das Garminprotokoll über USB und serielle Schnittstelle. Ich benutze das Garminprotokoll per USB. Das über USB übertragene Signal wird dann PC-intern mit dem frei erhältlichen Tool #Spanner# (von Garmin) an den Com1 port weitergeleitet, weil ich ein Programm benutze, welches noch in VB 6 geschrieben ist und nur den com-port abhören kann. Da Du in C++ programmieren willst, sollte das für Dich ja keine Rolle spielen. Alternativ könnte man auch ein serielles Kabel benutzen. Ich kenne mich nur mit Garmin aus. Wie das bei anderen Herstellern funktioniert , kann ich nichts sagen.
    morgen1