25) Changement de programme !

Rédigeant le message secret rose du dernier chapitre, j’ai été obligé de m’y prendre à plusieurs reprises, car j’oubliais un accentué ou une virgule etc. Par ailleurs, je n’ai pas vraiment respecté les protocoles car j’ai doublé d’un ‘E‘ des accentués comme le ‘é‘ par exemple, alors que dans les directives de l’époque seuls ‘ä‘, ‘ö‘ et ‘ü‘ étaient concernés car très fréquents en allemand. Aussi, vu qu’il nous reste de la place à gaspiller, j’ai trouvé utile d’ajouter la commande ‘u‘ dans le Menu de base pour nous aider dans ce type de manipulations si on désire vraiment respecter les consignes de l’époque. Le programme P13 a été remplacé par P14_Respect_des_PROTOCOLES.ino dans lequel la COMMANDE ‘u‘ a été ajoutée et remplacera avantageusement son « frère d’arme ». La nouvelle fonction se charge de :
• Remplacer la virgule par ‘Y’ et le point final par ‘X’.
• Remplacer le « ch » par ‘Q’.
• Remplacer ‘ä’, ‘ö’ et ‘ü’ respectivement par « AE », « OE » et « UE ».
• Supprimer les ESPACES.
ATTENTION : La nouvelle fonction ne gère pas :
• Doubler les noms propres.
• Remplacer les chiffres et les nombres par leur équivalents en toutes lettres.
MANIPULATIONS :
01) Téléverser P14 dans l’ATmega328 et ouvrir le Moniteur de l’IDE : Dans le Menu de base vous pouvez observer la nouvelle commande ‘U‘ ou ‘u‘.
02) À votre préférence imposer ‘b‘ si vous désirer le bruiteur.
03) Envoyer la commande ‘u‘ : Le programme attend une chaîne inférieure à 61 caractères
04) Commencer par le texte « Bonjour, tout va bien. On ne va rien changer.« . (Penser à ce bon vieux Copier / Coller.)
La Fig.111 présente le résultat. Dès que l’on a soumis le ‘u‘, le titre en violet s’est affiché, complété par le texte d’invite jaune. Puis, la saisie étant terminée, P14 précise par le texte orange la nature du texte bleu encadré par des crochets. S’il n’y a pas de caractère illégal, le tout est alors suivi de l’équivalent dans la zone verte. Les espaces ont été supprimés et en rouge on peut noter les changements effectués.
05) Maintenant proposer ‘u‘ suivi de « cdefhéèêàîôû ä ö ü. » pour constater l’effet sur les accentués.
Dans cet exemple dont la Fig.112 montre le résultat, les accentués « français » dans la zone rose ont simplement étés remplacés par leurs équivalents simples. Le ‘C’ non suivi de ‘h‘ et le ‘H’ non précédé de ‘c‘ ont été conservés. Le point final est remplacé par ‘X’ et surtout, les trois lettres avec des trémats ont été affichées sans ce dernier (Et coloriées en vert ».) et complétées par le ‘E‘.
06) Poursuivre par ‘u‘ et le texte « aaa1bbb » : Le BIP sonore attire notre attention. Seul le texte qui précède l’erreur est converti. Comme ici l’erreur est le chiffre ‘1‘, il est converti en ‘&‘ pour faciliter la saisie des commandes. Donc P14 ne peut pas savoir si dans la réalité c’est un ‘&‘ ou un ‘1‘ qui ont été soumis au logiciel, d’où les deux caractères qui signalent l’intrus.
07) Tester avec ‘u‘ et « aaa&bbb » : Même comportement.
08) Enfin, proposer une erreur simple comme « aaa456bbb » sans oublier au préalable le ‘u‘.
Quand un caractère illégal est rencontré, la transposition s’arrête immédiatement, la suite du texte est ignorée. Le caractère fautif est signalé entre crochets. Il ne reste plus qu’à reprendre la suite. Si la ligne était longue, rien n’interdit dans le texte original précisé entre crochet, d’en Copier dans l’écran du
Moniteur la suite non traitée et de la Coller … en ayant éliminé le ou les caractères incorrects.
La somme abusive de 736 octets de programme et de 105 octets occupés en mémoire dynamique constituent une exagération pour une fonction qui risque au final d’être relativement peu utilisée. Mais comme je désirais rentabiliser au maximum l’ATmega328, je n’ai pas hésité une seconde à me faire ce petit plaisir. Peut être que cette fois c’est vraiment la fin !

La suite est ici.