cancel
Showing results for 
Search instead for 
Did you mean: 

Addressing SPIRIT1 SPSGRF-915 Packet Loss

RrW1
Associate III

My project involves using two SPSGRF-915 RF Transceivers (one acting as a transmitter while the other as a receiver all the time). I observe some degree of packet loss using a debugger window connected to the receiver node, and a Logic Analyzer connected to the transmitter node.

I produce a csv file through the Saleae Logic Analyzer and count how many bytes I transmitted through the csv file (I also observe a counter that increments if a TX_DATA_SENT interrupt is received on the transmitter node). On the receiver node, I also observe how many packets/commands are received through a variable that increments when a data is received. Comparing the two, I noticed that some packets are not received at the receiver.

One workaround that I implemented (which improved the packet loss issues significantly) is by using the STack packet format instead of the Basic packet format. I used the Link Layer Protocol's automatic retransmission and automatic acknowledgement. I set the transmitter to retransmit up to a maximum of 9 times (with a receive timeout of 0.63ms because the packet I am sending is fairly small: 4 bytes preamble, 3 bytes sync, 3 bytes main packet), and I also configured the receiver to perform an automatic acknowledgement.

I was wondering if there are other methods/workarounds that could improve the robustness of the communication. Right now, the packet loss issue is fairly small, but it would be nice to negate that completely. I would also imagine that 9x retransmission would be more than enough to counter the packet loss issues but it is still persistent.

Any thoughts or advice would be greatly appreciated.

Thank you!

1 REPLY 1
RrW1
Associate III

I managed to tackle this problem by increasing the amount of preamble words to 12 bytes. The communication seems to be more reliable with more preamble words.