[Tinyos Core WG] TEP 112 response

Philip Levis pal at cs.stanford.edu
Fri Jun 26 17:47:25 PDT 2009


There are 2 major outstanding items on TEP 112. The first is a  
platform independent "full power" state so a component can prevent  
sleeping. The second is adjusting the MSP430 low power code so that it  
defaults to LPM4 and the timer system overrides to LPM3 (as the atm128  
one does).

For 1), we're in a bit of a bind in terms of an interface. The right  
interface would be McuPowerOverride, as this is the interface a  
component would have to implement in order to change the power state.  
Currently, however, the interface provides a command -- the sleep  
component calls this command. For a component to be able to call back  
into the sleep component with an event. But signaling an event from a  
command is a bad idea.

So I think the right answer is to simply say that each MCU provides a  
standard enum, TOS_SLEEP_NONE, which corresponds to the highest power  
state. This also simplifies code: fewer commands, etc. Because  
McuPowerOverride already includes hardware.h, the enum should be in  
hardware.h. So this calls for a paragraph in 112 describing the value,  
its use, and its meaning.

For 2), this is a trivial change to the MSP430 timer code. If no-one  
else volunteers, I'll do it on Monday.

Phil




More information about the Tinyos-2.0wg mailing list