From 51f67458bb1a50b43c85efd43517b4dc923204a7 Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 16 Apr 2025 18:31:57 +0200 Subject: [PATCH] Added Start of Uart Protokoll Definition --- readme.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/readme.md b/readme.md index e5f01d6..554a076 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,34 @@ +# UART Protokoll + +## Struktur einer Nachricht + + 0xAA = Startbyte + checksum = XOR über alle Bytes (ohne Startbyte und Checksum-Byte) + +## Nachrichtenaufbau (Message Frame) + +┌──────────┬────────┬──────────────┬────────────┬───────────┐ +│ Startbyte│ Length │ CommandPage │ Payload │ Checksum │ +├──────────┼────────┼──────────────┼────────────┼───────────┤ +│ 0xAA │ 1 B │ 1 B │ variable │ 1 B │ +└──────────┴────────┴──────────────┴────────────┴───────────┘ + +### Felder im Detail: + +- **Length** (`uint8_t`): + Gibt die Gesamtlänge der Nachricht **ab `CommandPage` bis einschließlich `Payload`** an. + +- **CommandPage** (`uint8_t`): + Gibt an, welcher Nachrichtentyp oder Befehl gesendet wird. + +- **Payload** (`variabel`): + Datenfeld mit variabler Länge, abhängig vom `CommandPage`. + +- **Checksum** (`uint8_t`): + XOR über alle Bytes ab `Length` bis einschließlich `Payload`. + +--- + # Roadmap - [ ] SEND STATUS OF DEVICE OVER UART - [ ] CONFIGURE PEERS OVER MASTER