Cerb-family managed CAN drivers
This is a simple driver to add CAN functionality to cerberus, cerbuino and any product related to the cerb-family, even mountaineer boards.
The implementation is done completely in C# using register access, which makes it simple to debug and improve. This will also make it run slower, which is not a problem for transmit but receive may not be able to keep up with traffic. Once driver is all proven functions, it is best to be moved into an RLP or directly on the firmware to give better performance.
The original debugging comments are still in the code but they are all commented out. They may be beneficial if needed to know what is in certain registers as certain times. Feel free to delete them if they do not suit your needs.
There is also an included example sends the same CAN message through 20 times then one extended ID message.
To calculate CAN’s Phase Segments and Synchronization Jump Width you can (<-- pun) download a CAN calculator from this website: http://intrepidcs.com/support/mbtime.htm For oscillator, input 42 mHz as this is the peripheral clock speed of the bus that utilizes CAN.