[Tinyos-help] About LowPowerListening

David Moss dmm at rincon.com
Tue May 27 08:58:37 PDT 2008


Hi Jiwen -

 

I've been out for a few days, sorry for the delay in the response.

 

You're correct about the operation of setLocalSleepInterval. The amount of
time the radio wakes up is ideally as short as possible, and is dependent
upon the type of low power communication strategy implemented.  The default
CC2420 low power communication implementation, in an attempt to work on
everyone's setup, is set to 11 ms receive check intervals.  I've had this
working reliably in more of a point-to-point scheme (no surrounding network)
at 5 ms.  Essentially, because the wakeup transmission is a packet train,
the amount of time a receiver radio must perform an energy-based receive
check is the duration of the gap in modulation between packets.  On
different strategies, like a BMAC-based strategy where a long continuously
modulated signal is emitted from the transmitter, the receive check can be
near instantaneous.

 

The setRxSleepInterval() command is used to setup the packet, before
transmission, to tell the radio stack how long to transmit that packet for
to wake up its intended destination.  So if you are about to transmit a
packet to a node that has a local duty cycle of 250 ms, you have to tell the
packet that the receiver's sleep interval is 250 ms.  The radio stack will
wake up the duty cycling receiver for that duration of time while attempting
to deliver the packet.

 

The cc1000_lpl directory is no longer valid, and should never be used.  The
default cc1000 directory contains a fully functional low power communication
implementation, BMAC.

 

-David

 

 

 

 

 

 

  _____  

From: jiwen zhang [mailto:zhangjiwen029 at gmail.com] 
Sent: Monday, May 26, 2008 6:33 AM
To: David Moss; tinyos-help
Subject: Fwd: About LowPowerListening

 

 

---------- Forwarded message ----------
From: jiwen zhang <zhangjiwen029 at gmail.com>
Date: 2008/5/25
Subject: About LowPowerListening
To: David Moss <dmm at rincon.com>, tinyos-help
<tinyos-help at millennium.berkeley.edu>



Hello David :

   Maybe i have asked the question to you , but i still have some puzzles .

   1. about the command setLocalSleepInterval(uint16_t sleepIntervalMs) .

    in my opinion , it is used the set that how long the mote sleep . for
example , we set sleepIntervalMs to 250 , which mean the mote will sleep
250ms and wake up automatically , then check whether there is carrier . if
yes , it will keep awake for a long time to receive the data packet , if no
, it will go to sleep . 

   i want to know , how long does the mote take to check whether there is
carrier wave ? if there is carrier, how long does the mote keep awake in
order to receive the data packet ?(maybe there is no data packet sended to
it , so i thick there could be a "time upper limit" that the mote keep awake
) 

   2. about the command setRxSleepInterval(message_t *msg, uint16_t
sleepIntervalMs)

   i don't know what the function of this command is , can you explain to me
,David ?

   In Lesson 16: Writing Low Power Sensing Applications , there is some
introduction to LowPowerListening . it demonstrates the usage pattern :

 

event void Boot.booted() {
  call LPL.setLocalSleepInterval(LPL_INTERVAL);
  call AMControl.start();
}

event void AMControl.startDone(error_t e) {
  if(e != SUCCESS)
    call AMControl.start();
}
  
...

void sendMsg() {
  call LPL.setRxSleepInterval(&msg, LPL_INTERVAL);
  if(call Send.send(dest_addr, &msg, sizeof(my_msg_t)) != SUCCESS)
    post retrySendTask();
}


before we call Send.send , we will call LPL.setRxSleepInterval(&msg,
LPL_INTERVAL) . what is the reason ? 

 

 

another question :

 

in the directory /opt/tos/chip , there is a folder named cc1000_lpl , when i
use the interface of LowPowerListening , i find that the file app.c includes
some files in the directory /opt/tos/chip/cc10000 and does not include any
file in the cc1000_lpl . are they different implements of the driver of
cc1000 ? which one is better ? if cc1000_lpl is better , what should i do if
i want to use the driver cc1000_lpl? (because the default is linked to
cc1000)


-- 
zhang jiwen 




-- 
zhang jiwen 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20080527/8267ed6a/attachment.htm 


More information about the Tinyos-help mailing list