Stratégie de développement.

Nouvelle approche pour l’exploitation et les menus.

Après avoir cheminé dans le monde émoustillant du graphisme, il nous faut oublier un peu la construction d’un LOGO qui n’est qu’un modeste artifice de présentation, et se recentrer sur notre objectif principal : Réaliser un tout petit laboratoire. Pour bien vous persuader qu’une solution quelle qu’elle soit n’est jamais figée et peut systématiquement conduire à des variantes où à des approches différentes, dans cette version de l’appareil de mesures l’exploitation du MENU est assez différente de celle du MINI LABORATOIRE.
• Comme dans le logiciel précédent, pour toutes les fonctions émulées de base ou « anciennement bouclées », on passe à la suivante ou la précédente par une action « courte » sur FC+ ou FC-(Environ 0,5S.) Une action longue d’au moins deux secondes ramène à l’option n°1.
• Il n’y a plus de fonction bouclée avec confirmation pour y entrer.  À partir de l’item Fréquencemètre, on passe à la fonction suivante avec FC+ long, (2 secondes au moins.) et  à la fonction précédente avec FC- long. (2 secondes au moins.)
• Cas particulier de l’oscilloscope : L’entrée dans son menu local pour les options se fait avec FC- court. Durant la saisie des options, on passe à la page suivante ou au retour en exploitation avec la touche FC+ long. (2 secondes au moins.) FC- long valide la valeur potentiométrique. FC+ court inverse l’option « du haut » et FC- court celle « du bas ».

RESUMÉ : Pour toutes les fonctions de base, FC+ et FC- court font passer à la fonction suivante ou précédente. Une action longue ramène à la fonction n°1.
Pour les anciennes fonctions bouclées, FC+ et FC- long (2 secondes au moins.) font passer à l’ancienne fonction « bouclée » suivante ou précédente et il n’y a plus la demande de confirmation.

Comme le MINI LABORATOIRE donne pleine satisfaction, ses diverses fonctions peuvent être considérées comme déverminées. Globalement il suffit d’en réutiliser le « code actif ». Seule la présentation des données sur l’écran LCD est à reconsidérer. Puisque la définition de l’afficheur est bien plus importante que celle du « classique LCD alphanumérique », pour simplifier grandement le MENU de base et agrémenter le confort d’exploitation, une nouvelle approche consiste à présenter simultanément la donnée sous forme analogique et en version numérique. La rampe analogique s’observe très bien à distance même si elle est de faibles dimensions. De plus, certains vont probablement considérer que le mode d’affichage numérique est plus « actuel ». Pour tenir compte de ces deux remarques, globalement la zone orange sera dédiée à l’information analogique ou au titre, alors que « le cadre bleu » sera dévolu à l’affichage numérique. Ce dernier sera présenté en grands caractères, (Voir Fig.56) sauf si la mesure engendre plusieurs valeurs simultanément. (Comme sur la Fig.57)

Stratégie de développement des fonctions du PICOLAB.

Nombreuses sont les fonctions dont il faut reprendre le code pour en adapter le comportement et l’affichage. Nous savons qu’ajouter des séquences à un programme complet engendre des délais de compilations et de téléversements de plus en plus importants incompatibles avec une bonne efficacité du programmeur. C’est la raison pour laquelle un petit programme  rangé dans le dossier <OUTILS> va nous simplifier considérablement la tâche et sera à employer chaque fois que vous désirez créer des fonctions personnelles pour votre PICOLAB. Noyau_Developpe_PGM.ino contient un pseudo MENU de base pour imposer à la fonction en cours de développement une indépendance modulaire totale et en vérifier le comportement en entrée et en sortie. Sont ajoutées au fur et à mesure des études les procédures de servitude, ainsi que la déclaration de toutes les variables du programme complet. Il est ainsi possible de réutiliser certaines d’entre elles pour minimiser l’occupation de la mémoire dynamique.

Utilisation du module de développement.

Pour ne pas « polluer l’original qui doit rester minimaliste » on commence par ouvrir un croquis nommé DEVELOPPEMENT.ino par exemple et l’on y loge le contenu actuel de Noyau_Developpe_PGM. Puis on crée la nouvelle fonction dont le MENU simplifié permet de tester le comportement à son appel. On ajoute à convenance des procédures de servitude, des constantes paramétrées, de nouvelles variables. Quand la fonction est bien au point, on l’intègre alors dans le programme complet ce qui impose d’en étendre le MENU.

Adaptation des comportements et des affichages des fonctions de base.

Avant de développer la fonction OSCILLOSCOPE numérique qui sera très différentes de celle du MINI LABORATOIRE, on va reprendre « rapidement » les fonctions de mesures « standard » et de génération de signaux divers. Globalement la mutation consiste à afficher sur l’écran

la donnée en analogique et en numérique, et à gérer différemment les deux touches du clavier. La préoccupation permanente sera l’optimisation de la consommation en variables dynamiques et chercher à minimiser au maximum les durées des séquences d’affichage. Le problème vient du fait que :
• L’effacement complet de l’afficheur OLED s’octroie une durée significative, car la procédure fait passer à « noir » et individuellement l’intégralité des 8192 bits de la mémoire d’écran. Cette approche impose une multitude d’échanges par l’I2C. (La durée reste faible, mais trop importante pour permettre un rafraichissement fluides des données.)
• Toute écriture alphanumérique surcharge les pixels déjà allumés. Donc, avant de procéder au rafraichissement d’un texte il faut « effacer » au préalable la surface qu’il occupe.
La technique consiste à effacer entièrement l’écran lors de l’entrée dans la fonction. Puis on procède à l’affichage des cadres et des textes permanents. Chaque fois qu’une mesure est réitérée, comme mis en évidence en rouge sur la Fig.58 on efface entièrement le « ruban » analogique 1 et la zone de texte 2. Pour ce faire on se contente de tracer des lignes « BLACK » de façon à couvrir entièrement les zones à éteindre. Plus la zone à effacer est étendue, plus l’extinction prendra du temps. Mais c’est toujours moins lent qu’effacer tout l’écran avec l’instruction display.clear();. Ensuite on retrace le ruban analogique à la bonne longueur et l’on réécrit la nouvelle valeur numérique en 2 à la bonne taille. Ne pas oublier display.update(); qui valide l’écran.

>>> Page suivante.

Laisser un commentaire

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