IOHawk Legend Lite Serielles Protokoll

Kennt jemand ein kompatibles LCD mit mehr offenen Einstellungsmöglichkeiten
Das QS-S4 von GitHub (Zero Display)
Das Vsett Display

Ich gehe aber davon aus, das es noch viel mehr Einstellungen gibt. Unter anderem könnte es eine Einstellung für die Erkennung der Hallsensoren geben (60°/120°/Auto). Einen v2 Limiter Speed (man denke an die Booster Box), sowie Einstellungen wann der Tempomat gestartet wird (Timer) und wieviel Kmh der erste, zweite und dritte Gang dürfen. Außerdem Einstellungen für den Cut-Off wert und sogar des Shunts, also eine schnellere Beschleunigung ohne dran löten zu müssen.

Leider antwortet der Controller wohl immer nur..also er sendet von sich keine Daten, sondern antwortet nur auf Fragen, weshalb man über die Displays wohl kaum an die Informationen kommt :/

Wenn man sich die Vsett/Zero P-Settings anguckt (auf "Papier"), wird man sehen, das viele Einstellungen als unbenutzt gelabelt sind.
Ich schätze das sind die von mir oben erwähnten "geheimen" Einstellungen und noch n paar mehr 🤷🏽‍♂️
 
Zuletzt bearbeitet:
  • Hilfreich!
Reaktionen: Gerhard
Ein bisschen echte Kommunikation:

Code:
#194
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Raw frame: 01 03 c2 00 0f 50 06 00 32 80 b3 00 58 0a ca
Gear:3; Ludicrous:0; Cruz:1; Kickstart:1; HiBeams:0; Regen:0
Limiter:50; Throttle:179


#195
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Raw frame: 01 03 c3 00 0f 75 06 00 32 80 b2 00 58 0a ef
Gear:3; Ludicrous:0; Cruz:1; Kickstart:1; HiBeams:0; Regen:0
Limiter:50; Throttle:178


#196
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Raw frame: 01 03 c4 00 0f 7e 06 00 32 80 b2 00 58 0a e3
Gear:3; Ludicrous:0; Cruz:1; Kickstart:1; HiBeams:0; Regen:0
Limiter:50; Throttle:178


#197
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Raw frame: 01 03 c5 00 0f 73 06 00 32 80 73 00 58 0a 2e
Gear:3; Ludicrous:0; Cruz:1; Kickstart:1; HiBeams:0; Regen:0
Limiter:50; Throttle:115


#198
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Raw frame: 01 03 c6 00 0f 74 06 00 32 80 2a 00 58 0a 73
Gear:3; Ludicrous:0; Cruz:1; Kickstart:1; HiBeams:0; Regen:0
Limiter:50; Throttle:42


#199
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Raw frame: 01 03 c7 00 0f 79 06 00 32 80 2b 00 58 0a 7e
Gear:3; Ludicrous:0; Cruz:1; Kickstart:1; HiBeams:0; Regen:0
Limiter:50; Throttle:43


#200
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Raw frame: 01 03 c8 00 0f 72 06 00 32 80 2b 00 58 0a 7a
Gear:3; Ludicrous:0; Cruz:1; Kickstart:1; HiBeams:0; Regen:0
Limiter:50; Throttle:43
Wie genau hast du diese Auszüge bekommen?
Bzw wie wurde die übersetzung aus den RAW Daten geparst ?

Leider kann ich den Code nicht zeigen, da ich ein urheberrechtlich geschütztes Ausgangsprogramm modifiziert habe. Es waren aber nicht viele Zeilen Python.
Oder bezog sich genau das auf die Übersetzung? Wie heißt denn das originale Programm, bitte ?
 
Wie heißt denn das originale Programm, bitte ?
Direkt im zweiten Satz vom OP (#1) erwähnt. Es sind zwei winzige Python-CLI-Skripte in einem Github Projekt.
Bzw wie wurde die übersetzung aus den RAW Daten geparst ?
Wenn ich im Display irgendwas umstelle, schaue ich wo sich die Daten ändern. Bis auf den Gang (Gear) ist das alles unverschlüsselt und der Gang ist schon geknackt worden. Das hab ich mit HTerm gemacht:

Dann habe ich das eine Programm vom OP so angepasst, dass es mir automatisch die Kommunikation interpretiert.

Du erhälst eine Privatkopie als PN ;)
Post automatically merged:

Leider antwortet der Controller wohl immer nur..also er sendet von sich keine Daten, sondern antwortet nur auf Fragen, weshalb man über die Displays wohl kaum an die Informationen kommt :/
Naja er sendet jedes mal ALLES an Infos die er hat als "Antwort", genau so wie das LCD ALLE Einstellungen jedes mal als "Frage" sendet. Man muss echt nur ein einziges Frage/Antwort-Paar aufzeichnen und hat dann den gesamten Zustand des Scooters erfasst: Alle P-Settings, aktuelle Geschwindigkeit, sogar die Gaspedalposition.
 
Zuletzt bearbeitet:
Naja er sendet jedes mal ALLES an Infos die er hat als "Antwort", genau so wie das LCD ALLE Einstellungen jedes mal als "Frage" sendet
Nein da ist ganz sicher noch mehr. Denk an die Booster Box von IO Hawk. Anschließen, Knopf drücken fertig. Die Box nimmt sich den Strom vom GND und P+ Pin im Rundstecker. Gleichzeitig legt sie P+ auf VCC (VK+) damit wird der Controller aktiviert (mehr macht die Schaltung im Display auch nicht) und dann sendet die Box da irgend ein flag.
Momentan ist das bei mir noch alles ein bisschen wie Kaffeesatz lesen, weil mir einfach der Kopf raucht, vor lauter Informationen die ich erst noch sortieren muss. Dadurch das die Vsett/Zero/Kaabo/JP Displays untereinander kompatibel sind, kann man davon ausgehen, das auch die Controller mehr oder weniger gleich sind (QS-S4 hat z.b 5 Stufen für die beschleunigung, LT-01 wiederum nur an oder aus. Dafür hat das LT-01 diese Signal P-Settingeinstellung, die man für den Getriebemotor braucht, was auch der Grund ist, warum man das QS-S4/Vsett Display nicht mit dem Getriebemotor / IO Hawk Controller benutzen kann). Irgendwann bin ich dann zu den BaFang, Infineon, BST, Lishui und KT abgedriftet. Bermerksenwert ist, das alle Controller die selben Bezeichnungen auf den Lötpunkten benutzen .. auch wenn man in die pinouts der Chips reinguckt wird man etliche Gemeinsamkeiten entdecken. ZLK steht zum Beispiel für den PAS Sensor aus der Padelecszene. Zufälligerweiss bietet der Chips jeweils ein Pin für PAS und Throttel (das Eye3 Display von Minimotors zeigt sogar PAS im Display an). SL is eigentlich immer die Bremse und SP oder SD immer Speed.
Duzende von Protokolle, wo immer wieder p settings auftauchen. Ähnlichen oder sogar gleichen Beschreibungen. Und KenTeng scheint einer der ältesten zu sein.. KenTeng hat viele Displays und keins davon sieht unserem ähnlich, aber es geht ja auch nur ums Protokoll.. von den KenTeng Displays stecken besonderen 3 heraus. Das KT-LCD3 ,5 und 6, den diese bieten am meisten Einstellungen + eine besonderheit: man kann zwischen dem alten und neuen Protokoll umschalten. Diese Einstellungen werden allerdings nicht mehr mehr als (p)arameter settings bezeichnet, sondern als (c)onfig settings.. auch lässt sich ein Steuersiganl einstellen (Getriebemotor?), die Leistung des Gashebels reduzieren (Booster Box?), den shunt wert (Tuning ohne löten?) Und viel mehr einstellen. ein weitere Punkt der mich dazu führte war folgender: die Displays/Controller von Zero/Vsett/JP und Kaabo sind zwar kompatibel, aber die Motoren nicht ... Warum? Weil Vsett/Zero/JP auf Motorn mit 60° Hallsensoren setzt und Kaabo Mantis auf 120°... Aber wer hätte das gedacht? Zufälligerweise gibt's bei KenTeng ebenfalls die Möglichkeit die Hallsensoren auf 60°/120°/Auto umzustellen.
.
 

Anhänge

  • Screenshot_2022-10-21-13-33-37-089_com.facebook.katana.webp
    Screenshot_2022-10-21-13-33-37-089_com.facebook.katana.webp
    64,3 KB · Aufrufe: 72
  • IMG_20221019_210252.webp
    IMG_20221019_210252.webp
    76,1 KB · Aufrufe: 56
Die BTN Software kann sogar die Daten auslesen. Gibt zwar völlig unsinnige Werte aus (falsche Parameter), aber ein Zeichen dafür, das ich auf dem richtigen Weg bin.
Das auslesen den Controllers funktioniert nur über 3,3V .. mit 5V hat er mir jedes Mal gesagt, das kein serial Port geöffnet werden kann
 

Anhänge

  • IMG_20221022_145044.webp
    IMG_20221022_145044.webp
    86,7 KB · Aufrufe: 67
  • IMG_20221022_145348.webp
    IMG_20221022_145348.webp
    103,4 KB · Aufrufe: 51
  • IMG_20221022_145354.webp
    IMG_20221022_145354.webp
    86,9 KB · Aufrufe: 56
  • IMG_20221022_152205.webp
    IMG_20221022_152205.webp
    141,1 KB · Aufrufe: 57
Wenn ich mir ein zweiten ttl Adapter hole, kann ich den praktisch an die ausgänge vom ersten setzten und mit htrem mitlesen, was die PC-Software an den Controller sendet, richtig Rollermops Rollermops ?
 
Ja. ich hab immer nur abgehört: 2 Adapter und immer nur jeweils Rx und GND auf denen beschaltet. Somit am Scooter beide Datenleitungen bidirektional empfangen.
 
  • Hilfreich!
Reaktionen: S1m0n
Ja das Problem ist, wenn ich mit hterm auf den ttl Adapter zugreifen, verliert die PC Software die Verbindung und anders Rum genauso. Ich kann also nur mit einem von den beiden Programmen auf den ttl Adapter zugreifen. Deshalb 2 damit der zweite sehen kann, was der erste schickt Rollermops Rollermops

Auch ist mir folgendes aufgefallen:
Kaabo Stm Chip
Zero/Vsett NEC
Mit dem BTN Tool kann ich irgendwas vom Kaabo Chip auslesen, beim Zero/Vsett läuft das Tool ins leere, ohne aber eine Fehlermeldung zu liefern.. hab fast eine Stunde gewartet, dann einfach ein RX/TX Kabel abgezogen: "Failed to open serial Port" ← hatte sich also nicht aufgehangen, lief aber aus irgendeinem Grund, an irgendeiner Stelle nicht mehr weiter.
Am Kaabo Controller mit Stm Chip konnte ich keinen Testpoints finden, wodrüber man einen st-Link (stm programmer) anschließen könnte
Am Zero/Vsett Controller mit Nec Chip konnte ich Testpoints finden - lustigerweise ist dafür kein teuere NEC programmer nötig, sondern es reicht ein stc Programmer (ähnlich günstig wie st-Link)
 
Zuletzt bearbeitet:
Am Kaabo Controller mit Stm Chip konnte ich keinen Testpoints finden, wodrüber man einen st-Link (stm programmer) anschließen könnte
Hab dir mal das pinout vom stm32f103 hier eingezeichnet.
20221023_141241.webp


Wie groß ist die Datei die du mit dem BTN Tool da gezogen hast?
Bezweifle das es ein full dump ist.
Deswegen die Frage nach der Größe.
Eine Warnung noch, es ist sehr wahrscheinlich das der Ausleseschutz bei dem stm32 gesetzt wurde.
Wenn du versuchst ihn zu beschreiben, wird er sich intern komplett selbst löschen.
Inklusive Bootloader, welcher möglicherweise in deinem Dump fehlt, weil es kein fulldump ist.
 
  • Hilfreich!
Reaktionen: S1m0n und Gerhard