# SchreinSerialParser v3.0

**SchreinSerialParser** est une bibliothque Arduino haute performance conue pour l'change de donnes structures entre un microcontrleur et une interface (IHM), telle que le **Schrein UI Builder**.

## Caractristiques
- **Zro Allocation Dynamique (Heap) :** Utilise exclusivement de la mmoire statique (SRAM) pour viter la fragmentation.
- **File Circulaire :** Capable de stocker plusieurs trames en attente (`MAX_PENDING_FRAMES`).
- **Checksum XOR :** Vrification d'intgrit rapide pour les environnements industriels bruits.
- **Non-bloquant :** Conu pour tourner dans la boucle `loop()` sans interrompre les autres tches.
- **Compatible :** Arduino Uno, Mega, Nano, ESP8266, ESP32.

## Format des Trames
Le parser attend des trames au format suivant :
` <[controlName|key|value]> `
ou avec Checksum (XOR hexadcimal) :
` <[controlName|key|value]&7F> `

## Installation
1. Tlchargez le dpt.
2. Placez le dossier dans votre rpertoire `Documents/Arduino/libraries/`.
3. Redmarrez l'IDE Arduino.

## Exemple d'utilisation Rapide

```cpp
#include <SchreinSerialParser.h>

SchreinSerialParser parser(Serial);

void setup() {
    Serial.begin(115200);
    parser.enableChecksum(false); // Dsactiv par dfaut
}

void loop() {
    parser.loop(); // Analyse les donnes entrantes

    ParsedFrame frame;
    if (parser.dequeueFrame(frame)) {
        Serial.print("Commande reue : ");
        Serial.println(frame.controlName);
        Serial.print("Proprit : ");
        Serial.println(frame.key);
        Serial.print("Valeur : ");
        Serial.println(frame.value);
    }
}