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 CPU) cycles horloge.
>>
>> http://zer0.droids-corp.org/doxygen_aversive/html/scheduler_8h-source.html
>>     
>
> 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 le menuconfig à "Use timer
> module (recommended) - CONFIG_MODULE_SCHEDULER_USE_TIMERS", alors tu
> utilises le timer 0 et dans ce cas le pb ne devrait pas se poser. Tu
> regles la résolution du scheduler en fonction du prescaler :
> http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive/modules/base/scheduler/config/scheduler_config.h?revision=1.3&view=markup
>
> Typiquement, s'il vaut 8, à 16Mhz, la résolution est 128us.
>   
Ok ok, donc si je veut la ms à 8Mhz ça me f'ra 32.
>   
>>> - Idem pour time, en plus sur un Atmega16 (8MHz) j'ai peur que ça le
>>> surcharge et que ça ne marche pas.
>>>       
>
> time, tu parles de base/time ou hardware/timer ?
>   
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 corrélée avec le
scheduler ? Est-ce que je peut faire de la PWM, de l'ADC, utiliser le
scheduler ET base/time en même temps sans avoir de problèmes de manque
de timer ?
>   
>>> - Comment on fait pour passer des arguments à une fonction schédulée
>>> j'ai fait ça :
>>>   scheduler_add_periodical_event(transmettre,(void *)&nbre_tours,10000);
>>>     mais il me met toujours un warning :
>>> /home/sonde/station-project/aversive/projects/anemometre/main.c:44:
>>> warning: passing argument 2 of 'scheduler_add_event' from incompatible
>>> pointer type
>>>       
>
> En fait le arg2 c'est la fonction (car
> scheduler_add_periodical_event() est en fait une macro). Du coup le
> prototype de transmettre() ne doit pas etre correct. Ca doit etre
> qqchose du genre void f(void *).
>   
Aaaaaaaaaaaaaaaaaaaaaaah ok, c'est un peu tordu toutes ces macros ;-)
>   
>> Si on se réfère au main, il semble qu'un paramètre unicity ai fait son
>> apparition.
>> Je sais pas trop à quoi il sert :)
>>     
>
> unicity c'est pour dire si l'evenement est periodique ou s'il est
> unique.
>
>   
>>> Désolé si ces questions sont connes ou ont déjà été posées, mais je vous
>>> jures que j'ai regarder la doc avant :-)
>>>       
>
> aaah cool elle est où cette fameuse doc ? ;)
>   
Bin j'aurais bien une réponse d'enseirbien, mais je me contenterai de te
dire que j'ai regardé ici
http://wiki.droids-corp.org/mediawiki/index.php/Aversive/Modules et que
j'ai vu que ça n'était pas documenté.
>   
>>> Un jour les manchots seront les maîtres du monde gnark !
>>>       
>> Et les loutres de l'otter space...
>>     
>
> Mouais... on ne parle pas assez de l'ornithorynque sur cette liste.
>   
NAN les manchots !!
> Oliv
>   
FabM
> _______________________________________________
> Avr-list mailing list
> Avr-list@droids-corp.org
> CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
> WIKI : http://wiki.droids-corp.org/index.php/Aversive
> DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
> BUGZILLA : http://bugzilla.droids-corp.org
> COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog
>
>   


_______________________________________________
Avr-list mailing list
Avr-list@droids-corp.org
CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
WIKI : http://wiki.droids-corp.org/index.php/Aversive
DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
BUGZILLA : http://bugzilla.droids-corp.org
COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog

Répondre à