This driver was developed using a USB keyboard from Cherry,as indicated by the VID and PID codes. These IDs must be set for the device you intend to support. Similarly, you will need to set Class to the appropriate string for your device class.
This code implements the basic functions for an I2C slave device using the SSP module. All I2C functions are handled in an ISR. Bytes written to the slave are stored in a buffer. After a number of bytes have been written, the master device can then read the bytes back from the buffer.
We demonstrate a method for encoding and decoding the [24,12,8] extended binary Golay code using a simple apparatus. We also present several generalizations of this construction which admit similar decoding algorithms.