/
Notizzettel.txt
74 lines (49 loc) · 2.45 KB
/
Notizzettel.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Nachricht ans Display für Balken:
10 C1 29 26
Segmente in Byte 4:
off = 0x01 | 0x02 = 0x03
eco = 0x04 | 0x08 = 0x0C
normal = 0x10 | 0x20 = 0x30
power = 0x40 | 0x80 = 0xC0
Display Anwort mit Tastendruck:
10 22 C2 22 00
Letzte 00:
01: Taste oben
02: Taste vorn
03: beide Tasten
online CRC-Rechner
https://onlinegdb.com/mXEVFzbspm
Erkenntnis:
1. Wenn die Checksumme 0 ist, wird sie nicht mitgesendet! (Oder von meinem Programm nicht detektiert.
10 00 B1 startet polling vom Motor
10 60 99 stoppt polling vmo Motor
10 21 0A 09 94 C0 00 C7 08 C1 00 00 00 06 D2: vom Motor an Batterie, Byte 6+7 ist Geschwindigkeit in km/h*10
10 C1 29 26 C0 30 C3 43 C1 99 FC CC C0 86: von Batterie an Display, Byte 8 & 0x0F ist 10er Stelle, Bit 9 & 0xF0 ist 1er Stelle, Bit 9 & 0x0F ist erste Nachkommastelle vom Speed.
10 01 28 09 94 B0 09 C4 14 B1: die nächsten beiden Bytes Akku-Stand?!
Auf 10 21 01 12 00 D0 vom Motor antwortet Batterie mit 10 02 20 12 9F ist aber beim Abschalten...
Auf 10 40 40 vom Motor, schein Fehlermeldung zu sein, kommt 10 60 99 von Batterie (eigentlich Stoppsignal?!)
Auf Befehl 08 kommt immer individuelle Antwort
Befehl 09 wird immer mit Payload 0x00 quittiert
bei 10 21 0A 09 ändert sich nichts mit Änderung der Batteriespannung
Antworten auf 10 21 04 08 94 38 28 3A D7:
Bytes 12, 13 + 14 verändern sich, wenn sich das Rad gedreht hat.
Bei nur ein und Ausschalten, ohne Raddrehung bleiben sie gleich.
Motor sendet beim Abschalten unter Befehl 09 als Bytes 12+13 die Bytes, die er beim Einschalten als Antwort auf Befehl 08 als Bytes 13+14 empfangen hat.
Batterie sendet beim Einschalten als Antwort auf Befehl 08 als Bytes 7+8 die er beim letzten Abschalten als Bytes 6+7 mit Befehl 09 vom Motor erhalten hat.
10 01 21 34 01 7F Befehl zum Einschalten?!
10 01 21 31 00 22 Befehl zum Ausschalten: Motor sendet kurze Zeit später die Abschaltnachtricht 10 21 0A 09 94 38.....
10 04 20 CC FF von Batterie mit Antwort
10 23 00 AB FF vom Motor kommt alle ca. 200 Zeilen
Beim Einschalten:
10 C1 00 20 03 vom Motor ans Display
10 02 C8 20 05 06 00 00 00 00 23 06 0A ist Antwort vom Display mit Seriennummer des Displays
kurz vorher sendet Batterie an Motor:
10 01 20 32 75
10 22 00 32 EA ist Antwort vom Motor
Hex-Kommandos über ESP32 UART-USB Schnittstelle:
0xFA Start
0xFB Reset
0xFC Durchleiten der empfangenen UART-USB-Bytes
0xFD Autoantwort reaktivieren
0xFE Beenden senden: 10 01 21 31 00 22
0xFF Stufe senden: 10 01 21 34 01 7F (ist das wirklich die Stufe?!)