Ok, I have started to look into this. Do you want to use the ActiveMessageC framework, right? How do you want to eventually handle the 64-bit address vs the 16-bit address defined in AM.h? Maybe we should change am_addr_t to 64-bit? Miklos
On Thu, Feb 21, 2013 at 10:59 AM, Roadstar Runner <redstripe...@gmail.com> wrote: > So far no luck :-( > I was under the impression that this is all i should need. Are there any > other quirks in the RF230 that might be causing a problem? > > > > On Thu, Feb 21, 2013 at 11:57 AM, Miklos Maroti <mmar...@math.u-szeged.hu> > wrote: >> >> Looks good! Let me know if you run into problems. If it works, then I >> will merge it back to the mainline. Miklos >> >> On Thu, Feb 21, 2013 at 10:54 AM, Roadstar Runner >> <redstripe...@gmail.com> wrote: >> > Hi Miklos, >> > Thanks for the quick response. >> > i made the following changes to support 64 bit addressing >> > >> > /*************** File Ieee154PacketLayer.h*****************/ >> > typedef nx_struct ieee154_header_t >> > { >> > nxle_uint16_t fcf; >> > nxle_uint8_t dsn; >> > nxle_uint16_t destpan; >> > #ifdef RF230_EXTENDED_ADDR_MODE >> > nxle_uint64_t dest; >> > nxle_uint64_t src; >> > #else >> > nxle_uint16_t dest; >> > nxle_uint16_t src; >> > #endif >> > } ieee154_header_t; >> > >> > >> > >> > >> > /************************** >> > Ieee154PacketLayerP.nc**********************/ >> > >> > >> > enum >> > { >> > IEEE154_DATA_FRAME_MASK = (IEEE154_TYPE_MASK << >> > IEEE154_FCF_FRAME_TYPE) >> > | (1 << IEEE154_FCF_INTRAPAN) >> > | (IEEE154_ADDR_MASK << IEEE154_FCF_DEST_ADDR_MODE) >> > | (IEEE154_ADDR_MASK << IEEE154_FCF_SRC_ADDR_MODE), >> > >> > IEEE154_DATA_FRAME_VALUE = (IEEE154_TYPE_DATA << >> > IEEE154_FCF_FRAME_TYPE) >> > | (1 << IEEE154_FCF_INTRAPAN) >> > #ifdef RF230_EXTENDED_ADDR_MODE >> > | (IEEE154_ADDR_EXT << IEEE154_FCF_DEST_ADDR_MODE) >> > | (IEEE154_ADDR_EXT << IEEE154_FCF_SRC_ADDR_MODE), >> > #else >> > | (IEEE154_ADDR_SHORT << IEEE154_FCF_DEST_ADDR_MODE) >> > | (IEEE154_ADDR_SHORT << IEEE154_FCF_SRC_ADDR_MODE), >> > #endif >> > IEEE154_ACK_FRAME_LENGTH = 3, // includes the FCF, DSN >> > IEEE154_ACK_FRAME_MASK = (IEEE154_TYPE_MASK << >> > IEEE154_FCF_FRAME_TYPE), >> > IEEE154_ACK_FRAME_VALUE = (IEEE154_TYPE_ACK << >> > IEEE154_FCF_FRAME_TYPE), >> > }; >> > >> > >> > >> > /************************** RF230DriverHwAckP.nc >> > *******************************************/ >> > temp = call ActiveMessageAddress.amAddress(); >> > #ifdef RF230_EXTENDED_ADDR_MODE >> > writeRegister(RF230_IEEE_ADDR_0, temp); >> > writeRegister(RF230_IEEE_ADDR_1, temp >> 8); >> > #else >> > writeRegister(RF230_SHORT_ADDR_0, temp); >> > writeRegister(RF230_SHORT_ADDR_1, temp >> 8); >> > #endif >> > >> > Right now i am only using the lower 2 address bytes for testing. >> > >> > >> > Thanks, >> > Lou >> > >> > >> > >> > >> > >> > >> > On Thu, Feb 21, 2013 at 11:40 AM, Miklos Maroti >> > <mmar...@math.u-szeged.hu> >> > wrote: >> >> >> >> Hi Lou, >> >> >> >> On Thu, Feb 21, 2013 at 10:36 AM, Roadstar Runner >> >> <redstripe...@gmail.com> wrote: >> >> > Hi Miklos, >> >> > Thank you very much. I do not even get the interrupt from the radio >> >> > if i >> >> > use >> >> > RX_AACK mode. If use the basic mode , it works fine. >> >> > I used a TI (CC2430) sniffer and was able to see teh messages being. >> >> > The >> >> > data i included is from the sniffer. >> >> > >> >> > If i set the filter on the sniffer to 802.15.4 packets, it shows all >> >> > the >> >> > fields as i expect I have attached a screenshot of the sniffer >> >> > capture. >> >> > >> >> > Does tinyos support 64bit 802.15.4 addressing at the hardware level >> >> > ? >> >> >> >> The current ActiveMessageC for the RF230 works only with 16-bit >> >> addresses, so that is the problem. You can try to hack every piece of >> >> code to make it work, but that is not easy. If you decide to go ahead >> >> with that, then I can give some pointers. Basically, you want only >> >> 64-bit addresses, so no mixing should be allowed, otherwise the >> >> address of other fields in the packet need to be calculated >> >> dynamically. >> >> >> >> Miklos >> >> >> >> > >> >> > Thanks once again, >> >> > Lou >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> > On Thu, Feb 21, 2013 at 11:22 AM, Miklos Maroti >> >> > <mmar...@math.u-szeged.hu> >> >> > wrote: >> >> >> >> >> >> If you have serial working, then you can define RADIO_DEBUG_MESSAGES >> >> >> which will print out the received messages via the DiagMsg protocol. >> >> >> You should connect your mote to a PC, and there run the "java >> >> >> net.tinyos.utils.DiagMsg" application. Take a look at >> >> >> RF230DriverLayerP.nc line 677, you can also put some LED commands >> >> >> there the verify that you get messages. The RF230 does not do any >> >> >> hardware filtering, only the FCS (even snooping works, and CRC check >> >> >> is done in software). Miklos >> >> >> >> >> >> On Thu, Feb 21, 2013 at 12:20 AM, Roadstar Runner >> >> >> <redstripe...@gmail.com> wrote: >> >> >> > The data i had posted seems to have lost its formatting, so i am >> >> >> > re >> >> >> > posting >> >> >> > the raw data captured by the sniffer >> >> >> > >> >> >> > >> >> >> > >> >> >> > 41 CC 11 22 00 FF FF 00 00 00 00 00 00 F8 00 00 00 00 00 00 00 3F >> >> >> > 08 >> >> >> > 0B >> >> >> > 03 >> >> >> > 00 F8 00 0F 10 00 AA 01 F8 00 00 00 00 00 00 00 00 00 >> >> >> > >> >> >> > >> >> >> > >> >> >> > >> >> >> > >> >> >> > _______________________________________________ >> >> >> > Tinyos-help mailing list >> >> >> > Tinyos-help@millennium.berkeley.edu >> >> >> > >> >> >> > >> >> >> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help >> >> > >> >> > >> > >> > > > _______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help