58) 29/01/2018 : Changement de la carte des menus (MJD 58147)

Planning remis en cause, les informaticiens sont sollicités par les personnes qui ont testé les consoles de maîtrise de la mission. Globalement la satisfaction domine. Cependant il ressort de la concertation, que manifestement le menu EXPLOITER est bien trop encombré. Plusieurs opérateurs ont émis le souhait de prévoir un chapitre particulier pour y regrouper tout ce qui concerne l’apprentissage. Le cahier des charges fonctionnel a donc été revu, il comporte un nouveau chapitre APPRENDRE dont la touche d’appel sera permanente comme pour les autres menus. À l’unanimité les ingénieurs en charge de JELERT ont estimé que la fonction « Libérer les efforts » pouvait fort bien se voir déclenchée par le BPccr quand le menu des POSTURES est actif. C’est très facile d’accès et rapide, cette idée rend tout à fait commode cette fonction motrice souvent sollicitée.

Les interruptions : Le retour.

Infiniment plus agréable à l’usage, la prise en compte de la rotation du codeur incrémental par interruptions est réintroduite à partir de cette version et ne sera plus remise en cause. Plus logique qu’un traitement par sondage dans la boucle principale du programme, elle présente de nombreux avantages. Par exemple si on tourne le codeur pendant que le programme n’est pas disponible et attend un accusé de réception sur la ligne RX, l’action de l’opérateur est détectée et mémorisée. Dès que l’esclave rend la main à la raquette, l’action de l’opérateur est alors prise en compte. Autre avantage, cette technique fait prendre en compte deux pas sur le codeur. C’est à dire que si on tourne rapidement le bouton, on voit que deux items seront affichés successivement à l’écran. Nous avions abandonné cette technique, car les composants « bas de gamme » approvisionnés présentaient trop d’aléas de fonctionnement. Ayant craqué pour un élément à 4.35€ port non compris, plus coûteux que ceux vendus par cinq, cette fois la qualité au rendez-vous. Le pupitre de JEKERT méritait cet effort financier, son utilisation étant incomparablement plus agréable.

Une LED rouge de plus sur l’arbre de Noël.

Saturer toutes les broches de l’ATmega328 n’est pas un but en sois. Ceci dit, il restait encore une broche de disponible avec A0. L’expérience montre que le mode apprentissage étant engagé, mis à part le fait que les instructions valides sont inscrites en EEPROM, il ne se passe rien de visuel. Trop discret, surtout si sur JEKERT le mode « économie d’énergie » est validé et que les LEDs sont coupées, l’opérateur oublie que la machine espionne et enregistre les dialogues avec le pupitre. Aussi, une LED rouge dédiée est ajoutée à l’ensemble et pilotée par l’entrée analogique A0 qui pour la circonstance est initialisée en sortie binaire.

Refermons cette parenthèse, il est grand temps de concrétiser. Nous changeons de version en téléversant P21L_Démonstrateur_Raquette.ino et P22L_Démonstrateur_Sonde.ino sur les deux cartes NANO Arduino. Cette version est encore relative à une ancienne répartition des textes en EEPROM. Aussi des petites verrues du genre JEKERTShiberne viendront « crabouiller » certains écrans … la routine. Nous savons que sur la version ultime qui n’est plus très éloignée, l’écriture sera soignée. Enfin, tournez le codeur incrémental. Si votre composant génère un « sens inversé », permutez les broches CLK et DT, nous sommes parés pour tester cette nouvelle mouture qui apporte des améliorations opérationnelles significatives.

Faire le ménage dans le logiciel version L de la raquette de commande.

Conformément aux nouvelles clauses du cahier des charges fonctionnel, la touche S10 du clavier devient celle d’appel du menu APPRENDRE et sera disponible quel que soit le menu actif sur le pupitre de commande. Réserver un menu allège considérablement le travail de l’opérateur car le menu EXPLOITER était trop encombré. Par ailleurs, regrouper toutes les commandes du même type va forcément dans le sens de la simplification. Lorsque le menu APPRENDRE est actif, le BPccr sert à activer ou à éteindre la LED SÉCURITÉ évitant les anciennes navigations entre les menus chaque fois qu’une erreur E12 était affichée dans le petit cadre des accusés ACR, obligeant ensuite à balayer à nouveau les items pour retrouver la fonction souhaitée. Au point de vue qualité opérationnelle, le nouveau programme fait un bon en avant considérable. Faisons le ménage dans le logiciel :
• On peut activer le menu APPRENDRE alors que l’apprentissage est déjà ouvert sur JEKERT.
• L’activation du mode Apprentissage sur JEKERT n’impose pas la sécurité car on ne fait qu’ajouter du code à celui qui existe, (Sauf si erreur n°14.) donc pas de risque d’effacer par erreur.
• L’item EDITION n’est plus utile puisque on peut activer le mode enregistrement à tout moment et ce dernier fait exactement pareil que l’ancienne fonction Editer le PGM.
• On peut enregistrer un programme alors que JEKERT est en hibernation ce qui sur le plan de la théorie est séduisant. L’apprentissage se fait au minimum de consommation d’énergie.

• Dans cette version, la fonction « LIBÉRER LES EFFORTS » s’obtient avec le bouton central du codeur rotatif quand on est en menu des POSTURES.
Le menu APPRENDRE ouvre sur la page montré en Fig.304 sur laquelle on voit dans le cadre jaune le titre qui lui est affecté. Compte tenu du manque de place on a un peu compacté sous forme d’un mnémonique.

L’apprentissage s’enrichit d’une nouvelle fonctionnalité.

Faisant peau neuve, la possibilité de chaîner plusieurs programmes chamboule fortement les possibilités opérationnelles. Il sera maintenant possible de réaliser toutes les combinaisons possibles en taille de programme entre 30 et 270 instructions. Un programme étant indexé, quand on va valider son exécution, on aura au préalable initialisé une variable indiquant combien de blocs successifs devront être parcourus. La Fig.305 présente un exemple de ce qu’il est possible d’agencer dans l’éventail de la combinatoire offerte par cette nouvelle option. Dans l’exemple A nous avons un premier programme de 43 instructions, un qui suit de 34 instructions etc. Dans l’exemple B on trouve un premier programme de 56 instructions suivi d’un gros bloc de 267 codes obtenu par le chaînage de sept modules. La plus grande séquence possible sera forcément de neuf fois 30 codes, soit les 270 annoncés ci-avant. Pour construire un gros programme, on ne peut que procéder par des apprentissages bloc par bloc. Sur les exemples A et B les blocs qui débutent les séquences sont saturés à 30, ce qui va dans la logique d’une optimisation. Cependant, rien n’interdit de chaîner des paquets incomplets, l’exécution n’utilisant que les codes enregistrés. C’est dans ce contexte de « panachage » qu’il sera séduisant de pouvoir transférer un paquet à convenance.
Ainsi on va mettre dans l’ordre des séquences déjà au point mais réparties un peu au hasard en EEPROM. Ouvrir le menu APPRENDRE puis faire tourner le BPccr de trois pas en sens antihoraire fait afficher l’item de la Fig.306 qui validé par OUI indique en 1 le nombre mémorisé. (Par défaut il est initialisé à un.) La SÉCURITÉ doit être activée. La sortie de la saisie qui se fait avec le BPccr dans un sens ou son contraire s’achève impérativement avec la touche FIN. La LED jaune qui clignote nous évite de l’oublier. Chaque fois qu’un chaînage est déclenché, les N blocs vont être déroulés. À la fin, qu’il se produise une erreur ou pas, la valeur du nombre de chaînages est forcée à 1 et SÉCURITÉ est éteinte.

La suite est ici.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *