LoFi uses Hamming error-correcting codes to detect and correct transmission errors. I've chosen a version that is not the most data efficient, but is a reasonable compromise because:
- The cost of the microcontroller increases with the amount of program space
- The power usage of the microcontroller increases with its speed. So, I chosen to run the ATtiny at only 1 MHz
- The computational requirements increase as the checksum code is applied to larger number of bits
I was surprised on how poorly the textbook code performed on an Atmel AVR processor. I wrote a new implementation that reduced it to 55 bytes of program space and a faster run time.
The resulting library is available in the links section.
There is more information about Hamming codes and this implementation, if you are interested:
http://www.robotroom.com/Hamming-Error-Correcting-Code-1.html
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.