Développer un logiciel n’a rien à voir avec un processus linéaire. Au fur et à mesure de l’implantation des fonctions, le code enfle et le risque d’interférences entre les procédures « explose ». On effectue de très nombreux tests avec une « campagne de vérifications » bien charnue. Puis, par la suite, une idée nouvelle surgit, et on améliore une routine sans se rendre compte qu’elle présente un « effet de bord » avec une autre fonction « éloignée ». Par exemple dans le menu BARILLET on améliore l’affichage graphique du carrousel INITIAL. Satisfait du résultat, on passe à la suite, c’est à dire aux OPTIONS, car il y a bien longtemps que les fonctions du RUN sont au point. Mais il se trouve que l’exécution de l’algorithme utilise la même procédure d’affichage graphique à quelques variantes près. La modification dans « BARILLET » a introduit une vermine dans l’affichage en mode RUN. On ne s’en rendra compte que lorsque cette fonction sera à nouveau utilisée. Donc, tout semble fonctionner à la perfection. Du coup on passe au didacticiel et enfin au tutoriel. C’est la phase la plus prolifique en détection de problèmes. C’est précisément durant l’élaboration de TUTORIEL.pdf que surgissent les dernières vermines, car on passe en revue l’intégralité des fonctions et OPTIONS. Aussi, la probabilité qu’un ultime « bug » passe à la trappe est faible. Aussi, cette dernière facette du didacticiel a révélé des « misères » qui naturellement ont été corrigées. Aussi, il ne faudra pas vous étonner que la date de la version actuelle du programme difère de celle en Fig.3 du petit MANUEL. et que certains détails dans les affichages soient un peu différents des photographie du tutoriel.
Le programme P17_Machine_PERSONNELLE.ino.
Durant la rédaction du tutoriel, en particulier en page 23 ou une « erreur » de programmation nous a obligé à remplacer les G par des D et réciproquement l’idée de plus a surgi. C’est assez long à faire et sur la version MINIMALE une fonction s’en chargeait de façon automatique. Aussi, j’ai estimé que cette dernière était bien plus utile que celle qui permet de vérifier les lignes de programme NON utilisées. J’ai alors décidé de me faire un programme personnalisé dans lequel j’ai enlevé la fonction peu utile pour gagner de la place, et introduit dans OPTIONS > Analyse la nouvelle aide Permuter G et D. Il se trouve que cette dernière est nettement moins boulimique en octets que celle qui a été enlevée. Du coup j’ai ajouté à l’existant les diverses petites améliorations suivantes :
• Durant le mode RUN les affichages ont été simplifiés, car les multiples possibilités s’avéraient au final à la fois inutiles et peu commodes. Maintenant quand on tourne le bouton du codeur rotatif il n’y aplus que les trois options Graphique / GRILLE et Écran noir. Quand les multiples affichages ont été implémentés, je pensais que le temps pour afficher la page-écran était fonction du contenu alors qu’il est constant.
• Comme il restait beaucoup de place, j’ai dilapidé l’héritage. En particulier trois accentués ont été ajoutés.
• RAZ du BARILLET retourne directement au MENU de BASE, car afficher la GRILLE obligeait à un clic de plus alors que l’information apportée n’était pas pertinente.
• Pour consommer des octets le petit cadre qui indique la référence de l’algorithme actuellement en mémoire a été doublé pour faire beau. (Et oui, l’opulence pousse à l’orgie.)
• Comme les 30720 octets n’étaient pas encore tous consommés, une dernière action boulimique a été tentée pour gaver l’ATméga328. Le BP4 quand on est en MENU de BASE fait afficher la place de la mémoire dynamique qui reste entre la PILE et le TAS. C’est un outil pour les programmeurs qui sur notre machine n’apporte rien de plus à la qualité opérationnelle. Et pourtant … Il reste encore 20 octets de non utilisés, et je n’ai plus d’idée pour les consommer !
Logiquement il serait sage de considérer que cette version P17 soit celle officielle, mais il faudrait alors reprendre sérieusement le didacticiel et le tutoriel. Franchement je n’en ai pas le courage, prétextant que cette version ultime ne fait qu’ajouter une nouvelle fonction facile à utiliser. Il suffit de l’invoquer, de tourner le codeur rotatif pour avoir à votre choix OUI ou NON et de cliquer deux fois sur ce dernier pour revenir au MENU de BASE. En conclusion, je vous suggère de commencer par téléverser le programme « officiel » P16, de faire toutes les expériences du TUTORIEL. Puis, vous téléversez la version P17, vous la testez et enfin vous décidez de la conserver ou de reprendre P16.
Quoi qu’il en soit, je souhaite que ce didacticiel et ce tutoriel sur la Machine AUTONOME vous aura séduit et pourquoi pas vous incitera à franchir le pas. Bien que ce soit déjà précisé dans plusieurs documents, si vous rencontrez un problème : michel.droui@laposte.net
la suite est ici.