11) Une modification logicielle de dernière minute.

Expérimenter le programme de la machine autonome pour rédiger le petit manuel d’utilisation ainsi que le tutoriel d’apprentissage a fait émerger un point faible non négligeable dans le programme d’exploitation. Il semblait initialement qu’afficher le résumé des options au moment du RUN était une bonne idée … qui s’avère rapidement très indigeste quand on est en train de mettre au point un algorithme. Durant cette phase on initialise les OPTIONS. Puis, chaque modification du programme est suivie d’un RUN. Avoir à cliquer une deuxième fois sur le B.P.C. pour sauter l’affichage des options devient à la fois lourd et inutile. Aussi, pouvoir suspendre cette possibilité est devenu indispensable. Hors le gaspillage de place pour afficher le portrait d’Alan TURING ne laissait que quatre octets en mémoire dédiée. Il a fallu faire des optimisations pour gagner une zone suffisante qui accepte la nouvelle option.
Ce sont encore les textes affichés qui ont été victimes et ont servi de « variable d’ajustement ». Aussi, il ne faudra pas s’étonner d’observer ici et là quelques petits détails différents sur les écrans affichés, en particulier certains accentués qui ont été éliminés car relativement boulimiques en octets.

Une option cachée.

Ajouter un Item dans le menu des OPTIONS était inenvisageable car les pages-écran sont saturées, ou la gestion d’un nouveau « poste » aurait été trop boulimique en octets de programme. Une autre stratégie a été adoptée, au détriment de la cohérence des menus. Ce n’est pas important, car à mon sens cette option cachée ne sera utilisée que rarement pour valider l’affichage du résumé des options qui n’est vraiment utile que dans des cas particuliers. Il semblait important lors du développement du logiciel, mais une fois que ce dernier est aboutit, on arrive assez rapidement à conclure que l’on peut oublier cette fonction. La solution adoptée pour résoudre le problème des menus consiste comme le montre la Fig.127 à utiliser la page de présentation de la version du logiciel dans laquelle le texte Machine de TURING est remplacé par Infos RUN et à intervertir les deux lignes d’information. (Voir le résultat sur la Fig.128.) Comme cette page-écran est disponible dans le MENU de BASE avec le BP5 elle sera facile à invoquer. Le protocole d’usage est élémentaire. En tournant le codeur rotatif on inverse OUI et NON à convenance. Quand on clique sur le B.P.C. il y a mémorisation de l’option en mémoire non volatile EEPROM puis retour au MENU de BASE. Noter que chaque fois que BP5 sera cliqué dans le MENU de BASE il y aura une écriture en EEPROM, aussi il n’est pas recommandé d’abuser de cette fonction cachée.
Pour mémoire, j’insiste sur le fait que ce logiciel n’est accepté par la carte ARDUINO NANO que s’il ne dépasse pas les 30720 octets. Si vous tentez de le transférer avec la version 1.7.9 la compilation ne sera pas acceptée. Il faut une version au moins égale à la 1.8.0 que j’utilise actuellement sous WINDOWS VISTA. Bien plus optimisée que les anciennes elle compacte le logiciel d’environ 10% ce qui est considérable quand on cherche désespérément de la place. Comme nous avons dilapidé à outrance dans les graphismes, et en particulier pour le portrait d’Alan TURING, on peut constater sur la Fig.130 qu’il ne aucun octet non utilisés en SDRAM programme. Coté rendement on reste parfaitement « crédible ». Contrairement à l’alerte en orange du compilateur relative aux 502 octets restant pour les variables locales, rassurez-vous, c’est largement suffisant et il n’y aura aucun problème.

La suite est ici.