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 ?
--
zhang jiwen
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help