= PMC-Protokoll = ||'''ID''' ||'''SUBID''' ||'''Daten''' ||'''Beschreibung''' || ||||||||'''Allgemein''' || ||0x00 ||- ||- ||''Fehlernachricht:'' Diese wird von einem Modul 3x gesendet wenn es einen Fehler in der Übertragung feststellt. Alle Module verwerfen daruafhin die aktuell empfangene Nachricht. || ||0x01 ||0 ||- ||''Initialisierungsnachricht:'' Diese wird einmal vom Master gesendet. Daraufhin müssen sich alle anderen Module Initialisieren und als Bestätigung ihren Status zurück senden. || ||0x01 ||1 ||- ||''Statusanforderung:'' Alle module müssen auf diese Nachricht ihren Status mitteilen. || ||||||||'''[[EBike/PowerMonitor|PowerMonitor]]''' || ||0x10 ||status ||1 Byte: Zustand der Motorstromversorgung (false->aus, true->ein) ||''Statusnachricht:'' Das modul teilt seinen Status mit || ||0x11 ||status ||- ||''Statusänderung:'' Der Master weist eine Statusänderung an: IDLE <-> ACTIVE || ||0x12 ||0 ||1 Byte: Steuerbefehl (0->aus, 1->ein) ||''Steuernachricht:'' Befehl zum ein- bzw. ausschalten der Motorstromversorgung (nur im Status ACTIVE) || ||0x13 ||0 || struct results_struct {<
>int16_t current;<
>uint16_t voltage;<
>int16_t power;<
>uint16_t energy;<
>} ||''Datennachricht:'' Das Modul übermittelt Messdaten. || ||0x14 ||1->Energie <
>2->Schwellwert für Unterspannung <
>3-> Schwellwert für Strom ||2 Byte: Wert ||Setze Register. (nur im Status IDLE) || ||0x15 ||0 ||- ||Strommessung rekalibrieren: aktuellen Wert als Offset abspeichern (nur im Status IDLE) || ||0x1F ||0 ||1 Byte: Fehlercode ||''Fehlernachricht:'' Das Modul hat einen Fehler festgestellt. ||