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
[email protected]
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
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help