Generic Purpose Input Output Digital & Analogic. Ce service a pour but de fixer des valeurs binaires ou numériques sur des sorties ou de récupérer des valeurs binaires ou numériques sur des entrées électroniques.
Ce service peut recouvrir plusieurs réalités physiques selon le type de carte périphérique que pilote le microcontrôleur. Donc on peut avoir à faire à plusieurs programmes adaptés mais relativement simples. Ce qui compte c'est qu'un langage commun les fasse fonctionner sans demander à l'utilisateur de les connaître précisément (quoique cela ne fasse jamais de mal). Je n'attends pas de ce service, de grosses performances temps réel.
Les fonctionnalités de cette famille de sous-systèmes sont :
Exemples de commandes et de cas d'erreurs:
Requete du client | Réponse du serveur |
SET; | CMD KNOWN;NO PARAM; |
GET; | CMD KNOWN;NO PARAM; |
PBA; | UNKNOWN COMMAND; |
RESET; | CMD KNOWN;EXECUTED; |
GET;SKILL; | CMD KNOWN;NO PARAM;SKILL:OUT=1,8;STATE=0,1;OUT=9,16;STATE=0,4096;IN=0,7;STATE=0,1;OK; |
SET;OUT=3;SECU=0;STATE=1; | CMD KNOWN; |
GET;IN=7; | CMD KNOWN;STATE=1; |
SECU; | CMD KNOWN;EXECUTED; |
SET;OUT=4;SECU=0;STATE=415; | CMD KNOWN; |
SET;TRACE=1; | CMD KNOWN; |
GET;VER; | CMD KNOWN;NO PARAM;Service:gpioda-V1.00-gerald.mauboussin@gmail.com; |
A propos de l'usage des majuscules... Deux Ecoles :
( Je ne suis ni pour, ni contre ! Bien au contraire ! ... c'est politique ! rien de logique, c'est juste une question de sensibilité :-)
Le serveur TCP accepte au maximum 100 connexions par secondes.
La définition du langage de commande de ce service n'implique pas qu'il n'y ait qu'une seule solution pour réaliser ce service, compte tenu du nombre et de la variété des cartes d'Entrées / sorties. Le role de la commande GET;SKILL; est justement de retourner les capacités du sous-système pour en connaitre les limites.
La première solution mise en oeuvre intègre :
La carte relais I2C mérite une petite description:
Dans les grandes lignes, la mise en oeuvre de l'I2C sur Rasbian passe par ces étapes:
Du fait que les messages de commandes passent sur protocole TCP, beaucoup de possibilités s'ouvrent :
Et puisque ces IHM sont communes à tous les services du télescope, cela fera l'objet d'une page à part.
Contactez moi pour vos remarques ou les erreurs qui se seraient glissées dans cette page.
mailto:gerald.mauboussin@gmail.com
Copyright 2015- 2016. Cet article ne peut être reproduit totalement ou partiellement sans le consentement de son auteur.