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é
|
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)
No Comments