Dear all,
Thanks a bunch for all the help you have given me earlier.

Now i have come up with a new problem. :) I was going through BlockingAMSender 
interface in tosthreads. I'm not able to understand how wiring is done for 
AMSend in tosthreads. Here is the problem...

BlockingAMSenderImplP uses AMSend.
generic module BlockingAMSenderImplP() {
  provides {
    interface Init;
    interface BlockingAMSend[am_id_t id];
  }
  uses {
    interface SystemCall;
    interface Mutex;
    interface AMSend[am_id_t id];
    interface Packet;
    interface Leds;
  }
}


& the corresponding configuration file for BlockingAMSenderImplP is 
BlockingAMSenderP which is as follows.

configuration BlockingAMSenderP {
  provides {
    interface BlockingAMSend[am_id_t amId];
  }
  uses {
    interface AMSend[am_id_t amId];
  }
}

implementation {
  components MainC;
  components ActiveMessageC as AM;
  components new BlockingAMSenderImplP();
  components MutexC;
  components SystemCallC;
  components LedsC;
  
  MainC.SoftwareInit -> BlockingAMSenderImplP;
  
  BlockingAMSend = BlockingAMSenderImplP;
  AMSend = BlockingAMSenderImplP;
  BlockingAMSenderImplP.Mutex -> MutexC;
  BlockingAMSenderImplP.SystemCall -> SystemCallC;
  BlockingAMSenderImplP.Packet -> AM;
  BlockingAMSenderImplP.Leds -> LedsC;
}




I understand BlockingAMSend= BlockingAMSenderImplP , if i'm not wrong both 
(BlockingAMSenderImplP and BlockingAMSenderP) provide BlockingAMSend interface. 
But AMSend on the other hand is used by both BlockingAMSenderImplP and 
BlockingAMSenderP. But who is providing it?
i would be thankful if you can help me understand this.
ranal
                                          
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to