Serial Commands¶
- Auteur
J.Soranzo
- Association
Bricolab
- Entity
- dépôt Bitbucket des sources doc
https://bitbucket.org/myarduinotemplates/docsource/src/master/
- Dépôt BitBucket du code
- Création
05/2024
Présentation¶
Il s’agit d’un petit interpréteur de commandes simple.
Je l’ai découvert dans le cadre du projet jamais terminé : Le petit train du VoLAB 2
Et plus particulièrement DccPlusPlus 4 de Gregg E. Berman dont le site semble-t-il a disparu. On peut néanmoins citer le projet DCC-EX 3 qui découle de ses travaux. DCC++ n’est aujourd’hui plus maintenu.
J’ai utilisé cette base à maintes reprises dans mes projets car elle est simple à mettre en oeuvre…
Elle consiste principalement en 2 fichiers :
SerialCommand.cpp
SerialCommand.h
Auxquels, je me suis permis d’en ajouter un troisième SerialCommandHelpMessages.h. Un des derniers exemple de mise en oeuvre de ce modèle peut être trouvé sur le projet BrasRobot avec interface WEB - travaux 2023 5
C’est ce mini interpréteur de commande qui fait l’objet du présent article.
Mode d’emploi¶
Implémentation¶
Cet interpréteur est basé sur 3 fonctions static d’une structure en C:
init()
process()
parse()
Comme il s’agit de méthodes statiques pas besoin d’instancier la structure. L’appel de ces méthodes se fait par SerialCommand::init(); et SerialCommand::process();
Même si 3 fonctions sont disponibles seules 2 sont à utiliser dans le code init et process. Parse qui est la fonction principale qui fait quasiment tout le boulot est appelée par process.
Utilisation¶
Les commandes:
Elle sont constituées d'une seule lettre encadrée des caractères < >. Exemple : <H> pour help.
Ces commandes peuvent avoir des paramètres séparés pas des espaces. Dans le dépôt du code, j’ai laissé des exemples de commandes avec paramètres notamment la commande <M 1 2> à 2 paramètres.