Skip to main content

Feed-back post-installation

Il est décidé de procéder aux améliorations suivantes : 

  • Rédaction d'une liste de commande "manuelles"
  • Ajouter un capteur ultrasonique de type HC-SR04 pour Z.
  • Changer la logique de séquence : au lieu d'avoir une gestion par états côté IHM, envoyer une successions de commandes "atomiques", et attendre leur réalisation. Pour débugger cette partie, les indicateurs clignotants de l'état du banc sont restaurés et fiabilisés.

Liste des commandes reconnues par l'IHM : 

StringList cmdList = new StringList(new String[] { "S","+Z","-Z", "IZ","IX","GX", "GZ","VX","VZ","E","WT"});

soit :

Code Signification Arguments éventuels
S Stop
+Z Déplacement Z>0 (vers le haut)
-Z Déplacement Z<0 (vers le bas)
IZ Init Z Remonte jusqu'à ce que le contacteur haut soit fermé 
isUp == true
IX Init X Equivalent à GX 120
GX Go X position en mm (à partir la "tête" du banc où se situe la cale)
GZ Go Z position en mm (référence : 0 au contact en bas)
VX Vitesse X attention : non pas les vitesses mais les fréquences
VZ Vitesse Z
E Etat
WT Wait durée en secondes

Les "flags" : 

boolean isConnected = false;
boolean isBusy = false;
boolean isHoming = false;
boolean isHomingZ = false;
boolean isHomingX = false;
boolean isSequence = false;
boolean isNext = false;
boolean isReady = false;
boolean isWaiting = false;
boolean hasGoals = false;
boolean isMoving = false;  // boolean being read from messages from M5 controller
boolean isUp = false;      // boolean being read from messages from M5 controller
boolean isLeft = false;    // boolean being read from messages from M5 controller

 Parmi ces flags, 4 sont retranscrits par des messages clignotants dans l'interface :

      bkm_moving.Set(isMoving);
      bkm_ready.Set(isReady);
      bkm_waiting.Set(isWaiting);
      bkm_busy.Set(isBusy);

Le code de l'IHM modifiée : IHM_XRF_v5.pde.zip et l'exécutable pour Windows : IHM_XRF_v5.exe

Le code complété côté M5 : XRF_bench_v1.2.ino.zip

Reste à implémenter la commande ZL pour abaisser le XRF avec le nouveau capteur de distance.

(ZL serait un équivalent de GZ 0)