Ltu-Bike-trailer / control-software

Provides embedded software for controlling the cart.
MIT License
0 stars 0 forks source link

Logging #1

Closed ivajon closed 1 month ago

ivajon commented 1 month ago

Log message format

Om det är första gången en rad körs så kommer hela formaterings strängen att skickas

|Version(4 bitar)|meddelande typ(4 bitar)|data längd(u32)| 0b0xxxxxxx | resten av formaterings sträng längden u32 | Formatterings sträng | lista med (data typ designering:u8,formatterings argument (lsb ordnat)) |

så vi skickar både alla argumenten som ska formateras in i strängen och strängen som de ska formatteras in i. I JS kommer vi behöva göra någon enkel regex för att rätta formatterings strängen så att den formatterar rätt. Datatyps designering kommer vi behöva bestämma. Om den raden redan har skickats så kommer ett index att skickas istället (vi antar att hosten sparar en hashmap med alla strängar som den har sett innan och deras nyckel (xxxxxxx) så vi inte måste skicka hela status strängen igen nästa gång.

Så ifall vi har sett formatterings strängen innan kommer vi bara att skicka formatterings strängens index (xxxxxxx) och alla argumenten och deras typer så att motagar datorn kan formattera datan.

|Version(4 bitar)|meddelande typ(4 bitar)|data längd(u32)| 0b1xxxxxxx | lista med (data typ designering:u8,formatterings argument (lsb ordnat)) |