Bonsoir Pierre,
lapenduledargent/finemeca a dit:
Cela fait maintenant deux jours que je parcours la doc de EMC pour comprendre hal.
J'ai fait quelques exercice comme le pavé de direction (très utile):
http://linuxcnc.org/docs/html/hal_pyvcp_examples.html
Il faudra que je regarde ça de plus près!
lapenduledargent/finemeca a dit:
[...]
Que penses-tu d'une ligne comme ceci :
halui.machine.off => parport.0.pin-17-out
Heu non ça ne marchera pas! "halui.machine.off" est une "pin" de type entrée comme "parport.0.pin-17-out" (le signal sort du port parallèle). En gros si tu mets à '1' le signal "halui.machine.off" ça éteindra la machine.
Une façon simple est d'utiliser le signal (de mémoire) "program.is-running" (de type sortie) qui informe (="1") si un programme est en cours d'exécution dans un block de type "edge" (de mémoire toujours!) qui met sa sortie à '1' lorsque il détecte un front descendant '1'->'0' (par défaut) de son entrée (donc dans notre l'activité du programme dont le front descendant signifie la fin du programme). Ce signal de fin du programme est maintenant branché sur le fameux "halui.machine.off" qui demande à la machine de s'éteindre.
Lorsque la machine est en état "off" la sortie "parport.0.pin-17-out" qui est branché au signal d'activation des ampli passe automatiquement à '0'.
C'est un peu compliqué au premier abord mais demain je vais essayer de te faire un petit schéma avec le code source associé.
lapenduledargent/finemeca a dit:
Halui est une paquet de signaux bien pratique pour contrôler EMC2 pour l'utilisateur, il faut donc le rajouter dans le fichier ini (ou de préférence via le stepconf wizard en le cochant dans la dernière fenêtre).
Pour tes modifs en code hal tu as 2 solutions (par défaut) :
- Dans 'custom.hal' : typiquement le code ne nécessitant pas d'interface graphique (comme le coup d'éteindre la machine

)
- Dans 'custom_postgui.hal' : typiquement le code nécessitant une interface graphique. Ce code n'est chargé que lorsque AXIS (l'interface par défaut de EMC2) est activée et que les pyVCP (boutons, leds,...) sont chargés et prêts à recevoir des signaux.
lapenduledargent/finemeca a dit:
Maintenant comment voir la ligne parport.0.pin-17-out dans Halshow ?
http://linuxcnc.org/docs/html/hal_halshow_fr.html
"parport.0.pin-17-out" est une "pin" donc son chemin est "pin"->"parport"->"0"->"pin-17-out". De même pour le signal "halui.machine.off" "pin"->"halui"->"machine"->"off". Pour sélectionner certains signaux à visualiser il y a la fenêtre "watch" puis sélectionne le signal à visualiser sur la gauche il apparaitra dans la colonne de droite avec une petite led indiquant en temps réel l'état du signal (ou un nombre pour les pins de type entier ou nombre à virgules).
As-tu lu le guide de l'intégrateur (en ligne ou en pdf), de manière générale toute la doc est accessible sur :
http://www.linuxcnc.org/docs/2.3/ pour les versions PDF et en ligne (fr pour la version française). De quoi occuper bien des soirées!
lapenduledargent/finemeca a dit:
Non, je ne le connais que de nom mais je pense qu'il doit symboliser sous forme graphique ce que l'on fait en hal (à vérifier).
lapenduledargent/finemeca a dit:
Voilà, et un grand merci d'avance pour ton aide dans ma découverte de hal?
Bonne nuit.
Avec plaisir

, ça me fait plaisir de filer un coup de main à quelqu'un d'assez motivé pour affronter HAL pour se faire une machine aux petits oignons! Puis c'est un investissement pour moi, je suis sûr que je finirai par utiliser des morceaux de configs que tu auras faite.
Au fait lis tu l'anglais? Si oui il y a un wiki très instructif qui a le mauvais goût d'être en anglais (et un peu foutoir

)...
Bonne nuit
Xavier