Wintec Tools 2.0 mit WSG-1000 und WBT-201 Unterstützung veröffentlicht

  • Hallo,


    endlich ist die Version 2.0 meiner in Python geschriebenen Wintec Tools fertig und auf meiner Homepage verfügbar:


    http://www.SteffenSiebert.de/soft/python/wintec_tools.html


    Es hat sich einiges getan. Neben der WBT-201 Maus wird jetzt auch der WSG-1000 Logger unterstützt. Die erzeugten Dateien sind auf dem Stand von Time Machine X 2.7.1


    Für Windows Benutzer gibt es jetzt eine eigene Distribution, die keine Python Installation voraussetzt, sondern alle notwendigen Dateien enthält und statt der Skripte Windows Binaries benutzt.


    Die neue Version hat zwei besonders nette Features, die TMX nicht bietet:


    Das neue Tool overview erzeugt eine HTML Seite mit Infos zu den TK Dateien, wobei zu jedem Track eine statische Google Maps Grafik generiert wird.


    Außerdem können die Tools automatisch die korrekte Zeitzone ermitteln, die am dem Ort und zu der Zeit galt, als der erste Punkt im Track aufgenommen wurde.


    Hier ist der komplette Changelog:


    * Local timezone can be automatically determined by location and date/time of first trackpoint.
    * Windows executables available (running without separate Python installation).
    * Wintec WSG-1000 support added to readlog.
    * Support log format 2.0 of WSG-1000 (temperature and air pressure).
    * .tk2 and .tk3 support added including user comments.
    * NMEA output format added.
    * Google Maps output added.
    * GPX/NMEA/Google Maps/Virtual Earth format is Time Machine X 2.7.1 compatible.
    * Support for 64-bit operating systems.


    Viel Spaß,
    Steffen

  • Hallo, Steffen


    Vielen Dank für Deine Python-Scripts.
    Hast Du eine Übersicht über die @AL-Steuercodes für das WSG-1000 ?


    Beim Testen von readlog.py (WSG-1000 FW 1.0.2 Linux openSuse 10.3 python 2.5 ) ist mir folgendes aufgefallen:


    Mit schwachem Laptop-Accu gibt es Probleme mit dem Datentransfer. OK: ans Netzteil.


    WSG-1000 kehrt nicht mehr in den Normalmode zurück: time.sleep(3) vor dem Umschalten kann helfen.


    Folgendes Problem, das zu einem Abbruch wegen ungleicher checksum führt, ist wahrscheinlich auf die unterschiedliche Interpretation von Strings durch das Betriebssystem zurückzuführen:


    Read buffer at 28672 (4096 Bytes)
    @AL,CS,9,28672


    Expected block checksum: 9
    Buffer read error, retrying


    Read buffer at 28672 (4096 Bytes)
    @AL,CS,9,28672


    Expected block checksum: 9
    Buffer read error, retrying


    Hier habe ich folgende Änderung vorgenommen:
    #-------------------------------------------------------------------------------------
    def isChecksumCorrect(buf, checksum):
    """
    Validates buffer checksum.

    @param buf: The buffer to check.
    @param checksum: The expected checksum.
    @return True if checksum matches; False otherwise.
    """
    cs = 0
    for char in buf:
    cs = cs ^ ord(char)


    # to change:
    checksum_buffer = " %02X "% cs
    checksum_device = " %02X "% int(checksum,16) # build 9 > 09 A > 0A
    return checksum_device == checksum_buffer # compare two hex-strings


    #---------------------------------------------------------------------------------------


    Mein-Debug-Output:
    -----------------------------------------------------------------------------------------
    Read 33. block at offset 135168 + count 4096 = 139264, leaving 130016 , end of tracks at 269280
    send to device : @AL,05,03,135168
    answer: @AL,CS,2B,135168
    received buffer length 4096 device block checksum: 2B expected: 2B >>>> ok <<<<


    Read 38. block at offset 155648 + count 4096 = 159744, leaving 109536 , end of tracks at 269280
    send to device : @AL,05,03,155648
    answer: @AL,CS,4,155648
    received buffer length 4096 device block checksum: 04 expected: 04 >>>> ok <<<<
    -------------------------------------------------------------------------------------
    python x_testing_readlog.py -v -o test_199.tk1 /dev/ttyUSB0
    -------------------------------------------------------------------------------------


    Schön, das Du den Source_Code veröffentlichst hast. So konnte ich das Script anpassen.
    Im Anhang mein x-testing-readlog.py script mit erweiterten debug-Kommentaren. Könntest Du bei Bedarf in die Debug-Option einbauen.


    Viele Grüsse
    Gerhard

  • Zitat

    Original von gwzbeuren
    Hallo, Steffen


    Vielen Dank für Deine Python-Scripts.
    Hast Du eine Übersicht über die @AL-Steuercodes für das WSG-1000 ?


    Ich habe nur die Doku für die WBT-201, die Steuercodes scheinen aber bis auf die geänderte Umschaltung in den Kommandocodes weitestgehend identisch zu sein.


    Zitat


    Mit schwachem Laptop-Accu gibt es Probleme mit dem Datentransfer. OK: ans Netzteil.


    WSG-1000 kehrt nicht mehr in den Normalmode zurück: time.sleep(3) vor dem Umschalten kann helfen.


    Tritt das Problem immer auf, oder nur in diesem Fall mit dem schwachen Akku?


    Zitat


    Folgendes Problem, das zu einem Abbruch wegen ungleicher checksum führt, ist wahrscheinlich auf die unterschiedliche Interpretation von Strings durch das Betriebssystem zurückzuführen:


    Die WBT-201 gibt die Checksumme immer 2-stellig aus, bei der WSG-1000 wird die führende Null dagegen weggelassen. Habe ich jetzt korrigiert. Ist leider nicht so einfach, ein Gerät zu unterstützen ohne selber damit testen zu können :)


    Ciao,
    Steffen

  • Hallo, Steffen


    Danke für die Antwort. Es freut Dich sicher, dass wenigstens einer die Software getestet hat.


    Ob nur der leere Akku die Übertragungsstörungen verursacht, habe ich nicht weiter getestet. Es kann auch sein, das dev/tyUSB0 bezüglich Handshake nicht ganz RS232-kompatibel ist. Aber mit der Verzögerung läufts ganz gut. Mit Bluetooth habe ich es noch nicht getestet.


    Dafür, dass Du kein WSG-1000 zum Testen hattest, ist die Software wirklich gut gelungen.


    Könntest Du mit einen Tip geben, wo man die WBT-201 Dokumente mit den Steuercodes findet ?


    Viele Grüsse


    gwzbeuren

  • Zitat

    Original von gwzbeuren
    Hallo, Steffen


    Danke für die Antwort. Es freut Dich sicher, dass wenigstens einer die Software getestet hat.


    So schlimm ist es ja nun auch nicht :)


    Zitat


    Ob nur der leere Akku die Übertragungsstörungen verursacht, habe ich nicht weiter getestet.


    Könntest Du denn so nett sein, die Verzögerung mal wieder rauszunehmen und zu testen, ob es dann geht? Ich hatte in der ersten Version für die WBT-201 auch Verzögerungen drin, aber inzwischen läuft die aktuelle Version auch ohne. Wäre schön, wenn man das auch für die WSG-1000 hinbekommt.


    Zitat


    Könntest Du mit einen Tip geben, wo man die WBT-201 Dokumente mit den Steuercodes findet ?


    Na hier im Forum:


    Loggerprobleme WBT201: Wintec's Antwort


    Ciao,
    Steffen