[Tinyos-help] Acknowledgements in Micaz
Michael Schippling
schip at santafe.edu
Thu Nov 27 10:23:14 PST 2008
It's entirely possible that the ack field is defaulted ON
when not being used. Also, I haven't looked that
carefully, but I seem to remember that the 'Z radio has
a hardware level ACK and the the MacControl disable is
only for the software level used in the mica2...
You'd have to search through the radio code to see how it's handled.
MS
cbalasubramanian at umassd.edu wrote:
> 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
> Tinyos-help at millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
--
Platform: WinXP/Cygwin
TinyOS version: 1.x, Boomerang
Programmer: MIB510
Device(s): Mica2, MicaZ, Tmote
Sensor board: homebrew
More information about the Tinyos-help
mailing list