diff --git a/Writerside/topics/Pilotage-PCB-Actionneurs.md b/Writerside/topics/Pilotage-PCB-Actionneurs.md index 1b23a58..10b8d50 100644 --- a/Writerside/topics/Pilotage-PCB-Actionneurs.md +++ b/Writerside/topics/Pilotage-PCB-Actionneurs.md @@ -11,28 +11,42 @@ - Désarmer la tirette - Activer/désactiver le relai (qui alimente les solénoïdes) - Faire tourner le servo vers un angle +## Evenements envoyables à la raspi +- Activation de la tirette si armée +- Appui sur un bouton +- Activation d'un capteur ## Protocole de communication La communication se fait en USB CDC ### Récupération d'une donnée par la raspi : GET;XXXX;YYYY\n avec XXXX l'élément du PCB concerné et YYYY la donnée demandée dans la liste suivante : -- ASC;POS pour récupérer la position de l'ascenseur ('low', 'climb', 'high', ou 'desc') +- ASC;POS pour récupérer la position de l'ascenseur (renvoie le numéro de position prédéfini par l'utilisateur (le x de POSx dans la commande SET)) - SERVOn;POS pour récupérer la position du servo n (renvoie le numéro de position prédéfini par l'utilisateur (le x de POSx dans la commande SET)) - RELAYn;STATE pour récupérer l'état d'un relai (1 = activé, 0 = désactivé) avec n l'id du relai (1, 2 ou 3) ### Réponse du PCB à une demande de donnée SET;XXXX;YYYY;val avec XXXX et YYYY identiques à la commande GET et val une valeur dans l'unité ou la plage de valeurs convenue. ### Modification d'une constante par la raspi : SET;XXXX;YYYY;val avec XXXX l'élément du PCB concerné, YYYY la donnée à enregistrer et val la valeur dans la liste suivante : -- ASC;HIGH;val (valeur en mm de hauteur de la position haute de l'ascenseur) +- ASC;POSx;val (valeur en mm de hauteur de la position haute de l'ascenseur) - SERVOn;POSx;angle (valeur de l'angle de la position d'un servo moteur en radians avec n et x des nombres (id du servo et de la pos de ce servo)) +- SET;TIR;ARM;val (1 pour armer la tirette si le robot est prêt, 0 pour désarmer la tirette) ### Réponse du PCB à la modif d'une constante OK;XXXX;YYYY;val avec XXXX, YYYY et val identiques à la commande SET pour valider une commande effectuée. KO;XXXX;YYYY;val pour une commande échouée ### Déclenchement d'une action par la rasp MOV;XXX;YYY -- ASC;HIGH pour mettre l'ascenseur à l'étage haut -- ASC;LOW pour mettre l'ascenseur à l'étage bas +- ASC;POSx pour mettre l'ascenseur à la position x - SERVOn;POSx pour mettre le servo n à la position x -- RELAY;x avec x vaut 1 ou 0 pour activer ou désactiver des sorties +- RELAYn;x avec x vaut 1 ou 0 pour activer ou désactiver des sorties ### Réponse du PCB au déclenchement d'une action OK;XXXX;YYYY avec XXXX et YYYY identiques à la commande MOV pour valider une commande effectuée. -KO;XXXX;YYYY pour une commande échouée \ No newline at end of file +KO;XXXX;YYYY pour une commande échouée +### Envoi d'évènement par le PCB +Le PCB peut envoyer des informations à la rasp sans répondre à l'une de ses requêtes de la sorte : +EVENT;XXX;YYY avec XXX l'évènement et YYY une info complémentaire +- TIR;START pour une tirette armée actionnée par l'utilisateur +- TIR;ARM pour signaler un appui bouton sur le panneau de commande demandant l'armement de la tirette +- TIR;DIS pour signaler un appui bouton sur le panneau de commande demandant le désarmement de la tirette +### Réponse de la rasp à un évènement du PCB +Si la rasp ne répond pas à l'envoi d'un évènement par le PCB celui ci sera renvoyé jusqu'à recevoir une réponse +- OK;XXX;YYY pour un message pris en compte par la rasp, XXX et YYY identiques au message EVENT correspondant +- rien sinon \ No newline at end of file