compte tour sur ecran

Loading thread data ...

On Jul 14, 5:05=A0pm, vede

Oui : lire la valeur d'une horloge ininterruptible est surement le meilleur moyen de conserver une valeur de temps correcte, malgre les swaps du systeme.

Reply to
Jean-Christophe

Salut Vede,

Bon travail ! Par contre, le driver souris doit-être enlevé si on branche le montage sur le même port. Pour le timer en surcharge, il vaut mieux utiliser une bonne machine... sous peine d'oublier des signeaux ... mais il est préférable de ne pas l'utiliser avec une frèquence trop élevée. Sinon, ça peut fonctionné... je ne l'ai pas testé avec le montage décrit, mais la redondance au niveau du scan est testé... donc pas de multi-validation du signal. Par contre, sur ma machine, les boutons start/stop sont hors cadre !

Reply to
GzavSnap

Bonsoir =E0 tous,

avec le chrono/compteur counter2.rar, la d=E9rive dans le temps pouvait =EAtre assez grande par apport =E0 un "vrai chrono"...

c'est pourquoi j'ai vite fait une nouvelle version, qui utilise l'horloge du syst=E8me comme r=E9f=E9rence pour les secondes, o=F9 la d=E9rive (par apport =E0 un "vrai chrono") n'=E8xc=E8dera jamais plus d'une demie seconde, ce m=EAme apr=E8s plusieurs minutes de comptage...

et avec la marge d'erreur sur les 50 derniers centi=E8mes de chaque seconde...marge commune aux 3 compteurs...comme d'ab...

la version3 ;O]

formatting link

bon'nuit, vede ;O]

Reply to
vede

Avec l'horloge systeme d'un PC, tu as une precision de l'ordre de la milliseconde.

Reply to
Jean-Christophe

Certainement pas. J'ai déjà vu des PC qui dérivaient, mais qui dérivaient...

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Reply to
JKB

On Jul 16, 1:45 pm, JKB

... qui derivent par rapport a quelle horloge de reference ?

L'horloge systeme est la seule reference de temps ininterruptible que l'on ait sur un PC standard, et sa precision est d'une milliseconde.

typedef struct { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; // ca, c'est des millisecondes ! } SYSTEMTIME;

Reply to
Jean-Christophe

Le 16-07-2009, ? propos de Re: compte tour sur ecran, Jean-Christophe ?crivait dans fr.sci.electronique :

Ça, c'est la théorie, lorsque la référence de temps (quartz ou autre) de l'horloge système est de qualité. J'ai vu passer des tas de PC qui dérivaient de plus d'une minute par heure, et une minute par heure, ça fait une dérive de plus d'un centième de seconde par seconde (soit plus de 1%).

Au passage, tu confonds la précision de l'horloge et ce que renvoie l'appel système qui sont deux choses différentes. Sur mes OS, les appels systèmes renvoient des microsecondes ou des nanosecondes. Ce n'est pas pour cela que la précision est de l'ordre des nanosecondes puisque le système ne remet pas à jour le champ en question toutes les nanosecondes (en supposant qu'il soit capable de le faire). Typiquement, sur un Linux, la précision est de HZ, par défaut 250 sur les noyaux récents (donc 4 ms, en supposant que l'horloge ne dérive pas, ce qui est envisageable si elle est asservie par un ntp).

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Reply to
JKB

On Jul 16, 2:21 pm, JKB

PC

it

Pourtant, un quartz a une assez bonne precision a court terme, sa derive ne devient genante qu'apres un temps assez long. Bien sur, si on considere une horloge basee sur un circuit RC, ou un autre genre de truc low-cost, alors on change de sujet. Sans parler des conditions de constance en temperature, etc... Mais a court terme, obtenir une precision d'une milliseconde avec un quartz suivi d'une bardee de diviseurs ne pose aucun probleme.

els

Exact, tu as tout a fait raison : j'aurais du parler d'un intervalle elementaire de comptage plutot que de precision.

Oui, mais pour mesurer un *intervalle de temps* a une milliseconde pres, cela me semble raisonnable, vu que l'horloge tourne tout le temps. Donc tu peux memoriser l'instant de depart, memoriser l'instant d'arret, lui soustraire l'instant de depart, tu obtiens bien l'intervalle de temps qui les separe, puisque le delai ajoute par l'appel systeme s'annule. ( oui, c'est optimiste ... mais pour un ordre de grandeur de la milliseconde, j'ose maintenir cette affirmation :-)

est

Mais comment fais-tu pour evaluer la precision d'une horloge, il te faudra bien une horloge de reference (atomique ?) ...

Reply to
Jean-Christophe

Le 16-07-2009, ? propos de Re: compte tour sur ecran, Jean-Christophe ?crivait dans fr.sci.electronique :

Sauf que un PC, c'est du low cost. La base de temps n'est pas franchement à la hauteur. Si on tape dans du supermicro ou du tyan, pas de problème, c'est du lourd. Dans du Asus, ça va. Si maintenant, on attaque le design and made in China, on peut assez rapidement avoir des surprises.

Non. Je ne suis pas d'accord. Sur mes OS, la mise à jour par défaut de la valeur de la structure se fait 250 fois par seconde, ce qui veut dire que la précision maximale sera de 4 ms. Maintenant, entre 4 et 8 ms, mon calcul me renverra 4 ms, soit une erreur possible de 100 % ! Le problème n'est pas la lenteur ou non de l'appel système, mais le taux de rafraîchissement de cette valeur par l'OS. Il ne faut pas croire que tu vas directement lire cette valeur dans le registre de l'horloge. C'était possible du temps du DOS ou d'autres trucs du même genre, mais avec les systèmes moderne, tu passes par l'OS pour des histoires de gestion de matériel et l'OS à d'autre choses à faire que de maintenir la structure time à jour.

nptd est ton ami.

rayleigh:[~] > ntptrace localhost: stratum 3, offset 0.005333, synch distance 0.095057 metroid.nerim.net: stratum 2, offset -0.000426, synch distance 0.038108 ntp-p1.obspm.fr: stratum 1, offset -0.000171, synch distance 0.002431, refid 'TS-2'

Mes horloges sont toutes synchronisées sur une référence fiable. Si j'ai une carte GPS, je peux faire la même chose en les synchronisant sur l'horloge GPS ou sur n'importe quelle autre horloge.

Cordialement,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Reply to
JKB

On Jul 16, 3:02 pm, JKB

Tout a fait d'accord. J'ai meme vu des chips vendus par des retailers, estampilles avec le logo du fabriquant Americain, mais qui etaient des clones sortis de je-ne-sais-ou, mais ne tenant pas les specifications du (vrai) fabriquant. Les bobines de CMS contenaient les VRAIS chips sur quelques centimetres (au cas ou tu voudrais tester le lot) mais tout le reste est de la pure daube ... c'est edifiant !

aux de

Ok, j'y suis.

t

ture

Oui, quelquefois je regrette la simplicite des anciens systemes, non-multitache, mais qui permettaient d'optimiser l'utilisation des ressources materielles.

Attends ... 'obspm' c'est bien l'observatoire de Meudon ? Tu est sous Unix ou Linux ... mais c'est quoi nptd ? Trouve t'on le meme service sous Windows ?

r

Yay - ca c'est du dialogue ! Merci pour ces precisions :-)

Reply to
Jean-Christophe

Le 16-07-2009, ? propos de Re: compte tour sur ecran, Jean-Christophe ?crivait dans fr.sci.electronique :

Vive le Flex-9 sur 6809 ou 6309... Le FPGA avec quelques composants autour, c'est le pied ;-)

J'ai un ntpd (network time protocol daemon) sur toutes mes machines (Linux, Solaris, OpenVMS, NetBSD, FreeBSD, OpenBSD). Windows, connais pas (mon médecin me l'a interdit parce qu'il estime que je dois prendre soin de ma santé mentale), mais je suis à peu près sûr que ça doit exister.

Effectivement, obspm, c'est l'Observatoire de Paris-Meudon.

Il n'y a pas de mal.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Reply to
JKB

Sous windows, il y a un service qui fait ça, et qui se configure par le machin qui apparaît quand on double clique sur l'horloge en bas à droite de l'écran, mais c'est une pure daube. Du coup, toujours pour windows il y a un petit utilitaire, qui me dit que mon asus, justement, a dérivé de 21s depuis la dernière fois - je ne me rappelles plus quand - que je l'ai lancé. On dirait qu'il n'existe plus sur le net, mais il y en a plein d'autres :

http://www.n> J'ai meme vu des chips vendus par des retailers,

Haha, la vaste blague, ils vont loin quand même ! Donc, quand on veut tester un composant, bien le prendre loin dans la bande... Ce qui va mettre conduire la pick-and-place dans le chaos plus tard ?

-- cLx

Reply to
cLx

On Jul 16, 5:28 pm, cLx

Ah, ok, mais tant qu'a faire, autant avoir la specif du protocole pour recuperer ces donnees (c'est sous UDP, ou dans le genre ?) et le format des donnees dans les paquets emis et recus, et bien sur, des URL de serveurs du genre 'obspm' ... :-)

On avait des refs d'ampli op et de CAN qui ne devaient pas trop deriver, meme a une temperature de 120 degres centigrades, et - bien sur - les chips du constructeur fonctionnaient au poil. Ceux qu'on a recu marchaient bien jusqu'a 80 degres, pas au-dela. Je precise que c'est une histoire vraie qui date de fin 2008. C'est moins marrant pour le pauvre mec qui a passe la commande, en s'imaginant alleger son budget d'achats de composants ...

Mais faut avoir le temps de s'amuser a derouler le truc, etc ... S'il fallait TOUT verifier, on en serait toujours au silex (et encore)

Tu as tout compris ...

Reply to
Jean-Christophe

Le 16-07-2009, ? propos de Re: compte tour sur ecran, Jean-Christophe ?crivait dans fr.sci.electronique :

C'est un protocole complet qui prend en compte jusqu'au temps de transit entre la source et le destinataire. On ne peut pas se contenter d'un simple décodage de trame (123/UDP au passage).

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Reply to
JKB

Salut Vede,

Ton timer est assez lourd avec l'affichage du chrono ! Pourquoi ne pas faire un chrono a la seconde et afficher le temps réel au bout du cyle de tours. (avec l'horlage temps reel)... C'est peut-être ce que tu as fait d'ailleurs... J'ai pas regardé tes codes.

Reply to
GzavSnap

Si ça dérive... c'est un problème de courant.

Oué !!! retour en charte !!!

Reply to
GzavSnap

Option Explicit

Private Type LARGE_INTEGER lowpart As Long highpart As Long End Type

Private Declare Function QueryPerformanceCounter Lib "kernel32.dll" _ (ByRef lpPerformanceCount As Currency) As Long Private Declare Function QueryPerformanceFrequency Lib "kernel32.dll" _ (ByRef lpFrequency As Currency) As Long

Private period As Currency Private startTime As Currency Private timerFrequency As Currency Private bhasHiResCounter As Boolean

Public Sub StartTimer() Dim lR As Long lR = QueryPerformanceCounter(startTime) End Sub

Public Sub StopTimer() Dim endTime As Currency Dim lR As Long lR = QueryPerformanceCounter(endTime) period = endTime - startTime End Sub Public Property Get init() As Boolean ' ElapsedTime = 0 period = 0 End Property

Public Property Get ElapsedTime() As Double ElapsedTime = period / (timerFrequency * 1#) End Property

Public Property Get HasHiResCounter() As Boolean HasHiResCounter = bhasHiResCounter End Property

Public Property Get Frequency() As Currency Frequency = timerFrequency End Property

Private Sub Class_initialize() ' If the installed hardware supports a high-resolution performance counter, ' the return value is nonzero. ' If the function fails, the return value is zero. To get extended error ' information, call GetLastError. For example, if the installed hardware ' does not support a high-resolution performance counter, the function fails. Dim r As Long r = QueryPerformanceFrequency(timerFrequency) If (r 0) Then bhasHiResCounter = True End If End Sub

Reply to
GzavSnap

On Jul 16, 6:49=A0pm, "GzavSnap"

error

rdware

tion

Une tartine de Basic sur fr.sci.electronique : nooooooooooon !!! Au secours, c'est meme pas de l'assembleur ... au secours ...

Reply to
Jean-Christophe

Bonjour =E0 tous,

c'est sur, mais c'est la demande du posteur (affichage des centi=E9mes)

bon je retourne =E0 mon CNA R2R 16bits qui grrrrrrrrrrr ne veut toujours rien savoir ;O[

bon'apr=E9m, vede :O]

Reply to
vede

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.