• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Qlandkarte => Mapsource für Linux

GeoGroucho

Geocacher
kiozen schrieb:
GeoGroucho schrieb:
Ein paar Punkte von mir dazu:
Mir fehlt das Garmin GPSmap 60C, sollte eigentlich kein Problem sein, wenn 60CS und Konsorten unterstützt sind.

In der Regel ist das alles kein Problem. Es muss halt jemand machen. Da ich nur das GPSMap60SCx besitze, ist das quasi das Referenzgerät für mich. Alles ander muss aus der Community kommen. Auf der Homepage ist ein kleines Tutorial wie man anfängt. Bei Fragen zum Detail stehe ich Dir gerne zur Verfügung.

*Würg*
Etwas herumgespielt und siehe da- es reicht wohl nicht, einfach die IDs zu tauschen.
Er fällt im CUSB::syncup auf die Nase, da die response.id mal 504, beim nächsten Mal 6 und beim folgenden Versuch 104 enthält.
Was bedeutet: Die response-Struktur wird schon mal nicht korrekt eingefüllt und das bedeutet: Packet_t hat eine für das 60C ungeeignete Struktur oder der session_start String ist bereits für die Füchse.
Und da es nur eine Interface-Spec für die Garmins gibt (wundervolle Idee, dafür gibt es n Protokoll-Varianten) wird der Aufwand langsam richtig schön hoch. Ob ich hier weiter ziehe bei meinem beschränkten Zeitbudget- keine Ahnung.

Oliver
 

kiozen

Geomaster
fekon schrieb:
Die Basemap einfach in das Verzeichnis zu kopieren hat bei mir nicht geholfen. Auch nicht mit 0.5.1 aus dem svn. Schade.

~/.config/QLandkarte/QLandkarte.conf löschen. Wenn die Karre einmal im Dreck ist, hilft nichts anderes :)

Oliver

Und alle Dateien in einem Verzeichnis. Wenn ich Zeit finde werde ich's DAU verträglicher machen. ;)
 

kiozen

Geomaster
GeoGroucho schrieb:
*Würg*
Etwas herumgespielt und siehe da- es reicht wohl nicht, einfach die IDs zu tauschen.
Er fällt im CUSB::syncup auf die Nase, da die response.id mal 504, beim nächsten Mal 6 und beim folgenden Versuch 104 enthält.
Was bedeutet: Die response-Struktur wird schon mal nicht korrekt eingefüllt und das bedeutet: Packet_t hat eine für das 60C ungeeignete Struktur oder der session_start String ist bereits für die Füchse.
Und da es nur eine Interface-Spec für die Garmins gibt (wundervolle Idee, dafür gibt es n Protokoll-Varianten) wird der Aufwand langsam richtig schön hoch. Ob ich hier weiter ziehe bei meinem beschränkten Zeitbudget- keine Ahnung.

Oliver

Du musst mal die Protokolle vergleichen. Das ist die Liste mit AXXXX und DXXXX.. Unter doc/protocol/ findes Du ein paar andere. Wahrscheinlich mußt Du die eine oder ander Funktion erweitern.

Oliver
 

GeoAtti

Geomaster
Hiho,

LX-OM schrieb:
...cool das mit dem ebuild, das hat dann alles auch funktioniert? Ich meine genauso gut wie das make, make install manuell?

Das ist besser, weil in der "Packetdatenbank" (heisst gar nicht so und gibt es auch gar nicht unter Gentoo, aber was ähnliches) dann festgehalten wird, was, wann, wie installiert wird. Da klappt dann gleich auch ein sauberer Uninstall !

Welchen Vorteil habe ich, wenn ich es ebuilde (noch so'n scheniales Wort), anstelle von einer manuellen Installation, die ich ja auch locker löschen kann?

Der Vorteil ist, das du dir nicht merken musst was man wo löschen muss. Ein weitere Vorteil an den eBauilds ist, das es Quellbasierte Packetinstalltionen sind, d.h. du kannst an deinen CFLAGS rumfummeln (z.B. bei mir: -O2 -pipe -march=athlon64 -fomit-frame-pointer -msse3) und alles (naja, fast zumindest) wird mit dieses Flags kompiliert. Das eBuild funktioniert völlig Platform unabhängig. (Die CFLAGS setzt man in seinem "Profile"). Ein weitere Vorteil der eBuild sind die "USE-Flags", damit kann man die Installation steuern in der Form ob Packet X nun Packet Y benutzt oder nicht (wenn man so eine wahl hat).
z.B. bringen viele Programme ja eine GTK-Oberfläche mit - wenn man will. Hat man "gtk" in seinen "USE-Flags", dann werden Programme welche optional eine gtk-Oberfläche anbieten auch mit dieser Installiert. Hat man das Flag nicht, wird es nicht mit installiert. Es gibt haufenweise USE-Flags. Hat man z.B. kein CD-Brenner will man vieleicht den ganzen CD-Brenn-QUatsch den div. Programme mitbringen gar nicht haben. Das wäre dann "-cdr" als USE-Flag.
So kann man halt recht genau steuern wie das System installiert wird. Dinge die man nicht haben will, werden von vorne hinein weggelassen und nicht nach dem Motto "wird installieren alles, was der User nicht braucht, nutzt er halt nicht". So kann man sich als User (!) auf das nötigste beschränken.

Baue mir gerade wieder ein Gentoo auf meiner neuen Notebookfestplatte zusammen. Der Geburtstag (oder Gebuildstag) von qlandkarte auf meinem Notebook rückt also näher...

'ne Stage3 installation hat man mit der Quick-Install-Guid flux durch. X, KDE (incl Qt) und OpenOffice dauern zwar eine ganze weile - kann man aber auch als "Binary" installieren, wenn man will - aber wer installiert sich Gentoo um dann doch Binaries zu installieren? ;-)

Atti
 

GeoGroucho

Geocacher
kiozen schrieb:
Du musst mal die Protokolle vergleichen. Das ist die Liste mit AXXXX und DXXXX.. Unter doc/protocol/ findes Du ein paar andere. Wahrscheinlich mußt Du die eine oder ander Funktion erweitern.

Wie macht das denn Mapsource ? Vermutlich hat die Software alle Treiber fix einkodiert ... Typisch Garmin, jedes Gerät ein anderes Protokoll.

Man könnte jetzt natürlich hingehen, und mittels vmware Mapsource laufen lassen und dann über interceptty den Output loggen.
Das ist mir aber fast zu mühsam- noch ein Projekt, das ich mir an die Backe hänge *hmmpf*

Was genau ist denn unter doc/protocol zu finden ? Sind das die Dumps, die du gezogen hast ?

Und was macht der Check auf das GPSmap 60CSX in der generischen CUSB.cpp, wenn die Treiber als eigene Devices und Plugins vorliegen ?

Code:
if(dev->descriptor.idProduct == G60CSX_PID){

Oliver
 

kiozen

Geomaster
GeoGroucho schrieb:
Wie macht das denn Mapsource ? Vermutlich hat die Software alle Treiber fix einkodiert ... Typisch Garmin, jedes Gerät ein anderes Protokoll.

Die Idee ist die Protokollliste zu lesen und dann den jeweiligen Handler zu linken. So die Theorie. Wenn da nicht die vielen kleinen Spezialitäten der einzelnen Geräte wären. Deshalb die Entscheidung für viele kleine Module. So kann jeder ganz speziell für sein Gerät die Sache anpassen. Und ich muss nicht jedem hinterher rennen :)

GeoGroucho schrieb:
Man könnte jetzt natürlich hingehen, und mittels vmware Mapsource laufen lassen und dann über interceptty den Output loggen.
Das ist mir aber fast zu mühsam- noch ein Projekt, das ich mir an die Backe hänge *hmmpf*

Mach ich unter Windows mir dem HDD USB Sniffer.

GeoGroucho schrieb:
Was genau ist denn unter doc/protocol zu finden ? Sind das die Dumps, die du gezogen hast ?

Die Idee ist, das jeder Treiberentwickler dort einen Dump hinterlässt. Funktioniert nur nicht gut. Aber 60xxx ist vertreten.

GeoGroucho schrieb:
Und was macht der Check auf das GPSmap 60CSX in der generischen CUSB.cpp, wenn die Treiber als eigene Devices und Plugins vorliegen ?

Code:
if(dev->descriptor.idProduct == G60CSX_PID){

Oliver

Ach, am Anfang ging ich davon aus, dass jedes Gerät eine andere Product ID auf dem USB Bus hat. Sie haben alle die gleiche. :) Kannst es ja in GARMIN_PID umwandeln, wenn es Dich stört.

Oliver
 

GeoGroucho

Geocacher
kiozen schrieb:
Ach, am Anfang ging ich davon aus, dass jedes Gerät eine andere Product ID auf dem USB Bus hat. Sie haben alle die gleiche. :) Kannst es ja in GARMIN_PID umwandeln, wenn es Dich stört.

Stört mich nicht wirklich.

Ich bin sogar einen Schritt weiter, aber er befriedigt mich nicht.
Der Dump hier beunruhigt mich:

Code:
b <<
     00 00 00 00 05 00 00 00 00 00 00 00              ............
reading
i >>
     01 20 50 de 04 05 00 00 06 00 00 00 00 00 00 00  . P.............
     04 05                                            ..

Das sieht drastisch anders aus, als bei den Dumps des 60CSx und 60CX.
So drastisch, dass die generischen Methoden aus CUSB:read zum Füllen der Packet_t (und die Struktur selbst) nicht mehr reichen.

Update: Bei jedem Lesen/Programmstart kommt ein anderer Dump. Da spielt wohl ein Puffer Streiche...

Oliver
 

kiozen

Geomaster
GeoGroucho schrieb:
kiozen schrieb:
Ach, am Anfang ging ich davon aus, dass jedes Gerät eine andere Product ID auf dem USB Bus hat. Sie haben alle die gleiche. :) Kannst es ja in GARMIN_PID umwandeln, wenn es Dich stört.

Stört mich nicht wirklich.

Ich bin sogar einen Schritt weiter, aber er befriedigt mich nicht.
Der Dump hier beunruhigt mich:

Code:
b <<
     00 00 00 00 05 00 00 00 00 00 00 00              ............
reading
i >>
     01 20 50 de 04 05 00 00 06 00 00 00 00 00 00 00  . P.............
     04 05                                            ..

Das sieht drastisch anders aus, als bei den Dumps des 60CSx und 60CX.
So drastisch, dass die generischen Methoden aus CUSB:read zum Füllen der Packet_t (und die Struktur selbst) nicht mehr reichen.

Oliver

Ausschalten / Einschalten und überprüfen ob du Sync. Up Jamming brauchst. Das machst Du, wenn Du unten den If Zweig durchläufst. Also 3x GUSB_SESSION_START sendest. Das ist für das GPSMap60SCx tödlich (Absturz / kein Schaden) hilft aber bei vielen anderen Geräten. Hey. it's a Garmin!

Code:
void CDevice::_acquire()
{
    usb = new CUSB();
    usb->open();
    if(devid == 0x01a5){
        Packet_t command;
        command.type = GUSB_PROTOCOL_LAYER;
        command.id   = GUSB_SESSION_START;
        command.size = 0;
        *(uint16_t*)command.payload = 0x0000;
        usb->write(command);
        usb->write(command);
    }
    usb->syncup();

Ein USB Dump von Mapsource ist in der Regel auch ein Augenöffner.

Oliver
 

GeoGroucho

Geocacher
kiozen schrieb:
Ausschalten / Einschalten und überprüfen ob du Sync. Up Jamming brauchst. Das machst Du, wenn Du unten den If Zweig durchläufst. Also 3x GUSB_SESSION_START sendest. Das ist für das GPSMap60SCx tödlich (Absturz / kein Schaden) hilft aber bei vielen anderen Geräten. Hey. it's a Garmin!

Code:
void CDevice::_acquire()
{
    usb = new CUSB();
    usb->open();
    if(devid == 0x01a5){
        Packet_t command;
        command.type = GUSB_PROTOCOL_LAYER;
        command.id   = GUSB_SESSION_START;
        command.size = 0;
        *(uint16_t*)command.payload = 0x0000;
        usb->write(command);
        usb->write(command);
    }
    usb->syncup();

Ja, Danke, das wars. Mittlerweile kann ich Waypoints vom Garmin laden und Karten versucht er auch (aber da meckert er, weil er die Karte nicht findet, verständlich).

Nächster Schritt ist der Upload, dann ziehe ich die Sourcen sauber und mache einen Treiber draus.

Oliver
 

kiozen

Geomaster
GeoGroucho schrieb:
Ja, Danke, das wars. Mittlerweile kann ich Waypoints vom Garmin laden und Karten versucht er auch (aber da meckert er, weil er die Karte nicht findet, verständlich).

Nächster Schritt ist der Upload, dann ziehe ich die Sourcen sauber und mache einen Treiber draus.

Oliver

Wenn das Gerät vom Protokoll identisch mit einem Vorhandenen ist, kann man den Treiber klonen. Mit dem GPSMap60SCx wurde das schon öffter gemacht. Das reduziert die Code Basis ungemein :)

Oliver
 

GeoAtti

Geomaster
Hiho,

Wenn ich mein MAP60 hab, komme ich mal auf euch zurück, ok?
Ihr könnt mir dann mal eine blitz-Einführung im Treiberbau für QLandkarte geben! ;-)

Atti
 

GeoGroucho

Geocacher
kiozen schrieb:
Wenn das Gerät vom Protokoll identisch mit einem Vorhandenen ist, kann man den Treiber klonen. Mit dem GPSMap60SCx wurde das schon öffter gemacht. Das reduziert die Code Basis ungemein :)

Karten Upload wird gestartet, aber er bricht mit einem USB bulk write error ab.
Wegpunkte werden angeblich heruntergeladen, erscheinen aber nicht auf dem Gerät.
Ich werfe mal einen Blick drauf.

Oliver
 

GeoGroucho

Geocacher
GeoGroucho schrieb:
kiozen schrieb:
Wenn das Gerät vom Protokoll identisch mit einem Vorhandenen ist, kann man den Treiber klonen. Mit dem GPSMap60SCx wurde das schon öffter gemacht. Das reduziert die Code Basis ungemein :)

Karten Upload wird gestartet, aber er bricht mit einem USB bulk write error ab.
Wegpunkte werden angeblich heruntergeladen, erscheinen aber nicht auf dem Gerät.
Ich werfe mal einen Blick drauf.

Oliver

Und hier ist das Log von Mapsource. So ganz schlau werde ich nicht draus:

< 10 fe 00 02 10 03 |
> 10 06 02 fe 00 fa 10 03 10 ff |
> 7a 23 01 90 01 47 50 53 4d 61 | z# GPSMa
> 70 36 30 43 20 53 6f 66 74 77 | p60C Softw
> 61 72 65 20 56 65 72 73 69 6f | are Versio
> 6e 20 34 2e 30 30 00 56 45 52 | n 4.00 VER
> 42 4d 41 50 20 52 65 63 72 65 | BMAP Recre
> 61 74 69 6f 6e 61 6c 20 52 6f | ational Ro
> 75 74 61 62 6c 65 20 48 69 67 | utable Hig
> 68 77 61 79 20 42 61 73 65 6d | hway Basem
> 61 70 2c 20 41 74 6c 61 6e 74 | ap, Atlant
> 69 63 20 76 32 20 32 2e 30 30 | ic v2 2.00
> 00 56 45 52 53 4d 41 50 20 4b | VERSMAP K
> 6f 6e 73 74 61 6e 7a 20 30 2e | onstanz 0.
> 30 30 00 08 10 03 | 00
< 10 06 02 ff 00 f9 10 03 |
> 10 fd 69 50 00 00 4c 01 00 41 | iP L A
> 0a |
> 00 54 01 00 41 64 00 44 6d 00 | T Ad Dm
> 41 c9 00 44 ca 00 44 6d 00 44 | A D Dm D
> d2 00 41 2d 01 44 36 01 44 2d | A- D6 D-
> 01 41 90 01 44 6d 00 41 f4 01 | A Dm A
> 44 f5 01 41 58 02 44 58 02 41 | D AX DX A
> 59 02 44 59 02 41 bc 02 44 bc | Y DY A D
> 02 41 20 03 44 20 03 41 84 03 | A D A
> 41 86 03 41 87 03 41 88 03 41 | A A A A
> 8b 03 44 8b 03 44 8c 03 44 8d | D D D
> 03 44 8e 03 41 92 03 7d 10 03 | D A }
< 10 06 02 fd 00 fb 10 03 10 1c |
< 02 00 00 e2 10 03 |
> 10 06 02 1c 00 dc 10 03 |
< 10 7b 06 00 00 00 00 0e 02 6f | { o
< 10 03 |
> 10 06 02 7b 00 7d 10 03 | { }
< 10 fe 00 02 10 03 |
> 10 06 02 fe 00 fa 10 03 10 ff |
> 7a 23 01 90 01 47 50 53 4d 61 | z# GPSMa
> 70 36 30 43 20 53 6f 66 74 77 | p60C Softw
> 61 72 65 20 56 65 72 73 69 6f | are Versio
> 6e 20 34 2e 30 30 00 56 45 52 | n 4.00 VER
> 42 4d 41 50 20 52 65 63 72 65 | BMAP Recre
> 61 74 69 6f 6e 61 6c 20 52 6f | ational Ro
> 75 74 61 62 6c 65 20 48 69 67 | utable Hig
> 68 77 61 79 20 42 61 73 65 6d | hway Basem
> 61 70 2c 20 41 74 6c 61 6e 74 | ap, Atlant
> 69 63 20 76 32 20 32 2e 30 30 | ic v2 2.00
> 00 56 45 52 53 4d 41 50 20 4b | VERSMAP K
> 6f 6e 73 74 61 6e 7a 20 30 2e | onstanz 0.
30 30 00 08 10 03 | 00
< 10 06 02 ff 00 f9 10 03 |
> 10 fd 69 50 00 00 4c 01 00 41 | iP L A
> 0a |
> 00 54 01 00 41 64 00 44 6d 00 | T Ad Dm
> 41 c9 00 44 ca 00 44 6d 00 44 | A D Dm D
> d2 00 41 2d 01 44 36 01 44 2d | A- D6 D-
> 01 41 90 01 44 6d 00 41 f4 01 | A Dm A
> 44 f5 01 41 58 02 44 58 02 41 | D AX DX A
> 59 02 44 59 02 41 bc 02 44 bc | Y DY A D
> 02 41 20 03 44 20 03 41 84 03 | A D A
> 41 86 03 41 87 03 41 88 03 41 | A A A A
> 8b 03 44 8b 03 44 8c 03 44 8d | D D D
> 03 44 8e 03 41 92 03 7d 10 03 | D A }
< 10 06 02 fd 00 fb 10 03 10 1c |
< 02 00 00 e2 10 03 |
> 10 06 02 1c 00 dc 10 03 |
< 10 0a |
< 02 3f 00 b5 10 03 | ?
> 10 06 02 0a |
> 00 ee 10 03 10 5f 0c 0a | _
> 00 84 03 00 c0 7f 03 00 3f 12 | ?
> 04 6d 10 03 | m
< 10 06 02 5f 00 99 10 03 10 30 | _ 0
< 04 00 c2 01 00 09 10 03 |
> 10 06 02 30 00 c8 10 03 10 31 | 0 1
> 04 00 00 00 00 cb 10 03 |
< 10 06 02 31 00 c7 10 03 10 4b | 1 K
< 02 0a |
< 00 a9 10 03 |
> 10 06 02 4b 00 ad 10 03 10 4a | K J
> 02 00 00 b4 10 03 |
< 10 06 02 4a 00 ae 10 03 10 24 | J $
< fe 00 00 00 00 00 00 00 00 00 |
< 00 00 00 00 00 06 6b 00 00 01 | k
< 31 44 53 4b 49 4d 47 00 02 20 | 1DSKIMG
< 00 04 00 7f 03 00 00 00 00 00 |
< 00 00 00 00 00 00 00 00 00 00 |
< 00 00 00 00 00 00 00 00 00 00 |
< 00 00 d7 07 06 02 0c 06 07 08 |
< 47 41 52 4d 49 4e 00 00 4b 6f | GARMIN Ko
< 6e 73 74 61 6e 7a 20 20 20 20 | nstanz
< 20 20 20 20 20 20 20 20 04 00 |
< 20 00 09 01 c0 df 20 20 20 20 |
< 20 20 20 20 20 20 20 20 20 20 |
< 20 20 20 20 20 20 20 20 20 20 |
< 20 20 20 20 20 20 00 00 00 00 |
< 00 00 00 00 00 00 00 00 00 00 |
[/code]

Geht natürlich noch weiter, aber die wesentlichen Teile sind drin.

Oliver
[/code]
 

kiozen

Geomaster
GeoGroucho schrieb:
GeoGroucho schrieb:
kiozen schrieb:
Wenn das Gerät vom Protokoll identisch mit einem Vorhandenen ist, kann man den Treiber klonen. Mit dem GPSMap60SCx wurde das schon öffter gemacht. Das reduziert die Code Basis ungemein :)

Karten Upload wird gestartet, aber er bricht mit einem USB bulk write error ab.
Wegpunkte werden angeblich heruntergeladen, erscheinen aber nicht auf dem Gerät.
Ich werfe mal einen Blick drauf.

Oliver

Und hier ist das Log von Mapsource. So ganz schlau werde ich nicht draus:

< 10 fe 00 02 10 03 |
> 10 06 02 fe 00 fa 10 03 10 ff |

Kannst Du mir das mal als gut formatiertes Original per Email schicken? Da bekommt man ja Augenkrebs :lol:

Oliver

Edit, Typo
 

GeoAtti

Geomaster
Hiho,

qlandkarte-0.5.1.ebuild

Code:
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils

DESCRIPTION="View and upload map files, track and waypoint data to your Garmin GPS receiver."
HOMEPAGE="http://sourceforge.net/projects/qlandkarte/"
SRC_URI="http://puzzle.dl.sourceforge.net/sourceforge/qlandkarte/QLandkarte.2007.05.25.tar.gz"
LICENSE="GPL"
SLOT="0"
KEYWORDS="x86 amd64"
IUSE=""

DEPEND=">=x11-libs/qt-4.2 >=sci-libs/proj-4.4 >=dev-libs/libusb-0.1"

RDEPEND="${DEPEND}"

src_compile() {
        cd ${WORKDIR}/QLandkarte

        qmake QLandkarte.pro || die "qmake failed."
        make || die "make failed"
}

src_install() {
        dobin ${WORKDIR}/QLandkarte/bin/QLandkarte || die "dobin failed."
        dodir /usr/lib/qlandkarte || die "dodir failed."
        insinto /usr/lib/qlandkarte/
        doins ${WORKDIR}/QLandkarte/bin/plugins/* || die "doins failed."
}

Wie bereits geschrieben, einfach nach /usr/local/portage/..../qlandkarte/ legen (File qlandkarte-0.5.1.ebuild). Dann "ebuild .../qlandkarte-0.5.1.ebuild digest". Und mit
Code:
emerge -u qlandkarte
einen geschmeidigen Update machen! (Funktioniert auch als direkt install).

Atti
 

GeoGroucho

Geocacher
GeoGroucho schrieb:
GeoGroucho schrieb:
kiozen schrieb:
Wenn das Gerät vom Protokoll identisch mit einem Vorhandenen ist, kann man den Treiber klonen. Mit dem GPSMap60SCx wurde das schon öffter gemacht. Das reduziert die Code Basis ungemein :)

Karten Upload wird gestartet, aber er bricht mit einem USB bulk write error ab.
Wegpunkte werden angeblich heruntergeladen, erscheinen aber nicht auf dem Gerät.
Ich werfe mal einen Blick drauf.

Oliver

So, ein Update.

Dank intensiver Logausgabe bin ich in der Lage, das GPSMap 60C zum Laden und Entladen von Wegpunkten und zum Laden der Topomap zu verwenden- letzteres ist eine echte Offenbarung im Vergleich zu der Krücke über VMWare mit interceptty.
Entladen von Karten funktioniert nicht, soll ja eigentlich auch nicht. Da werde ich keinen Aufwand reinstecken.

Zum Einen musste die ProductID auf 0x123 gesetzt und der USB Timeout auf 6000 raufgeschraubt werden. Dann unterstützt das 60C nur D109-Wegpunkte und keine D110 wie die 60CSx-Geräte.

gpsbabel ist hier übrigens recht hilfreich: gpsbabel -D1 -i garmin -f usb:

Wenn jetzt noch Routen und Tracks funktionieren, werde ich den Treiber paketieren. Aber das WE ist fast vorbei, also keine Wunder erwarten :)

Ein weitere interessanter Punkt wäre die Frage, inwieweit sich Karten inkrementell laden lassen...

Oliver
 

kiozen

Geomaster
GeoGroucho schrieb:
Ein weitere interessanter Punkt wäre die Frage, inwieweit sich Karten inkrementell laden lassen...

Oliver

Gar nicht, alle Karten müssen in einer großen Datei verpackt werden und dann an das Gerät gesendet werden. Da ist nix mit inkrementell zu machen. Bullshit by Garmin.

Oliver
 

GeoGroucho

Geocacher
kiozen schrieb:
GeoGroucho schrieb:
Ein weitere interessanter Punkt wäre die Frage, inwieweit sich Karten inkrementell laden lassen...

Oliver

Gar nicht, alle Karten müssen in einer großen Datei verpackt werden und dann an das Gerät gesendet werden. Da ist nix mit inkrementell zu machen. Bullshit by Garmin.

Oliver

Ja, so habe ich es mir gedacht. Dabei wäre es absolut sinnvoll, die Topo drauf zu lassen und durch die CitySelect von Fall zu Fall zu ergänzen, aber nein...
Ich würde die CitySelect gerne auch auf das Gerät laden können, wenn sich also da irgend eine Möglichkeit ergibt...

Mittlerweile geht übrigens auch der Download von Tracks beim GPSMap 60C, allerdings macht QLandkarte für jeden Punkt einen Track draus. Da ich nicht davon ausgehe, daß das normal ist (schliesslich kann man die Tracks ja manuell zusammenführen), sollte man da noch mal einen Blick drauf werfen. Macht das 60CSX das auch ?
Beim Laden von Screenshots hängt sich das 60C auf, noch eine kleine Baustelle.

Aber der Fortschritt ist sichtbar. Das ist jetzt mehr als brauchbar, schliesslich muß ich jetzt nicht mehr VMWare anfeuern, interceptty starten und die Cachefiles mühsam von einer Seite auf die andere schieben. Vom Performance-Gewinn bei der Übertragung ganz zu schweigen.

Oliver
 

kiozen

Geomaster
GeoGroucho schrieb:
Ich würde die CitySelect gerne auch auf das Gerät laden können, wenn sich also da irgend eine Möglichkeit ergibt...

Wo liegt das Problem?

GeoGroucho schrieb:
Mittlerweile geht übrigens auch der Download von Tracks beim GPSMap 60C, allerdings macht QLandkarte für jeden Punkt einen Track draus. Da ich nicht davon ausgehe, daß das normal ist (schliesslich kann man die Tracks ja manuell zusammenführen), sollte man da noch mal einen Blick drauf werfen. Macht das 60CSX das auch ?

Ne, macht es natürlich nicht. Du hast überprüft ob dein Gerät das selbe Track Protokoll benutzt? Es gibt 2. Und ob Du beim Empfangen im while loop die Sache mit dem Track Header richtig machst. Dort wird immer ein neuer Track angelegt.

GeoGroucho schrieb:
Beim Laden von Screenshots hängt sich das 60C auf, noch eine kleine Baustelle.

xImage und USB Sniffer sind Deine Freunde. :)

GeoGroucho schrieb:
Aber der Fortschritt ist sichtbar. Das ist jetzt mehr als brauchbar, schliesslich muß ich jetzt nicht mehr VMWare anfeuern, interceptty starten und die Cachefiles mühsam von einer Seite auf die andere schieben. Vom Performance-Gewinn bei der Übertragung ganz zu schweigen.

Deswegen machen wir das.

Oliver
 

GeoGroucho

Geocacher
kiozen schrieb:
GeoGroucho schrieb:
Ich würde die CitySelect gerne auch auf das Gerät laden können, wenn sich also da irgend eine Möglichkeit ergibt...

Wo liegt das Problem?

Kein Problem mehr, nachdem ich alles in ein Verzeichnis kopiert habe und gemerkt habe, wie der Code einzugeben ist.
Allerdings habe ich jetzt das Problem, dass er bei gemischten Karten (bspw. Topo und CitySelect) nach dem Herunterladen meckert, er könne die Karte nicht entsperren. Leider nur in bestimmten Konstellationen, die ich noch nicht genau ermittelt habe.

[Update] Sieht so aus, als sendet er den Key nur dann, wenn activeMaps eine Karte mit Schlüssel enthält. Bei gemischten Karten ist das dann wohl abhängig davon, welche Karte in der DropDownBox angewählt wure, aber wohl auch nicht immer. Eventuell kommt der Event zum Ändern von activeMaps nicht immer durch.

Ne, macht es natürlich nicht. Du hast überprüft ob dein Gerät das selbe Track Protokoll benutzt? Es gibt 2. Und ob Du beim Empfangen im while loop die Sache mit dem Track Header richtig machst. Dort wird immer ein neuer Track angelegt.

Gut, ich hatte noch nichts angefasst, was das angeht.
Wird gefixed.

xImage und USB Sniffer sind Deine Freunde. :)

Wir schwierig, da ich die Installation ja in der VMWare betreibe und USB nicht vernünftig funktioniert.
Im Notfall werde ich es einfach als unsupported markieren.

Oliver
 
Oben