Take a look at this tree:

https://github.com/mmaroti/tinyos-main/commits/rfxlink-64bit

You should try it out with software acknowledgements, so RX_AACK
should be turned off. You should define "RFXLINK_64BIT_ADDR" macro.
Let me know how far you get with this. Once the software ack works,
then we can make the hardware ack work too.

Miklos

On Thu, Feb 21, 2013 at 11:25 AM, Miklos Maroti
<mmar...@math.u-szeged.hu> wrote:
> Is the broadcast address 0xFFFFFFFFFFFFFFFFULL? Miklos
>
> On Thu, Feb 21, 2013 at 11:20 AM, Roadstar Runner
> <redstripe...@gmail.com> wrote:
>> Hi,
>> Yes i would like to use the ActiveMessageC framework.
>> I hope that eventually a define in the makefile will upgrade the am address
>> to  a 64 bit version   .
>> Thanks,
>>
>>
>>
>> On Thu, Feb 21, 2013 at 12:15 PM, Miklos Maroti <mmar...@math.u-szeged.hu>
>> wrote:
>>>
>>> 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

Reply via email to