Dans EMC2 il y a 2 "balanciers" (ou chef d'orchestres,... Wink ) qui sont synchronisés :
- Le premier est "lent" (toutes les 1ms), il s'appelle "servo-thread", il s'occupe de rafraichir tout ce qui est calcul (gestion des mouvements, PID,...) mais plus généralement une très grosse partie de la logique strictement interne.
- Le second est "rapide" (toutes les 25us), Il s'appelle "base-thread", il s'occupe de générer tout ce qui est signaux rapides utilisé de/vers l'extérieur comme la génération de step/dir via le port // du PC.
Donc dans le cas de l'utilisation d'une carte extérieure (5i20 par exemple), l'utilité du "base-thread" est remplacé par l'horloge présente dans cette dernière qui est beaucoup plus rapide (et stable). Le test de latence est donc toujours important car il permet au "servo-thread" d'être bien régulier mais proportionnellement c'est beaucoup moins contraignant car il est 40 fois plus lent!