[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