SavvyCAN
SavvyCAN copied to clipboard
Save Graph to csv assumes constant frame timing
I have some logs which I want to export to CSV to analyze in Octave. I found a way to do that with the Graph window. (Is there a way to do it straight from a log with all signals in the DBC?)
However, I noticed that the output had frames spaced with an odd interval, something like 3.89ms. The log contains frames spaced 50ms with 1ms bursts
Looking through the code, I found this function void GraphingWindow::saveSpreadsheet()
Which has this section: //The idea now is to iterate from xMin to xMax slicing all graphs up into MaxCount slices. //But, actually, don't visit actual xMin or xMax, inset from there by one slice. Then, if //a given graph doesn't exist there use the value from the nearest place that does exist. double xSize = xMax - xMin; double sliceSize = xSize / ((double)maxCount); double equivValue = sliceSize / 100.0;
I wanted to analyze the fast bursts with 1ms spacing, but now I loose 70% of that data (3.89ms instead of 1ms).
Is there a way to fix this? (Or is there a way to export the interpreted log as a CSV with the original frame timing?)
This PR was merged to master recently and may give you what you need: https://github.com/collin80/SavvyCAN/pull/534