Лучшая вещь, которую я смог найти в Google, была кодировка Рида-Соломона; но это кажется довольно радикальным.
По сути, я общаюсь с небольшим устройством с ограниченными ресурсами, имеющим последовательный порт. Связь через инфракрасный порт; последовательные порты подключаются напрямую к оборудованию ИК-кодера / декодера, которое затем подключается к ИК-трансиверу.
Связь полудуплексная. Это аппаратное ограничение, так как в противном случае ИК-трансиверы будут видеть свою собственную передачу. Я опрашиваю хост и использую прерывание на клиенте, чтобы узнать, когда передавать обратно.
Проблема, с которой я столкнулся, заключается в том, что оборудование чрезвычайно чувствительно к электростатическим разрядам. Я принял все практические аппаратные меры, чтобы уменьшить эту проблему, и они не достаточно хороши; Сейчас я смотрю на проблемы с программным обеспечением.
Кто-нибудь может предложить какие-либо реализации для устранения ошибок, в идеале, которые не требуют повторной передачи?
Чем проще, тем лучше. И если там есть бесплатная библиотека, еще лучше!