RP ✔️ VLT Firmwares, in DE 22Kmh⚡ mit Vanilla Firmware und vieles mehr

Hi Leute,
ich präsentiere nun meine bisher anspruchsvollste Mod. Sie ersetzt den Programmteil der Firmware, der für das blinkende Rücklicht verantwortlich ist vollständig durch eigenen Code. Dadurch, dass der Code für das blinkende Rücklicht ersetzt wird, ist also die Bremslicht Mod praktisch mitenthalten.

VooDooShamane VooDooShamane war an der Mod beteiligt: er hat mich bis spät in die Nacht mit den Offsets und möglichen Werten für den Gashebel und die Bremse unterstützt und mir auch tagsüber immer wieder mit Ideen zur Problemlösung geholfen.


ReLight Mod
Die Mod besteht aus zwei Teilen: Einem Trigger und dem Programmteil (Effekt).

1) Trigger (Hook)
Beispiel: Leicht angezogene Bremse + Halb-Gas
DRV236
Offset Vorher Nachher
0x6fe 617901291ad0a179012917d090f83410012913d0 1e4e96f878129c2904d396f879123c2914d200bf
DRV304
Offset Vorher Nachher
0x6fe 6179012916d0a179012913d090f8341001290fd0 204e96f878129c2904d396f879123c2910d200bf

2) Effekt (Payload)
Um eigenen Code einzubauen, lassen sich nun die folgenden Bytes ersetzen:
DRV236
Offset Vorher
0x73a 90f843000028fad1207e401cc0b22076142804d92576607e38b100206076607e28b1bde8704000f05ab80120f6e7bde87040fff7b6bf
DRV304
Offset Vorher
0x732 90f8430000281dd1207e401cc0b22076142804d92576607e38b100206076607e28b1bde8704000f062b80120f6e7bde87040fff7babf

Nachher (beide DRV's gleich)
Beispiel 1: LTGM AKTIVIEREN

0124a0f83a5100bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bfbde87080
Beispiel 2: DPC AKTIVIEREN
0124a0f8324100bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bfbde87080
Beispiel 3: DPC + LTGM DEAKTIVIEREN
0124a0f83a41a0f8325100bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bf00bfbde87080


Die Beispiele habe ich an meinem 1S erfolgreich getestet.


Wichtige Hinweise:
  • Meine Angaben sind für Vanilla DRV. Beim manuellen Patchen könnt ihr auch eine bereits gepatchte DRV nehmen. An den angegebenen Offsets dürfen sich einzelne Ausgangs-Bytes durchaus unterscheiden.
  • Wenn ihr nur den ersten Teil der Mod einbaut, dann wird das Rücklicht im US Modus (GM/LTGM) blinken, wenn ihr die gewählte Tastenkombination drückt (sofern nicht schon eine Bremslicht Mod drin ist). Das ist ein schöner visueller Weg, um sich an die Mod heranzutasten.
  • Wenn ihr nur den zweiten Teil der Mod einbaut, dann wird die gewählte Aktion bei Bremse / Motorbremse ausgeführt. Das ist meiner Meinung nach nicht sinnvoll. Man sollte also wenn man 2) einbaut auch 1) einbauen.
  • Das Beispiel "DPC aktivieren/deaktivieren" funktioniert natürlich nur mit VLT DPC Mod, und das Beispiel "LTGM aktivieren/deaktivieren" funktioniert nur mit VLT LTGM Mod.

Was steht da nun in den Bytes?
Es handelt sich um handgeschriebenen ARM Assemblercode. Man kann die Bytes hier rauskopieren und in den eingeben, dann sieht man den Programmcode dazu.

Erklärung zu den Beispielen oben: Beim Trigger wird zuerst die Speicheradresse von Gas + Bremse geladen. Danach wird verglichen, ob Gas + Bremse gewisse Werte überschreiten. Beim Programmteil werden die gewünschten Werte (1 oder 0) an die Adressen von LTGM + DPC geschrieben. Dort wo "00bf00bf..." steht ist übrigens noch sehr viel Platz für Code - genug für weitere Tastenkombinationen aus Gas + Bremse (Gas leicht, Bremse stark, beides leicht oder beides stark durchgezogen).


Wie geht es mit der Mod weiter?
Mir war es erstmal wichtig, gemäß der VLT Philosophie, die Informationen hier offen zu legen und eine Diskussionsgrundlage zu schaffen. Die Möglichkeiten der Mod sind sehr umfangreich. Sie kann als Grundlage für neue Mods genutzt werden. DPC/LTGM zu aktivieren oder zu deaktivieren ist lediglich ein mögliches Beispiel. Da sich selbst hierbei viele Kombinationsmöglichkeiten ergeben, bin ich mir über die Umsetzung im Web Patcher noch unsicher. Ich befürchte, dass dieser sehr schnell unübersichtlich werden könnte. Da ich gerade noch viele andere Dinge zu tun habe, werde ich für die Anpassung des Webpachters erstmal keine Zeit haben. Ihr könnt also zum Testen die Patches erstmal auf die traditionelle Art (HexEditor) einbauen - oder über mein öffentliches Patcher .

Liebe Grüße - D
 
Zuletzt bearbeitet:
nandtek nandtek / VooDooShamane VooDooShamane

Wie geil ist das denn bitte?! 👍👍👍👍

Wenn ich das richtig verstanden habe, geht damit bis jetzt nur eine Aktion, also entweder eines der beiden einschalten oder beide ausschalten?

Wie sieht das aus, wenn man z. B. "LTGM einschalten" gepatcht hat, die Funktion ausführt und man schaltet den Scooter dann aus und wieder an- ich nehme an, LTGM ist dann erst mal nicht aktiv?
 
Olli_69 Olli_69 Korrekt.

Die Aktionen lassen sich beliebig anpassen. Das oben sind nur Beispiele. Von Codi kam schon die Frage nach einer akustischen Rückmeldung (Piep). Eine Rückmeldung, in welcher Form auch immer, ließe sich sicherlich auch im Programmteil 2) einbauen, wenn das gewünscht ist. Man könnte auch unterschiedliche Trigger setzen, jeweils zum Einschalten und Ausschalten. Dafür gestaltet man 1) so, dass dieses die grundsätzliche Kombination erkennt (z.B. Gas + Bremse) in 2) wird dann die Fallunterscheidung getroffen (Gas > 80%, Bremse > 20% etc.).
 
Olli_69 Olli_69 Korrekt.

Die Aktionen lassen sich beliebig anpassen. Das oben sind nur Beispiele. Von Codi kam schon die Frage nach einer akustischen Rückmeldung (Piep). Eine Rückmeldung, in welcher Form auch immer, ließe sich sicherlich auch im Programmteil 2) einbauen, wenn das gewünscht ist. Man könnte auch unterschiedliche Trigger setzen, jeweils zum Einschalten und Ausschalten. Dafür gestaltet man 1) so, dass dieses die grundsätzliche Kombination erkennt (z.B. Gas + Bremse) in 2) wird dann die Fallunterscheidung getroffen (Gas > 80%, Bremse > 20% etc.).

Na gut, das Piep ist Geschmackssache, meinen Pieper habe ich mechanisch still gelegt, da er mich mehr nervt als Nutzen bringt 😅 (da kannte ich die "böse X...noch nicht, wo man an, aus, einfach, zweifach, lang, kurz, wie auch immer Piep einstellen könnte..
Piepen ist für andere aber durchaus wichtig, daher bin ich da ganz bei VooDooShamane VooDooShamane: ich mag nix verpflichtendes, sondern habe gerne die Wahl 😅

Unterschiedliche Trigger sind für ein handyfreies Nutzen sicherlich sinnvoll, kämen vor allem auch den Apple-Usern sicher sehr entgegen, aber 1) oder 2) "mal eben" mit armconverter selber anpassen, übersteigt bei den meisten sicher deren Horizont (meinen sowieso 🤣)

Aber so war das glaube ich auch nicht von dir gemeint.... 😉

Wie sieht das aus, wenn man z. B. "LTGM einschalten" gepatcht hat, die Funktion ausführt und man schaltet den Scooter dann aus und wieder an- ich nehme an, LTGM ist dann erst mal nicht aktiv?

Ich weiß, ich könnte es einfach ausprobieren, aber irgendwie ist mir da grad so gar nicht nach flashen 🙃
 
  • Hilfreich!
Reaktionen: VooDooShamane
Nach einem Scooter reboot ist LTGM immer wieder deaktiviert bzw das DE Flag wird gesetzt.
Natürlich vorrausgesetzt, man hat eine DE SerienNr.
Dieser Mechanismus funktioniert weiterhin.

Ich habe Gestern die Tempomat Funktion gründlich untersucht konnte dabei vieles entdecken das wir für die VLT Patches zweckentfremden können.
Beispielsweise Habe ich die Beep() Funktion im Programmcode ausfindig machen können.
Diese wird mit Parameter 1 - 4 aufgerufen um den jeweiligen Piep ton auszugeben.
Wir haben also jetzt die volle Kontrolle über die Töne die der Scooter von sich gibt.
Jeder Ton, z.b. der beim ein/ausschalten, Bluetooth connecten, Tempomat, usw... kann nun verändert oder deaktiviert werden.
Natürlich ermöglicht das auch, Beep sounds einzufügen wo es vorher garkeine gab.

Außerdem könnte man sich den Zeit zähler zu nutze machen, (Tempomat)
um beispielsweise die Tastenkombination für eine vor definierte Zeit halten zu müssen,
um eine jeweilige Aktion auszuführen. (LTGM/DPC etc...)

Den - die Patcher ständig zu aktualisieren wenn man einen neuen Mod hat, ist doch etwas mehr Arbeit.
Und momentan, wo sich ständig etwas ändert bzw. neu dazu kommt einfach unvorteilhaft.
Das ist der Grund warum ich im letzten Jahr schon gesagt habe, man sollte erstmal zu einem Ergebnis kommen,
wo man die Patches und Mods so weit entwickelt hat, bis man einen Standpunkt erreicht hat,
an dem sich nicht mehr viel oder so schnell ändern wird.
Die Abstimmung die ich zu dem zeitpunkt gestartet habe, spiegelt auch das wieder.

LG
VooDooShamane
 
Zuletzt bearbeitet:
Also ich bin heute das erste Mal eine kleine Strecke gefahren und habe mich total erschrocken wo er mitten in der Fahrt gepiept hat 🤣 alles klar, der Tempomat ist angegangen.... Mega geil.... Meine Frau hat es abgenickt und ist auch begeistert. 👍
 
  • Hilfreich!
Reaktionen: VooDooShamane
Nach einem Scooter reboot ist LTGM immer wieder deaktiviert bzw das DE Flag wird gesetzt.
Natürlich vorrausgesetzt, man hat eine DE SerienNr.
Dieser Mechanismus funktioniert weiterhin.

Ich habe Gestern die Tempomat Funktion gründlich untersucht konnte dabei vieles entdecken das wir für die VLT Patches zweckentfremden können.
Beispielsweise Habe ich die Beep() Funktion im Programmcode ausfindig machen können.
Diese wird mit Parameter 1 - 4 aufgerufen um den jeweiligen Piep ton auszugeben.
Wir haben also jetzt die volle Kontrolle über die Töne die der Scooter von sich gibt.
Jeder Ton, z.b. der beim ein/ausschalten, Bluetooth connecten, Tempomat, usw... kann nun verändert oder deaktiviert werden.
Natürlich ermöglicht das auch, Beep sounds einzufügen wo es vorher garkeine gab.

Außerdem könnte man sich den Zeit zähler zu nutze machen, (Tempomat)
um beispielsweise die Tastenkombination für eine vor definierte Zeit halten zu müssen,
um eine jeweilige Aktion auszuführen. (LTGM/DPC etc...)

Den - die Patcher ständig zu aktualisieren wenn man einen neuen Mod hat, ist doch etwas mehr Arbeit.
Und momentan, wo sich ständig etwas ändert bzw. neu dazu kommt einfach unvorteilhaft.
Das ist der Grund warum ich im letzten Jahr schon gesagt habe, man sollte erstmal zu einem Ergebnis kommen,
wo man die Patches und Mods so weit entwickelt hat, bis man einen Standpunkt erreicht hat,
an dem sich nicht mehr viel oder so schnell ändern wird.
Die Abstimmung die ich zu dem zeitpunkt gestartet habe, spiegelt auch das wieder.

LG
VooDooShamane

Gefällt mir bisher alles sehr gut, von wählbaren Tönen (wenn sie denn auch abschaltbar sind) bis zu der genialen Idee, den Faktor Zeit bei den Tastenkombination mit ins Spiel zu bringen.

Bietet die SW eigentlich auch die Möglichkeit eines Triple-Klick oder ist bei doppelt Schluß? Nur so ein Gedanke, denn das taucht meines Wissens bisher nirgends auf...

Ansonsten hast du vollkommen Recht mit dem Webpatcher, das wäre ein ständiges Gefrickel. Wer nicht warten kann oder will, kann die (veröffentlichten) Patches ja selber per Hexeditor einpflegen, so hat jeder die Wahl, fair für beide Seiten 😃
Post automatically merged:

VooDooShamane VooDooShamane sagenhaft! Die Preisfrage ist jetzt, ob wir genug freie Bytes und Pieptöne haben, um eine Melodie reinzuprogrammieren :D
Bitte NICHT 🤣🤣🤣
Post automatically merged:

Starwars oder Beverly hills cop bitte :ROFLMAO:

Das Rocky-Theme, eye of the tiger 🙈
 
  • Hilfreich!
Reaktionen: VooDooShamane