Hi,
I have a question regarding acknowledgments in micaz. I am using the
following module and calling the MacControl.disableAck(). However I am
still able to receive acks.
I was wondering how this is possible??
Thanks,
Chandrika
module MyAppM
{
provides {
interface StdControl;
}
uses {
interface Timer;
interface SendMsg;
interface ReceiveMsg;
interface Leds;
interface MacControl;
}
}
implementation
{
TOS_Msg m_msg;
int m_int;
bool sending_packet = FALSE;
command result_t StdControl.init() {
m_int = 0;
call Leds.init();
return SUCCESS;
}
command result_t StdControl.start() {
call MacControl.disableAck();
if( TOS_LOCAL_ADDRESS == 1 ){
call Timer.start( TIMER_REPEAT, 5000 );
}
return SUCCESS;
}
command result_t StdControl.stop() {
return SUCCESS;
}
event result_t Timer.fired() {
if( sending_packet == FALSE ) {
CountMsg_t* body = (CountMsg_t*)m_msg.data;
body->n = m_int;
body->src = TOS_LOCAL_ADDRESS;
if( call SendMsg.send( 2, sizeof(CountMsg_t), &m_msg ) == SUCCESS ) {
call Leds.set( m_int );
sending_packet = TRUE;
}
}
//m_int++;
return SUCCESS;
}
event result_t SendMsg.sendDone( TOS_MsgPtr msg, result_t success ) {
if (msg->ack)
m_int++;
sending_packet = FALSE;
return SUCCESS;
}
event TOS_MsgPtr ReceiveMsg.receive( TOS_MsgPtr msg ) {
if( TOS_LOCAL_ADDRESS != 1 ){
CountMsg_t* body = (CountMsg_t*)(&msg->data[0]);
call Leds.set( body->n );
}
return msg;
}
}
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help