On Dec 18, 2006, at 11:10 PM, Philip Levis wrote:
I think it might be a bug in BaseStationCC2420, where it is not correctly copying the source address over. Instead, you're seeing two bytes of the 15.4 packet, which are aligned differently. Rather than this:msg = uartQueue[uartOut]; tmpLen = len = call RadioPacket.payloadLength(msg); id = call RadioAMPacket.type(msg); addr = call RadioAMPacket.destination(msg); It should be doing something like this: am_addr_t source = call RadioAMPacket.source(msg); msg = uartQueue[uartOut]; tmpLen = len = call RadioPacket.payloadLength(msg); id = call RadioAMPacket.type(msg); addr = call RadioAMPacket.destination(msg); call SerialAMPacket.setSource(source);
I just verified that this is the problem. I'm testing the code now, and will check in the fix shortly. I fixed it in both directions. Note, however, that the radio stack by default fills in the source address. So in the current implementation, the BaseStationCC2420 is not a perfect bridge, as packets will come from its source address. I'll talk with Jonathan on how to fix this.
Phil _______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
