[Tinyos-help] Allocating address to a mote using the
ActiveMessageAddressC component
Steve McKown
rsmckown at yahoo.com
Mon May 21 17:30:26 PDT 2007
Hmmm. It looks like the CC1000 radio implementation doesn't do hardware
filtering of incoming packets by addr, so you may need to do nothing but call
setAmAddress(). I haven't ever played around with the CC1000, so my quick
glance might be wrong.
On Monday 21 May 2007 16:01, Itamar Amsili wrote:
> Hi Steve,
>
> Thanks alot for the help and the code.
> I'm using the mica2 mote(and if i'm not wrong it uses the cc1000 chipcon
> for radio), so do you think it is compatible?
> as you probably know the interfaces are not the same at all bet. the cc2420
> and cc1000, so i'm not so sure what i can do.
>
> for you help i'll be grateful
>
> Itamar
>
> ----- Original Message -----
> From: Steve McKown <rsmckown at yahoo.com>
> Date: Monday, May 21, 2007 23:33
> Subject: Re: [Tinyos-help] Allocating address to a mote using the
> ActiveMessageAddressC component To: tinyos-help at millennium.berkeley.edu
> Cc: Itamar Amsili <amsilii at bgu.ac.il>
>
> > On Monday 21 May 2007 06:23, Itamar Amsili wrote:
> > > I need to allocate a new address to a new mote who joined the
> >
> > network,> (or maybe change a mote's ID from 1 to 2).
> >
> > > I want to do the allocation inside the program (dymanic), and
> >
> > i think i
> >
> > > need to use the ActiveMessageAddressC component.
> > > Do i need to use the ActiveMessageAddressC ? and how to use it?
> > > Can one shows me that?
> > > And if not using the ActiveMessageAddressC, what other options
> >
> > do i have?
> >
> > I'm using ActiveMessageAddressC and it mostly works. The
> > CC2420 radio knows
> > about the node address but doesn't get notified on changes via
> > setAmAddress(), so the code snippets below deal with that
> > issue. I suspect
> > the notification issue may affect other radios, but haven't
> > investigated
> > them.
> >
> > wiring:
> > components YourModule, ActiveMessageAddressC;
> > YourModule.amAddress -> ActiveMessageAddressC;
> >
> > components CC2420ControlC;
> > YourModule.CC2420Config -> CC2420ControlC;
> >
> > In a module:
> > /* to get am_addr_t if not already included */
> > #include "/opt/tinyos-2.x/tos/types/message.h"
> >
> > uses interface CC2420Config;
> > uses sync command void setAmAddress(am_addr_t a);
> >
> > then in the implementation somewhere:
> > someFunction(am_addr_t addr)
> > {
> > atomic {
> > call setAmAddress(addr);
> > TOS_NODE_ID = addr;
> > }
> > call CC2420Config.setShortAddr(addr);
> > call CC2420Config.sync();
> > }
> >
> > event void CC2420Config.syncDone(error_t err)
> > {
> > /* The radio has completed the change */
> > }
> >
> >
> > PS - Thanks go to David Moss, who helped me work through this
> > solution a
> > couple of weeks ago, on this list.
> >
> > Steve
> >
>
> !DSPAM:4652177d87941336712104!
More information about the Tinyos-help
mailing list