WSG-1000 - SW selber schreiben

  • Solange der Bootloader noch tickt und man die original Firmware wieder draufpacken kann, stimmt das. Nur - was ist wenn nach einem Update auf die selbstgestrickte Firmware selbst der Bootloader nicht mehr will?


    Aber: No risk no fun ...


    FRAC

  • Hallo Air-Wolf,


    Zitat

    Original von Air-Wolf
    Auch lassen sich sehr leicht die Bitmuster fuer Buchstaben und Graphiken aus der Firmware extrahieren


    Wie hast du die Bitmaps denn lokalisiert und extrahiert?


    Gruß,


    90GradNord

  • Wie hast du die Bitmaps denn lokalisiert und extrahiert?


    Indem ich mir die Firmware als Bitmap bei wechselnder Breite angesehen habe:


    1. Datei umbenannt in firmware.pbm
    2. mit dem Hexeditor den Header fuer binaeres pbm (Portable Bitmap) vor den Anfang hinzugefuegt:


    P4
    xSize ySize


    Als Hex-Code am Beispiel fuer Bildgroesse 120x10000:
    50 34 0A 31 32 30 20 31 30 30 30 30 0A 00 00 00 00 00 00


    3. einfuegen von zunehmender Anzahl "00" (Zero-Padding) nach dem Header
    4. Ansehen mit Irfanview (oder anderem Bildbetrachtungsprogramm fuer Format pbm).
    5. Schritte 3+4 wiederholen, bis mit Zero-Padding der richtige "Zeilenumbruch" gefunden wurde
    6. Schritte 3+4+5 wiederholen mit verschiedenen Werten fuer xSize, insbesondere mit 8, 40, 120 fuer die Buchstaben/Ziffern und Graphiken der verschiedenen Breiten.
    7. Copy&Paste eines interessanten Bildausschnitts in ein neues Bild, abspeichern, mit Hex-Editor einige aufeinanderfolgende Werte entnehmen und nach Herkunftsort in Originaldatei suchen. Ersetzen der dortigen Bitmap durch eigene.


    Dabei kommen viele Graphiken dem ersten Anschein nach "doppelt" vor, manche unterscheiden sich aber minimal. Das Display kann wohl 4 Graustufen anzeigen und die sind gespeichert als zwei einzelne Bitmaps, die beide zusammen dann die 4 moeglichen Helligkeiten repraesentieren. In den allermeisten Faellen wird aber nur 00 und 11 verwendet, nur bei wenigen Graphiken kommen auch die Zwischenstufen 01 und 10 vor. Hier koennte bei Bedarf sehr leicht viel Speicher gespart werden, indem auf die Moeglichkeit der Zwischenstufen verzichtet wird und einfach die beiden Zeiger auf die identische Speicherstelle zeigen.


    Diese verschiedenen Zwischenstufen Grau koennten bei den Fonts z.B. sehr gut fuer Anti-Alias fuer schoenere Lesbarkeit verwendet werden, aber Wintec selbst scheint diese Moeglichkeit gar nicht zu nutzen.


    verwendete kostenlose Tools:
    Hex-Editor: http://mh-nexus.de/en/hxd/
    Bildbetrachter: http://irfanview.com/


    Beispielbild, noch mit falschem Zero-Padding

  • Hallo Air-Wolf,


    danke für die Beschreibung - sehr interessante Technik!


    Gruß


    90GradNord

  • *PING*


    ...ich nehme an, das Thema ist auch in diesem Thread wieder eingeschlafen?! )-:

  • Ja. Ich wuerde sogar sagen das Thema ist "tod".


    Solange bei Wintec noch der Entwickler Al war, gab es etwas hilfreiche Infos von dort. Seit er weg ist scheint das Management dort nur noch der WSG-2000 als Fahrrad-Computer zu interessieren.


    Ich selbst programmiere jetzt das, was ich dort machen wollte auf Android. Teureres Geraet und wesentlich kuerzere Akkulaufzeit aufgrund des Farbdisplays, dafuer gibt es die benoetigten Informationen.


    Schade, ich denke, Wintec hat eine wichtige Chance verpasst. Der WSG-2000 hat gar kein Bluetooth mehr. Der WSG-1000 haette per Bluetooth auch gut Android Geraete ergaenzen koennen, wobei noch minimale Programmierung noetig gewesen waere, da die barometrische Hoehe NICHT mehr Bluetooth uebermittelt wird, nur ueber die USB-Verbindung.