These faults were all simulated in the code. This was done by telling the program that the motors had these faults even though it didn't. It would be good to verify that these all work in reality too.
[x] 0x00 - No faults
[ ] 0x01 - Motor Over Temperature
[ ] 0x02 - H-Bridge Fault
[ ] 0x03 - Motor Over Temperature | H-Bridge Fault
[ ] 0x04 - Motor Over Current
[ ] 0x05 - Motor Over Temperature | Motor Over Current
[ ] 0x06 - H-Bridge Fault | Motor Over Current
[ ] 0x07 - Motor Over Temperature | H-Bridge Fault | Motor Over Current
[ ] 0x08 - H-Bridge Over Current
[ ] 0x09 - Motor Over Temperature | H-Bridge Over Current
[ ] 0x0A - H-Bridge Fault | H-Bridge Over Current
[ ] 0x0B - Motor Over Temperature | H-Bridge Fault | H-Bridge Over Current
[ ] 0x0C - Motor Over Current | H-Bridge Over Current
[ ] 0x0D - Motor Over Temperature | Motor Over Current | H-Bridge Over Current
[ ] 0x0E - H-Bridge Fault | Motor Over Current | H-Bridge Over Current
[ ] 0x0F - Motor Over Temperature | H-Bridge Fault | Motor Over Current | H-Bridge Over Current
These faults were all simulated in the code. This was done by telling the program that the motors had these faults even though it didn't. It would be good to verify that these all work in reality too.