Reputation: 1507
The best thing I could find on Google was Reed-Solomon encoding; but it seems quite drastic.
Basically, I'm communicating with a small, resource-constrained device that has a serial port. Communication is via infrared; the serial ports connect directly to IR encoder/decoder hardware which then connect to the IR trancievers.
Communication is half duplex. This is a hardware limitation as the IR trancievers would see their own transmission otherwise. I poll with the host and use an interrupt on the client to know when to transmit back.
The problem I have is that the hardware is extremely sensitive to electrostatic discharges. I have taken all practical hardware measures to reduce this issue and they aren't good enough; I'm now looking at software issues.
Can anyone suggest any implementations for error recovery, ideally which does not require retransmission?
The simpler the better. And if there's a free library out there, better still!
Upvotes: 1
Views: 195
Reputation: 4839
If you don't want to use Reed-Solomon, how about Golay Encoding? Its a pretty small algorithm and this code implements it completely in one C file and appears kosher to use in commercial projects (Though its not one of the standard Open Source licenses).
You can probably find other implementations as well. Golay codes are one of several mechanisms used for error recovery in low-bit rate digital radio systems.
Upvotes: 2