[Tinyos-help] AM_INTMSG or TOS_BCAST_ADDR

Chen Bleed bleed1979 at hotmail.com
Thu Aug 2 18:13:50 PDT 2007


 
Finally I find a method to solve the problem.
I consult AM.h and watch TOS_Msg struct.
I see addr is the first field.
So I declare a variable uint16_t moteID.
and add these code:
 
moteID = msg->addr;  /* msg is argument TOS_MsgPtr */
if(moteID == TOS_LOCAL_ADDRESS)
{
/* do something */
}
 
I dont know whether this method is correct or not.
But now only mote 10 will do something I want.
 
thx, all. You are so kind.
 
Chen, Chien Mao
> Date: Thu, 2 Aug 2007 10:51:32 -0600> From: schip at santafe.edu> To: uhu at gmx.ch> CC: bleed1979 at hotmail.com; Tinyos-help at Millennium.Berkeley.EDU> Subject: Re: [Tinyos-help] AM_INTMSG or TOS_BCAST_ADDR> > On the issue of not filtering by moteID...> T1 GenericComm on micas does, and your mod of send is correct.> However I've heard tales of that not happening on this list,> but I don't remember what combination of modules and platforms> were at issue. You could try a search and see if anything turns up.> MS> > > Urs Hunkeler wrote:> > Hi,> > > > Think of AM_INTMSG as something like a port number. It does not identify> > a mote. TOS_BCAST_ADDR is a broadcast address. All nodes that physically> > receive the message will forward it to the application layer. You can> > find more information in this paper: http://www.tinyos.net/papers/ammote.pdf> > > > Cheers,> > Urs> > > > > > Chen Bleed schrieb:> >> > >> Hello, all> >>  > >> Now I am studying for Lesson 4 of TinyOS 1.x tutorial.I have two tmote sky(s) and I also have a problem.> >>  > >> The file IntToRfm.nc has the line "IntToRfmM.Send -> Comm.SendMsg[AM_INTMSG];"I consult IntMsg.h and find out the value of AM_INTMSG is 4(by default, you can change).> >>  > >> The id of One of my tmote is 3. I upload CntToLedsAndRfm program.The other tmote whose id is 4. I upload RfmToLeds program.It works fine.> >>  > >> When I change the code in IntToRfmM.nc/* code - start */if (call Send.send(TOS_BCAST_ADDR, sizeof(IntMsg), &data)) return SUCCESS;/* code - end */> >>  > >> to code/* code - start */if (call Send.send(0x000a, sizeof(IntMsg), &data)) return SUCCESS;/* code - end */> >>  > >> I want to transmit message to mote 10 but mote 4 still receives messages.(I know TOS_BCAST_ADDR is 0xffff).Then I run CntToLedsAndRfm on TinyViz and create 30 motes.I see all motes has shot radio purple line to mote 10(use radio plugin).I am confused!!!> >>  > >> So, I cannot change this result(mote 4 receives messages) even if I modify the destination address??Indeed, I dont know the rela
tion between AM_INTMSG and TOS_BCAST_ADDR.Does anyone explain it??> >> thx all, and sorry for my bad English.Chen, Chien Mao> > _______________________________________________> > Tinyos-help mailing list> > Tinyos-help at Millennium.Berkeley.EDU> > https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_________________________________________________________________
下載最新版本的 Windows Live Messenger 8.1,分享音樂、共用搜尋,和即時傳訊好友線上同樂!— 立即下載 
http://get.live.com/messenger/overview
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20070803/f2f7c054/attachment.htm


More information about the Tinyos-help mailing list