I’ve been doing a lot of messing around with the CAN bus lately, and wanted an easy way to decode all bus traffic using the standard FRC CAN format. So I wrote a simple UI app to do it using many of the popular USB to CAN devices on the market, and wanted to publish it for people to use. Its currently a .NET Core Windows UI App, with support planned in the future for Linux and the Raspberry Pi.
Just run the exe, and it will find the first USB to CAN device connected and display all traffic read from the device.
I plan on developing this more in the future, and making it more reliable, as there are some issues in the low level driver for USB disconnects and reconnects currently.
Note this is not currently affiliated with WPILib, and is only a personal side project for me.
A shuffleboard plugin wouldn’t be cross platform anyway, as this requires USB hardware which has to be interfaced to at the native level.
Plus I very much dislike Java and have no interest in writing more then I have to, especially in it’s UI frameworks. C# is a much better language for me and doing this, and will be easier to get working cross platform as well.
Fun fact: This works with the latest SPARK MAX firmware (v1.5.0 and newer). So if anyone is curious about what the CAN bus is doing, just plug into a SPARK MAX and run this program (just don’t try to run this AND our client at the same time).
It’s using Avalonia. Windows Forms and WPF are Windows only, but Avalonia works cross platform. It’s new and still has some smaller issues, but its come a long way.