*Title: Module AVR Protocole série *Author: Ni * Principe Ce module s'occupe de gérer le protocole de communication sur une ligne de type port série. Il propose un service de décodage et un service d'encodage. Pour utiliser le décodage, il suffit d'appeler une fonctions à chaque caractère reçu. Si une commande a été reçu, ou en cas d'erreur, elle appelle une fonction définie par l'utilisateur avec pour paramètres les informations sur la commande reçue. Pour utiliser l'encodage, il suffit d'appeler une fonction émission avec les paramètres que l'on veux envoyer. * Protocole Le protocole de communication est basé sur des trames. Chaque trame commence par un point d'exclamation et se termine par un retour chariot. Tout ce qui n'est pas entouré de ces caractères est ignoré. Le point d'exclamation est directement suivi de la commande. La commande est un caractère alphabétique minuscule ou majuscule. Après la commande vient une liste de d'arguments séparés par des virgules optionnelles. Les arguments sont codés en hexadécimal, sur un ou deux octets en fonction du réglage à la compilation. Par exemple : ^<< !z !v03,f5 !c0094,ffa8 ^>> * Utilisation On appelle d'abord la fonction d'initialisation avec en premier paramètre la fonction callback (qui est appelée en cas de décodage réussi ou en cas d'erreur), et en second paramètre la fonction de sortie (appelé avec en paramètre le caractère à sortir). Pour chaque caractère reçu, on appelle |proto_accept|. Pour envoyer des commandes, on utilise les fonctions |proto_send...|. * Doc *File: proto.exd