La syntaxe des instructions est emprunté au langage C, mais le résultat de la compilation
n'est pas un exécutable classique, mais un "composant" temps réel qui va s'intégrer
dans le fichier .HAL de linuxcnc qui comprend toutes les parties hard de la CNC
A partir de ce composant, se "branchent" des entrées et des sorties qui sont déclarées
au début de son code avec le mot " pin " . ces pin vont se brancher sur la 7i77
par exemple, mais aussi vers d'autres composant de .HAL.
Quand on charge se composant au début du fichier .HAL on lui alloue aussi une tache
temps réel ici avec calcul flottant. Le composant actuel est rafraîchi toutes les 500 ns.
Voilà les sources de la majorité des composants standards fourni avec linuxcnc
des très simples et des très complexes ...
le format .comp est le plus simple, il est compilé d'abord en .c avec un compilateur
spécial à linuxcnc qui va lui rajouter tout un environnement, puis installé au format .ko
http://git.linuxcnc.org/gitweb?p=li...1497279620df040166ae4b9a828525e5110e9;hb=HEAD
les GPIO de la 7i77 sont en collecteur ouvert
En rajoutant les led, je verrais un code comme ça, pas de boucles, un test led par led
comme plusieurs peuvent être allumées en même temps...
Voir la pièce jointe realkeyb_comp.txt
Je déclare un tableau de variables pour pouvoir les lire individuellement
avec une boucle for, mais je peux aussi sortir toutes les valeurs du tableau
pour identifier une combinaison particulière (commutateur par exemple).