diff -r 7fedc55c14d5 -r d328d0d9b88e doc/manual/en/html/node20.html --- a/doc/manual/en/html/node20.html Thu Aug 02 14:20:52 2007 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ - - - - - -CanFestival events scheduling - - - - - - - - - - - - - - - - - - - - -

-CanFestival events scheduling -

-A CanOpen node must be able to take delayed actions. - -

-As exemples, periodic sync emission, heartbeat production or SDO timeout -need to set some alarms that will be called later and do the job. - -

-µC generaly do not have enough free timers to handle all the -CanOpen needs directly. Moreover, CanFestival internal data may be -corrupt by reentrant calls. - -

-CanFestival implement a micro-scheduler (timer.c). It uses only one -timer to mimic many timers. It manage an alarm table, and call alarms -at desired time. - -

-

-Image 100000000000022C000000DEDAD2140C - -
- -

-Scheduler can handle short clock value ranges limitation found on some -µC. As an example, value range for a 16bit clock counter with -4µs tick is crossed within 0.26 seconds... Long alarms must be -segmented. - -

-Chronogram illustrate a long alarm (A) and a short periodic alarm (B), -with a A value > clock range > B value. -Values t0...t8 are successive setTimer call parameter values. t1 -illustrates an intermediate call to TimeDispatch, caused by a delay -longer than clock range. Because of long alarm segmentation, at the end -of t1, TimeDispatch call will not trig any alarm callback. - -

-

-Image 1000000000000396000000FFC42573DA - -
- -

- -

- -
-epimerde -2007-06-08 -
- -