Salut,
Grand merci de consacrer du temps à m'aider, merci merci merci.
Exacte, en fait la latence optimum de ma carte d'acquisition est de 32ms min.Le problème, c'est que ton thread d'acquisition est en "retard" sur les acquisitions réelles, de 1 à 32 ms pour être précis...
Ouaip, même si ça marche, ca ne me satisfait pasLe ralentir pour obtenir un décalage plus ou moins constant n'est pas vraiment une solution
.sauf que tu vas "forcer" un décalage temporel constant au lieu d'un décalage temporel variable
Effectivement, j'essaye de rattraper avec le processeur le temps de ma carte d'acquisition. L'horloge de la carte d'acquisition à une haute résolution et est relativement stable dans le temps.
C'est la ou je ne suis pas d'accord avec toi, ou il me manque un clef pour comprendre, je m'explique :Donc, ton thread qui renvoie le "GET_CURRENT_SAMPLE" est lui aussi "en retard", qu'il soit multiple ou pas de 32...
Quand tu dis en retard, c'est par rapport au temps UTC, enfin à la granularité de temps dont on dispose sur le PC.
* Déja sur Windows dur dur de compter le temps UTC à la milliseconde, a part le performance counter, mais sur les P4 il subit les variations de l'economie d'energie du processeur donc niveau stabilité....
* Ensuite, c'est pour ca que j'insisite sur les delais aquisitions/traitement, finalement mon horloge de référence n'est pas "lineaire" comme le temps universel.Elle est incrémenter de 32ms en 20µs toutes les 32 ms...
Autre problème, la durée d'implémentation de ces 32 "tops" est minime comparé au temps de traitement d'une trame.
Oui mais comme dis plus haut il faut une référence temporelle précise à la milliseconde avec une granularité à la milliseconde eet surtout stable. Et ca sur Windows, c'est pas évident à coder, d'ou l'idée d'utiliser la carte d'acquisition comme horlogeSi tu voulais une valeur "exacte", il te faudrait horodater la réception des 32 valeurs, et renvoyer une valeur extrapolée en fonction du timestamp de réception du "GET_CURRENT_SAMPLE" (formule : (timestamp de la demande - timestamp de la dernière trame) + dernier compteur)...
En fait j'essaye plus désormais d'envisager le problème comme :
"Quel est le décalage du nombre d'échantillon traités entre mes cartes d'acquisition de mes 2 clients"
Molox
Partager