[Tinyos-help] (yet another) Question about signal
Jeongyeup Paek
jpaek at usc.edu
Wed Nov 14 15:11:33 PST 2007
I see 'call' and 'signal' as a type-checking mechanism with 'noop',
where 'command' and 'event' can be regarded as
'INPUT' and 'OUTPUT' tags is VHDL language.
Type checking (and a word of memo for the programmer)
helps you to use INPUT and OUTPUT properly.
They tell you the 'direction' in which you should call a function.
In fact, although some people say 'nesC is dialect of 'C' with
notoriously strange add-ons such as command/event/component/modules,
I see it more close to VHDL, with the internals written in C.
You must wire an input pin with an output pin, and vice versa,
for an interface between components. You must output a value on
an output pin, and you must read a value on an input pin.
Thus, compile-time type-checking mechanisms such as
'call' & 'signal' are very useful.
And... 'async' is just another type-checking,
that let's you distinguish sequences of function calls
that came/didn't come from a hardware interrupt.
This is how I understood it through couple years of playing around..
Thanks
- jpaek
Michael Schippling wrote:
> OK, so I found
> nesC 1.1 Language Reference Manual (2003)
> and
> The nesC Language:... (2003)
>
> but in a quick search I don't find _what_ is the meaning of "signal",
> except that it seems to be prefixed to calling functions labeled "event".
> Do I need to really read the whole thing to get the idea, or is there
> some summary that explains the hierarchy and impetus behind these keywords?
> Or do I have to re-remember BNF?
>
> thx
> MS
>
> Philip Levis wrote:
>>
>> On Nov 14, 2007, at 10:05 AM, Michael Schippling wrote:
>>
>>> I guess if I took the time to read and understand all the NESCC
>>> design/doc,
>>> rather than wasting it on trying to make my own projects work, I
>>> wouldn't
>>> be asking so many seemingly redundant questions. I expect the whole
>>> thing
>>> has to do with using "async" as a flag to force race-condition
>>> evaluation,
>>> which then blossomed into a chain of fix-the-boundary-cases keywords.
>>
>> Not at all. The async keyword wasn't introduced until TinyOS 1.1.
>>
>> Phil
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help at Millennium.Berkeley.EDU
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
--
Jeongyeup Paek
Ph.D. student
Embedded Networks Laboratory
Department of Computer Science
University of Southern California
http://enl.usc.edu/~jpaek
More information about the Tinyos-help
mailing list