Encodage binaire générique du protocole de communication Cart Bus. Plus de détails...
#include "cart_proto.h"
Fonctions | |
size_t | cart_proto_build_set (uint16_t param, uint8_t value, uint8_t out[4]) |
Construit une trame binaire pour une commande “set param value”. | |
size_t | cart_proto_build_get (uint16_t param, uint8_t out[4]) |
Construit une trame binaire pour une commande “get param”. | |
Encodage binaire générique du protocole de communication Cart Bus.
Ce protocole, historiquement dérivé du format XVA1, définit une trame UART simple et compacte utilisée pour l’échange de paramètres entre le firmware Brick et les cartouches matérielles.
Type | Description | Format | Exemple |
---|---|---|---|
Écriture | Envoi d’une valeur vers la cartouche | ‘'s’ param value\ilinebr </td> <td class="markdownTableBodyNone"> s 10 127\ilinebr </td> </tr> <tr class="markdownTableRowEven"> <td class="markdownTableBodyNone"> **Lecture** \ilinebr </td> <td class="markdownTableBodyNone"> Demande de la valeur d’un paramètre \ilinebr </td> <td class="markdownTableBodyNone"> 'g' param\ilinebr </td> <td class="markdownTableBodyNone"> g 10` |
Si param >= 255
, un octet d’extension est ajouté :
**Get étendu** :
'g' 255 (param-256)`Cette approche permet d’adresser jusqu’à 512 paramètres par cartouche tout en restant compatible avec le protocole original XVA1.
size_t cart_proto_build_get | ( | uint16_t | param, |
uint8_t | out[4] | ||
) |
Construit une trame binaire pour une commande “get param”.
Construit une trame “get param” prête à envoyer sur UART.
Encode la commande dans un buffer out[]
au format du protocole Cart Bus :
param < 255
→ ‘'g’ param<tt>(2 octets)→
'g' 255 (param-256)` (3 octets)param | Identifiant du paramètre à lire (0–511) |
out | Buffer de sortie (min. 4 octets) |
size_t cart_proto_build_set | ( | uint16_t | param, |
uint8_t | value, | ||
uint8_t | out[4] | ||
) |
Construit une trame binaire pour une commande “set param value”.
Construit une trame “set param value” prête à envoyer sur UART.
Encode la commande dans un buffer out[]
au format du protocole Cart Bus :
param < 255
→ trame courte (‘'s’ param value, 3 octets)
Si
param >= 255→ trame étendue (
's' 255 (param-256) value`, 4 octets)param | Identifiant du paramètre (0–511) |
value | Valeur à envoyer (0–255) |
out | Buffer de sortie (min. 4 octets) |