With any radio communication system it is important to plan for data corruption to take place because of the harsh RF environment and interference.
There are 3 ways that applications deal with data loss:
Ignore data loss because old data is bad data (remote contolling vehicles, etc.)
Application handles error detection and retransmission when necessary.
Radio modems handle error detection and retransmission at the RF level so the RF channel appears as a transparent reliable connection.
A system designer should try to reduce interference as much as possible by separating antennas of disparate systems as much as possible. If the system designer prefers to allow the radio to provide a reliable data channel they will have to enable a built-in function in our radios called reliable delivery.
Inside each XStream radio modem is a settable parameter for reliable delivery called "RR." If a pair of radio modems each have their RR parameter set to a number greater than 0, the transmitting radio will expect an acknowledgment from the receiving radio to indicate that it has successfully received a data packet. If an acknowledgment is not received, the transmitting radio will resend the same data packet (up to RR times) until it receives an acknowledgment from the receiving radio.
This will configure the modems to expect an acknowledgment from the receiving modem when the communication was successful. In the event of a comm failure, the transmitting modem will retry up to RR times (RR is the parameter to configure).
To enable this functionality simply configure the RR parameter available in the modems to a non-zero value. Most applications work well with a setting of 8 as a starting point. Using retries will slow down the response time slightly but will ensure good communication as retries always take place on a frequency different than were the error occurred to better overcome any potential interference.
Closely related to the RR parameter are the RN and TT parameters. They control a wait time before the transmitting radio resends a data packet. This is useful because if two radios are transmitting at the same time, they can be programmed to wait different time periods before resending their data packets. This will prevent a second collision when each radio retries the transmission.
Last updated: Aug 23, 2017