02) Architecture logicielle de notre petit projet.

Banalement ordinaire, le programme sur décision arbitraire sera écrit en C++ et sera logé dans les circuit interne d’un ATmega328. La carte électronique sera une Arduino NANO pour des raisons de faible encombrement et de disponibilité. C’est pour avoir le plaisir de programmer avec l’IDE

que nous avons décidé de loger le compilateur à l’extérieur du P.C. sur lequel nous aurions aussi bien réalisé le programme en langage Python par exemple. C’est un choix totalement arbitraire. Nous allons réaliser un programme qui recevant des données en langage « humain » effectuera la transposition en un langage « machine » que l’on nomme langage gco. Il s’agit bien d’un compilateur car il traduit du texte « humain » en « programme » directement assimilable par une machine pyrograveuse. Comme ce programme n’est pas écrit un gco, c’est donc un cros compilateur. La chaîne de programmation subit une petite mutation montrée en Fig.3 car le compilateur n’est plus interne à la machine (Ici il s’agit d’un ordinateur P.C.) qui établit le dialogue avec l’utilisateur.

Protocole d’utilisation du système.

Dialogue Homme / machine oblige, on ne limitera pas lors des échanges entre le P.C. et Arduino à fournir du texte et attendre en retour un résultat de type « lignes de code gco. Les possibilités opérationnelles seraient d’une pauvreté tristounette. Le dispositif présentera des options séduisantes comme le choix de différentes tailles de texte, possibilité d’encadrer etc. Qui dit options, implique la faculté d’envoyer des consignes à Arduino, ce dernier accusant réception, comme tout système électronique dialoguant avec un utilisateur, signalant des erreurs, des problèmes potentiels …
L’opérateur a branché la carte Arduino NANO contenant le programme d’exploitation du compilateur sur une ligne USB de l’ordinateur. Puis, on active l’IDE en ouvrant un nouveau « Sketch » ou un programme.ino quelconque, le but étant d’activer le Moniteur avec sa commande . Vitesse de transmission correcte sur la ligne USB, le dialogue commence et peut ressembler à ce que montre la Fig.4 qui résulte d’une copie d’écran retravaillée pour en minimiser la largeur. Dans la ligne de saisie 1 qui constitue un éditeur de texte élémentaire, nous avons proposé un texte à compiler. Suite à chaque saisie un petit rappel des caractéristiques de l’image gco qui sera générée est affiché en 2. Comme nous avons proposé un texte à traduire, le programme d’exploitation affiche en 3 ce qu’il compilera et nous demande en 4 de confirmer. Comme nous avons accepté avec la lettre ‘o‘ pour OUI, le logiciel très bavard nous précise en 5 ce qu’il va tenter de faire. Puis en 6 le compilateur est activé et retourne le résultat de son travail, à savoir des lignes de code.gco qui sur la pyrograveuse traceront les lettres qui constituent notre texte. (Lettres, chiffres, ponctuation, accentués, tout ce que la police de caractère est capable de générer.)
RÉSUMÉ : Après avoir invoqué l’IDE, on active son Moniteur. Puis, dans la petite fenêtre de saisie qui se résume à une ligne en 1 on impose des consignes ou on frappe un texte à traduire. Le Moniteur accuse réception dans sa grande fenêtre de dialogue et y affiche ses comptes rendus, ses réponses etc.

 

La suite est ici.