X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Flib%2Fbyte_radio%2FPacketSerializerP.nc;h=e495ef595c9646d5a3cfb41a7d2badb47bf9fa5e;hb=1a329382c4f4556fd52d85f4e3f4a67e54911682;hp=73e172edd76addfe40a2e4c8ad2f79f1af0ea6c9;hpb=3837fe262225242d1629ba72bdf12f6d162ba5c0;p=tinyos-2.x.git diff --git a/tos/lib/byte_radio/PacketSerializerP.nc b/tos/lib/byte_radio/PacketSerializerP.nc index 73e172ed..e495ef59 100644 --- a/tos/lib/byte_radio/PacketSerializerP.nc +++ b/tos/lib/byte_radio/PacketSerializerP.nc @@ -100,7 +100,6 @@ implementation { } async event void PhyPacketTx.sendHeaderDone() { - signal RadioTimeStamping.transmittedSFD(0, (message_t*)txBufPtr); TransmitNextByte(); } @@ -115,6 +114,7 @@ implementation { void TransmitNextByte() { message_radio_header_t* header = getHeader((message_t*) txBufPtr); if (byteCnt < header->length + sizeof(message_header_t) ) { // send (data + header), compute crc + if(byteCnt == sizeof(message_header_t)) signal RadioTimeStamping.transmittedSFD(0, (message_t*)txBufPtr); crc = crcByte(crc, ((uint8_t *)(txBufPtr))[byteCnt]); call RadioByteComm.txByte(((uint8_t *)(txBufPtr))[byteCnt++]); } else if (byteCnt == (header->length + sizeof(message_header_t))) { @@ -139,7 +139,6 @@ implementation { crc = 0; getHeader(rxBufPtr)->length = sizeof(message_radio_header_t); signal PhyReceive.receiveDetected(); - signal RadioTimeStamping.receivedSFD(0); } } @@ -160,6 +159,7 @@ implementation { message_radio_footer_t* footer = getFooter((message_t*)rxBufPtr); ((uint8_t *)(rxBufPtr))[byteCnt++] = data; if ( byteCnt < getHeader(rxBufPtr)->length + sizeof(message_radio_header_t) ) { + if(byteCnt == sizeof(message_radio_header_t)) signal RadioTimeStamping.receivedSFD(0); crc = crcByte(crc, data); if (getHeader(rxBufPtr)->length > TOSH_DATA_LENGTH) { // this packet is surely corrupt, so whatever...