[Tinyos-devel] Re: [Tinyos-help] CTP + LPL
Philip Levis
pal at cs.stanford.edu
Wed Feb 6 18:24:28 PST 2008
On Feb 5, 2008, at 5:26 AM, David Moss wrote:
> I just added a hook to the CC2420 radio stack in CVS to configure
> an outbound message. The interface is called SendNotifier, and has
> a single event:
>
>
>
> event void aboutToSend(am_addr_t addr, message_t *msg);
>
>
>
> This event is provided by CC2420ActiveMessageC, and is
> parameterized by am_id_t.
>
>
>
> You can access this interface to configure packets sent by any
> module in your application, modifying the outbound packet based on
> AM type, destination, etc. The main intention is CTP + LPL
> integration (with examples attached – modify as necessary), but you
> can use it to add all sorts of system-wide functionality to your
> application. Here’s a small example:
>
>
>
> event void SendNotifier.aboutToSend[AM_CTP_DATA](am_addr_t addr,
> message_t *msg) {
>
> call LowPowerListening.setRxSleepInterval(msg, 512);
>
> }
>
>
>
> Simply create a module that defines an LPL policy for your system,
> and use the SendNotifier interface to enforce it.
>
>
>
> If this hook works out, we can extend this to other radio stacks as
> necessary
>
This is a bit weird. Why should the sleep interval be controlled by a
single layer 3 protocol? On the receiver side, it must somehow be
determined across all of the layer 3 protocols. If anything, this
seems something that should *not* be parameterized, so that a -- to
borrow the SP nomenclature -- a policy manager can decide what to do.
Phil
More information about the Tinyos-devel
mailing list