Hello friends, I'm having a hard time making a sensor wait a while before running a function.
event void TimerSlot.fired() { slot=slot%numslots; * if (padrao[slot]) *{ call AMControl.start(); //Call to start the radio dbg("teste","SLOT_ATIVO: No %hu no slot [%hu] com tempo=%lu.\n", TOS_NODE_ID, slot, call Clock.get()); * if (radio == TRUE)* { //The radio is not connected yet and does not send the packet dbg("teste","RADIO_JA_LIGADO: No %hu no slot [%hu] com tempo=%lu.\n", TOS_NODE_ID, slot, call Clock.get()); teste_msg_t* rcm = (teste_msg_t*)call Packet.getPayload(&packet, sizeof(teste_msg_t)); rcm->seqnum = seqnum; rcm->slot = slot; rcm->syncwith = syncwith; rcm->synchops = synchops; if (call AMSend.send(AM_BROADCAST_ADDR, &packet, sizeof(teste_msg_t)) == SUCCESS) { dbg("teste", "ENVIAR_PKT [seqnum=%hu], slot %hu no tempo=%lu.\n", seqnum, slot, call Clock.get()); seqnum++; locked = TRUE; } Note that soon after the first IF, I have a call to connect the radio (call AMControl.start ()), but when the execution arrives in the second IF, the radio is not effectively connected, making this condition not true in a first moment. I was wondering if there is a sleep function in which I set a time when I want the radio to turn on. Something like: If (slot) Call AMControl.start (); Dbg ("test", "SLOT_ATIVE: No% hu in slot [% hu] with time =% lu.", TOS_NODE_ID, slot, call Clock.get ()); -> sleep function (x); (I.e.) If (radio == TRUE) { Dbg ("test", "RADIO_JA_LIGADO: No% hu in slot [% hu] with time =% lu.", TOS_NODE_ID, slot, call Clock.get ()); I thank the help of all. -- View this message in context: http://tinyos-help.10906.n7.nabble.com/Sleep-function-no-mote-tp25076.html Sent from the TinyOS - Help mailing list archive at Nabble.com. _______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help