[Haskell-cafe] Timing in atom -- how consistent?

John Van Enk vanenkj at gmail.com
Fri Jan 1 10:51:18 EST 2010


I remembered that I have some of this stuff on github. Here's the example C
file that sets up the timers on an Ardunio board.

http://github.com/sw17ch/atom-arduino-experiments/blob/master/Blink/blink.c

Notice that the main function does nothing. All the work is done by
blink_atom() which is called out of the ISR (Interrupt Service Routine).

On Fri, Jan 1, 2010 at 10:48 AM, John Van Enk <vanenkj at gmail.com> wrote:

> Hi Jason,
>
> Regarding timing, the version of blink_atom.c below does not contain this,
> but my later versions used the hardware timers to control the blink rate.
>
> One can setup the interrupt vector for a hardware timer to call your
> outermost atom function at whatever resolution you want. As long as the
> timer allows enough time between expirations for any of the task groups to
> finish, it will run in hard real time.
>
> Hope this helps.
>
> John Van Enk
>
>
> On Thu, Dec 31, 2009 at 10:43 PM, Jason Dusek <jason.dusek at gmail.com>wrote:
>
>>  I'm working with Atom to program an ATtiny25. I am curious
>>  about how consistent the timings actually are.
>>
>>  Consider John Van Enk' example of blinking a LED on an
>>  Arduino:
>>
>>    http://code.sw17ch.com/blog/atom/blink_atom.c
>>
>>  We see that sometimes `setLED' is executed and sometimes not.
>>  When `__clock' is incremented, it will be incremented
>>  sometimes sooner, sometimes later.
>>
>>  Also, I am a little puzzled by the `__coverage` variable. What
>>  does it do?
>>
>>  As for my project/motivation -- I'm just trying to blink a
>>  little LED on much less robust/rich kit -- the Trippy RGB
>>  Waves kit from Lady Ada. I am (gratuitously) exploring ways to
>>  program it with Haskell.
>>
>> --
>> Jason Dusek
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100101/6ecb61fd/attachment.html


More information about the Haskell-Cafe mailing list