PacketAcknowledgements. wasAcked() returns a boolean: zero for FALSE, one for TRUE. However, you’re comparing to SUCCESS, which is an error_t, and its value is zero (see TinyError.h). Your check should just be
if (msg == &wtmsg && call PacketAcknowledgements.wasAcked(msg)) HTH, Michiel From: tinyos-help-boun...@millennium.berkeley.edu [mailto:tinyos-help-boun...@millennium.berkeley.edu] On Behalf Of jobishjohn ips Sent: Monday, July 28, 2014 08:47 To: tinyos-help@millennium.berkeley.edu Subject: [Tinyos-help] Regarding PacketAcknowledgements interface I am a beginner and uses TinyOS 2.1.2.I am using TelosB motes. I was experimenting about the PacketAcknowledgements interface. My code in brief (module file) is: ------------------------------------------------------- event void Boot.booted() { call timer.startPeriodic(1000); call radiocontrol.start(); } event void timer.fired() { nx_uint16_t * pntr = (nx_uint16_t *) call AMSend.getPayload(&wtmsg,sizeof(testdata)); (*pntr) = testdata; if(call PacketAcknowledgements.requestAck(&wtmsg)==SUCCESS) call Leds.led0Toggle(); call AMSend.send(destid, &wtmsg, sizeof(testdata)); } event void radiocontrol.stopDone(error_t error){} event void radiocontrol.startDone(error_t error){} event void AMSend.sendDone(message_t *msg, error_t error) { if ( (msg == &wtmsg) && (call PacketAcknowledgements.wasAcked(msg)==SUCCESS)) call Leds.led1Toggle(); else ack_success = FAIL; } --------------------------------------------------------------- Even with destination mote in the off state(no power), I get a SUCCESS(led1 toggles) for PacketAcknowledgements.wasAcked(msg). Where I am doing the mistake? I have connected, PacketAcknowledgements -> ActiveMessageC in my configuration file. Can any one please help me to find out my mistake..!!! Thanks Jobish John
_______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help