Where to start? I was inspired by the Cosworth PDR system on board the 3rd gen Cadillac CTS-V. Figured I could get mostly there on my own.
Macchina part -
Getting the macchina to log 2 channels of can to an SD card took a few hours. It’s till not perfect and there is some frame drops while writing. I am still working on this. The code was derived from examples and past experience with Arduino and SWCAN/GMLAN.
The OPPDR part -
I ended up using the Bokeh library for chart rendering. can4python to do frame decoding from the logged data. can4python leverages KCD can definitions for decoding individual packets. The “fun” stuff for PDR mostly resides on the high speed GMLAN. I get lat/long and tire TMPS from low speed single wire bus (I have yet to verify the GPS stuff, I think my filter/masks are wrong).
I load the logs from M2, parse them out into data points, shove them into a pandas data frame, re-sample and interpolate as needed and generate Bokeh plots (from a definition file) and a importable CSV of the raw data.
Hope that helps. I will document this thing a little better once I have time and get everything kinda tested.
The sample I have linked is actual data from a 2009 CTS-V logged with Macchina M2 to SD.