Hello David : about the command setRxSleepInterval() , i want to ask some questions again . 1. In my test , the sender and receiver have the same duty cycle (sleep interval ?) , for example 250ms , how long should i send the wake-up packet before i send my data ? that is to say that what should i set the parameter of setRxSleepInterval before i use the command AMSend.send() to send my useful datas ? in my test , i set it equal to sleep interval , i find there is no lost packet . 2. If the receiver receives the packet , it will give the sender an acknowledgement , what is the format of the acknowledgement ? where is the format defined ? if i use the Basestation to snoop the acknowledgement , can i receive it ? 3. Does rf230 support LowPowerListeing ?
another question : David , i download the cvs tree of tinyos-2.x six days ago , i install the RadioCountToLeds to the mica2 motes , i find they can't communicate with each other . i have chaged the frequency in CC1000Const.h , just chaged #ifndef CC1K_DEF_PRESET #define CC1K_DEF_PRESET (CC1K_433_002_MHZ) To #ifndef CC1K_DEF_PRESET #define CC1K_DEF_PRESET (CC1K_915_998_MHZ) (My mica2 motes use 900MHZ) in the primary tinyos tree (not the version of cvs) , i just chage this , the mica2 motes can communicate with each other , but in the cvs version , they can't . Do you know why , David ? have you tried ? thank you very much !! 2008/5/27 David Moss <[EMAIL PROTECTED]>: > Hi Jiwen �C > > > > 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:[EMAIL PROTECTED] > *Sent:* Monday, May 26, 2008 6:33 AM > *To:* David Moss; tinyos-help > *Subject:* Fwd: About LowPowerListening > > > > > > ---------- Forwarded message ---------- > From: *jiwen zhang* <[EMAIL PROTECTED]> > Date: 2008/5/25 > Subject: About LowPowerListening > To: David Moss <[EMAIL PROTECTED]>, tinyos-help < > tinyos-help@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 > -- zhang jiwen
_______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help