Hello,
J'aimerai avoir quelque précisions sur les modules d'aversives :
- Le scheduler est-il obligatoirement synchronisé sur la us, parce que
moi la ms me suffit ?
- Idem pour time, en plus sur un Atmega16 (8MHz) j'ai peur que ça le
surcharge et que ça ne marche pas.
- Comment on fait pour passe
On 13/06/07, Fabien M <[EMAIL PROTECTED]> wrote:
> Hello,
>
> J'aimerai avoir quelque précisions sur les modules d'aversives :
>
> - Le scheduler est-il obligatoirement synchronisé sur la us, parce que
> moi la ms me suffit ?
Si je me souviens bien les proto de scheduler prennent des SCHEDULER_UNI
Yop,
> > - Le scheduler est-il obligatoirement synchronisé sur la us, parce que
> > moi la ms me suffit ?
>
> Si je me souviens bien les proto de scheduler prennent des SCHEDULER_UNIT non
> ?
>
> 1 Scheduler Unit = prescaler * (256e6/freq CPU) cycles horloge.
>
> http://zer0.droids-corp.org/do
>
> Ouais alors euh... C'est bien ça, si on utilise un timer 8 bits
> (pendant longtemps on ne pouvait utiliser que le timer 0). Mais je me
> demande si la formule n'est pas fausse si on utilise un timer autre
> que le 0. Bref, je vais regarder demain.
>
> Bon, par contre, si tu réponds non dans
Pouet,
> une int toutes les 256 instruc me semble quand meme etre beaucoup !
> ya des cas ou ca doit poser probleme (je pense notamment au cas ou
> d'autres int non imbriquables tournent avec plus de 256 instruc de temps
> de latence)
je suis d'accord, utiliser un prescaler à 1 pour le schedlue
Un patch vite fait pas trop testé si y'a des amateurs, avant que je
commite.
Olivier
? test/.aversive_conf
? test/.gdb_history
? test/autoconf.h
? test/compiler_files
? test/main
? test/main.elf
? test/main.hex
? test/timer_config.h
Index: scheduler.h
=
>
> je suis d'accord, utiliser un prescaler à 1 pour le schedluer a de
> bonnes chances de ne pas marcher... mais je crois pas que quelqu'un
> ait parlé de ça ?
>
>
heu si, moi j'en ai parlé ;)
non mais c'est juste des remarques en passant ;)
>> j'avais ( pour le brushless il me semble) fait un
Olivier 'zer0' MATZ a écrit :
> Yop,
>
poY
>
>>> - Le scheduler est-il obligatoirement synchronisé sur la us, parce que
>>> moi la ms me suffit ?
>>>
>> Si je me souviens bien les proto de scheduler prennent des SCHEDULER_UNIT
>> non ?
>>
>> 1 Scheduler Unit = prescaler * (256e6/freq
>> Laisser quoi configurable ?
>>
> le timer, le prescaler, et le fait d'utiliser soit l'int de debordement,
> soit celle du compare auto-resettant (bien pratique pour les valeurs
> rondes )
Oui, le output compare j'y avait pensé aussi, mais pour le moment ça
n'est pas encore faisable... quan
> Ok ok, donc si je veut la ms à 8Mhz ça me f'ra 32.
c'est ça :
8 000 000 / (32*256) = 976 Hz
soit une période de 1024 us
> bin le base/time, mon but c'est d'avoir l'heure pour pouvoir faire des
> log (en secondes unix ça me semble bien).
> Est-ce que l'heure est précise ? Est-ce qu'elle est cor
Olivier MATZ a écrit :
>> Ok ok, donc si je veut la ms à 8Mhz ça me f'ra 32.
>>
>
> c'est ça :
> 8 000 000 / (32*256) = 976 Hz
> soit une période de 1024 us
>
>
>> bin le base/time, mon but c'est d'avoir l'heure pour pouvoir faire des
>> log (en secondes unix ça me semble bien).
>> Est-ce q
> Bin ça a pas l'air de marcher ! les secondes vont beaucoup trop vite. En
> fait je veux déclencher un printf toutes les 10secondes, et j'aimerai
> que ce soit précis. Pour l'instant ce que je fait c'est que je lance la
> fonction transmettre toutes les 1*1024us (prescaler réglé à 32 pour
> un
Hello,
Voici quelques pistes (je n'ai pas de quoi faire l'essai avant qqs jours).
- Dans scheduler_config.h, les deux valeurs suivantes doivent être
cohérentes, par exemple : TIMER0_PRESCALER_DIV_32 et
SCHEDULER_CLOCK_PRESCALER 32.
Là il y a :
#define SCHEDULER_CK TIMER0_PRESCALER_DIV_8
#define
Olivier MATZ a écrit :
> Hello,
>
> Voici quelques pistes (je n'ai pas de quoi faire l'essai avant qqs jours).
>
>
> - Dans scheduler_config.h, les deux valeurs suivantes doivent être
> cohérentes, par exemple : TIMER0_PRESCALER_DIV_32 et
> SCHEDULER_CLOCK_PRESCALER 32.
>
> Là il y a :
> #define SC
re,
> /aversive/modules/base/scheduler/scheduler.c:49: error:
> 'TIMER0_PRESCALER_DIV_32' undeclared (first use in this function)
Ca veut dire soit :
- qu'il n'est pas possible de mettre le scheduler à 32 sur le timer 0
(voir la doc de l'atmega16)
- que les fichier décrivant les AVR dans aversive
Olivier MATZ a écrit :
> re,
>
>
rere
>> /aversive/modules/base/scheduler/scheduler.c:49: error:
>> 'TIMER0_PRESCALER_DIV_32' undeclared (first use in this function)
>>
>
> Ca veut dire soit :
> - qu'il n'est pas possible de mettre le scheduler à 32 sur le timer 0
> (voir la doc de l'atmega
pouet,
>> cvs -d :ext:[EMAIL PROTECTED]:/var/lib/cvs co aversive
>>
> Ah il faut un login ! c'est possible d'en avoir un en lecture, juste
> pour mettre à jour sans attendre le dailysnapshot ?
C'est possible. Il me faut ton login et ta clé publique rsa2. Sinon
il y a le login enseirb.
Oliv
_
Quoi ??? Filer le commit enseirb à cet énergumène ? JAMAIS !
JD, en train de planquer les clés...
PS: à quand aversive sur SVN ?
PS2: Car le diff de CVS m'a encore fait des misères...
PS3: Mais bon rien de grave... Juste pour me rappeller à son bon souvenir :)
On 17/06/07, Olivier MATZ <[EMAIL P
JD wrote:
> Quoi ??? Filer le commit enseirb à cet énergumène ? JAMAIS !
lol
Nan mais c'est moi qui ai fauté, filé un commit à l'enseirb de toute
façon c'était une connerie ;)
> PS: à quand aversive sur SVN ?
> PS2: Car le diff de CVS m'a encore fait des misères...
> PS3: Mais bon rien de grave..
ca ,hg (mercurial) le fait.
grosso modo dans mercurial chacun a son repository, tu peux commiter
dedans, et tu peux normalement "pusher" tes modif sur le serveur
mais le serveur peut etre en lecture seul.
pour lancer un mercurial serveur: hg -server (ct compliqué hin?)
ca lance un serveur web mo
JD a écrit :
> Quoi ??? Filer le commit enseirb à cet énergumène ? JAMAIS !
>
Je suis plutôt d'accord avec toi ;-) Mais est-il possible d'avoir juste
des droits en lecture pour mettre à jour ma version local juste quand
elle est commité et pas attendre le lendemain ?
> JD, en train de planquer l
res'lu
>
> Et time_get_s() retourne des 'seconds', qui est un uint32_t, donc le
> cast en (unsigned int) le transforme en 16 bits sur AVR, tu ne
> dépasseras donc pas 65536 secondes dans le printf()... attention par
> contre à la chaine de format "%ld" dans le cas d'un 32 bits.
>
Bin justement j
On 18/06/07, Fabien M <[EMAIL PROTECTED]> wrote:
> res'lu
> >
> > Et time_get_s() retourne des 'seconds', qui est un uint32_t, donc le
> > cast en (unsigned int) le transforme en 16 bits sur AVR, tu ne
> > dépasseras donc pas 65536 secondes dans le printf()... attention par
> > contre à la chaine d
> j'ai fait un printf comme ça (dans le main ):
>
> printf("%lu %u\n",(unsigned long)sec,(unsigned int)nbre_tours);
>
> en déclarant sec comme "seconds" et j'ai quand même un débordement sur
> 16bits.
ça devrait marcher pourtant. Par défaut je mets "%ld" mais je pense que
c'est pareil. Sinon reb
JD a écrit :
> On 18/06/07, Fabien M <[EMAIL PROTECTED]> wrote:
>
>> res'lu
>>
>>> Et time_get_s() retourne des 'seconds', qui est un uint32_t, donc le
>>> cast en (unsigned int) le transforme en 16 bits sur AVR, tu ne
>>> dépasseras donc pas 65536 secondes dans le printf()... attention par
Fabien M a écrit :
> JD a écrit :
>
>> On 18/06/07, Fabien M <[EMAIL PROTECTED]> wrote:
>>
>>
>>> res'lu
>>>
>>>
Et time_get_s() retourne des 'seconds', qui est un uint32_t, donc le
cast en (unsigned int) le transforme en 16 bits sur AVR, tu ne
dépasseras donc
plop plop
Olivier MATZ a écrit :
>> j'ai fait un printf comme ça (dans le main ):
>>
>> printf("%lu %u\n",(unsigned long)sec,(unsigned int)nbre_tours);
>>
>> en déclarant sec comme "seconds" et j'ai quand même un débordement sur
>> 16bits.
>>
>
> ça devrait marcher pourtant. Par défaut je met
yop,
>>> printf("%lu %u\n",(unsigned long)sec,(unsigned int)nbre_tours);
>>>
>>> en déclarant sec comme "seconds" et j'ai quand même un débordement sur
>>> 16bits.
>>>
>> ça devrait marcher pourtant. Par défaut je mets "%ld" mais je pense que
>> c'est pareil. Sinon rebalance le code ;)
>>
28 matches
Mail list logo