Our communication busses will use a number of protocols, including I2C: Electrical System Diagram. I2C, unlike CAN, doesn’t have any built in error correct or detection. Therefore, the burden is placed on the user to know if the data they sent wasn’t received correctly.
We want to research and pick a design for either error correction or detection, implement it in C, and validate it.
This will be done on a laptop, using 3 C functions. One will create a message to send by filling the values of a struct. It will also add the necessary data to the message to support the chosen error detection or correction method. This will be passed to the 2nd function, which will randomly flip one (or more) of the bits in the data struct. It will then pass it to the third function, that will detect whether an error has occurred, and either notify the user, or correct (depending on which design is chosen).
This will require a strong understanding of bitwise operations in C. Please make sure you understand how they work, and experiment a little.
Fill in your work and notes here.