Re: [Avr-list] aversive CVS_LOG 2009-03-18

2009-03-19 Par sujet Olivier MATZ
yop

 j'ai deja eu ce pb la. je pense qu'il y a 2 cas:

 - evenement cyclique : error
 - evenement unique : il faudrait ne pas faire d'erreur mais scheduler un  
 evenement des la prochaine exec du scheduler.

en fait, pour ca il suffit de passer 1 au lieu de 0 a la fonction. si
la periode est issue d'un calcul (c'est le cas de nos bras-ventouses
cette annee), alors soit tu regardes la valeur de retour, soit tu
t'arranges pour faire un test de ce style:

time = calcul_complexe();
if (time  SCHEDULER_UNIT)
   time = SCHEDULER_UNIT;
ret = scheduler_add_event(SCHEDULER_SINGLE, func, data, 
  time/SCHEDULER_UNIT, MY_PRIO);
if (ret) {
/* traitement du code d'erreur */
}

Oliv

___
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


Re: [Avr-list] aversive CVS_LOG 2009-03-18

2009-03-18 Par sujet tof



root a écrit :

Commit from zer0 on branch b_zer0 (2009-03-17 19:50 CET)
=

if period givent to scheduler is 0, return an error (instead
of scheduling a very long event)

  aversive  modules/base/scheduler/scheduler_add.c  1.1.2.3




coucou les gnous


j'ai deja eu ce pb la. je pense qu'il y a 2 cas:

- evenement cyclique : error
- evenement unique : il faudrait ne pas faire d'erreur mais scheduler un 
evenement des la prochaine exec du scheduler.


C'est necessaire, a mon avis dans 2 cas :

- calcul de temps = ticks trop petit pour faire une unite : il est 
logique d'executer l'evenemnt directement


- si on veut executer le plus vite un evenement (pour changer de 
priorite par exemple)



tof

___
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