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