c'est pas du tout ce que je disGolfy a écrit : ça revient à avoir plein de procédures qui essayent d'écrire dans la pile gérée par le MUTEX :

mais je dois dire que sans avoir le Code + l'interface en question sous les yeux , c'est pas évident de te conseiller ..

je dis que ta pile (j'ai appelé ça liste moi .. ) ne devrai pas centraliser tout les messages !
( ne parlons pas de thread pour le moment)
je dis , qu'il te faudrait une procedure qui envoies les "demandes utilisateur" et qui réceptionnent les messages renvoyé par ta carte au coup par coup ( a la demande )
par exemple changer la tension d'une prise de courant .. (variateur)
je te rappel que je n'y connais rien en velbus

mais j'imagine un dialogue comme ça :
DO
[procedure utilisateur] ; cette procedure est appelé a la demande d'une interface utilisateur par exemple (plutot en ecriture )
demande a la carte: je veux baisser la tension de la prise numero 5
attente reponse de la carte
reçois la reponse "ok c'est fait"
[/procedure utilisateur]
[timer toute les 1 minute]
[procedure system] ; cette procedure sera appelé par le timer de temps en temps histoire de rafraichir les controls du systeme (plutot en lecture)
verifie que [procedure utilisateur] n'est pas en cours ( par mutex ou par flag ).. pour ne pas embrouiller la carte avec trop de demandes a la fois
demande a la carte: envoie moi l'etat du system
attente reponse de la carte
reçois la reponse ( valeur des temperatures des pieces, valeur des lumieres , valeur de l'ouverture des portes ..et dieu sait quoi d'autre )
filtre des valeurs renvoyés (dans une pile s'il y en a beaucoup ) et dispache pour par exemple dessin d'une page de diagnostique ou autre....
[/procedure system]
[/timer]
LOOP
voila c'est tres shematisé hein ....
