[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