[Tinyos Core WG] Tep 115
Philip Levis
pal at cs.stanford.edu
Sun Feb 11 21:11:46 PST 2007
On Feb 10, 2007, at 3:23 PM, Kevin Klues wrote:
> In the last meeting we discussed TEP115 and some issues came up
> concerning its presentation as well as some of its technical
> content in relation to the semantics of the SplitControl
> interface. We decided to defer this discussion to email in order
> to give more detailed descriptions of the issues. No one has
> written anything yet, so I thought I'd kick start the discussion.....
>
David Gay wrote a bunch of editing comments. I'll merge them into the
document before the next meeting.
I think the discussion hinged on the call tables for StdControl/
AsyncStdControl and SplitControl.
StdControl is pretty simple. I don't think there's much to discuss
there. The one point is that if you call start() or stop() on a
component already in the desired end state, then it returns SUCCESS.
SplitControl is the tricky one. As written, the specification
requires that it keep track of whether there are pending start/stop
calls when it is in the midst of a start/stop operation. For example,
if you call
stop() after a start() but before a startDone(), then the call
returns SUCCESS and you will get a stopDone() after the startDone().
If you look through the code, there are a few different answers on
what's done in practice. The logic to maintain these semantics is a
bit tricky. The CC2420 returns FAIL when in the middle of an
operation and on redundant operations. The STM25P returns the
Resource call, which means it returns EBUSY. The XE1205 returns EBUSY
when midst-operation, but FAIL on redundant calls.
Phil
More information about the Tinyos-2.0wg
mailing list