Commit Graph
62 Commits
Author SHA1 Message Date
Leopixelo 614f2fef54 implement seeking in playback window and add playback line in graphing view 2026-06-08 15:13:12 +02:00
Leopixelo af048e8615 fix timestamp to always be in milliseconds 2026-06-08 15:13:08 +02:00
Leopixelo a2851653e3 add more shortcuts to main window and graphing window 2026-06-08 15:10:58 +02:00
Leopixelo 539031d5b2 do not rescale y axis of graphing window when changing graph parameters 2026-06-08 15:03:38 +02:00
Leopixelo 1ac843ed3d set default state of graphing window follow end of graph to true 2026-06-08 15:03:38 +02:00
Collin Kidder 52f8d7941e Reimplementation and rework of pull request from SebKuzminsky that adds ability to
graph floating point values from DBC signals. Credit for this suggestion and initial code goes to him
2025-05-08 21:48:07 -04:00
Collin Kidder 319127c330 Fix issue where graph windows would be corrupted if a new file was
loaded while graphs were visible.
2024-03-18 21:13:02 -04:00
Alexey Esaulenko fa707ab2da Minor: fix memory leak on GraphingWindow file operations 2024-01-19 14:59:57 +04:00
Alexey Esaulenko 5e027e5cef GraphingWindow: don't use size_t as indexes for Qt containers 2024-01-19 14:58:49 +04:00
Andy Huska ab476c746e Added fully qualified dbc, node, and msg searching
...to graphing window and signal viewer so complex systems with message
name duplication (eg "Status") works well.  DBCHandler class has a new
function to find a msg by fully qualified node name...Utility class defines
the qualified name seperator, right now it is :: and is used thusly
filenameNoExtension::nodeName for display in the node dropdown (because
nodes can be common between dbc files).  To get the message from the
system you use the findMessage function in dbchandler and pass the
msgName and the fully qualified node name.  This is about as unique as we
can get, second only to message ID.

Added node comboBox to graph signal editor for easier data filtering
(took the same implementation that was in signal viewer, and tuned up
both of them)
2023-05-17 17:23:27 -05:00
Collin Kidder 39b43ebf38 Switched up the way time stamp formatting is done. Now tracked by an
enum for easier determination. Also changed graphing window to respect
"system clock" style timestamps and display them properly.
2023-03-15 19:50:58 -04:00
Collin Kidder ffc9278380 Allow hiding / showing byte graphs in Frame Info. Double click on
graphs for magic.
2023-01-17 22:09:39 -05:00
Collin Kidder bc2b759152 Merge pull request #358 from pyjamasam/openglgraphfixes
Fix up double sized opengl graph rendering on high res screens
2022-12-25 13:27:51 -05:00
Collin Kidder edc210c336 Only code clean up to remove many warnings. There should be no changes
to program operation.
2022-12-05 19:33:47 -05:00
Collin Kidder 79678af7ba Much more implementation of CANDataGrid for CAN-FD. More or less works
now for both changed bit and signal views. There are still some
graphical tweaks to do. Probably doesn't quite work in fuzzing window
just yet.
2022-12-04 13:15:02 -05:00
Collin Kidder e1c4046bf1 Graphing window now respects bus number. Set to -1 to allow any bus or
to 0 or a positive number to lock a graph to a specific bus.
2022-11-29 21:15:38 -05:00
Andy Huska 01d793f21f Merge branch 'master' into fix_customsendcrash 2022-11-02 16:52:20 -05:00
Andy Huska 1b41decd20 Custom sender is no longer crashing
There are a TON of explorations I did here, many may be unnecessary, but this is a stake in the ground.

The main issue was the strange queue logic in canconmanager::sendFrame which puts the tx data in the rx
queue so it will show up in the displayed data.  It caused SIGABRT and SIGSEG to show up everywhere.
It is NOT fixed yet, but TX works over the wire you just can't see it in the tableview.

I thought at first it was only when overwrite data was active, so I put in a a pile of changes to keep
frames and filtered frames as two seperate copies of data where frames was always complete and filtered
was only what was seen in the mainwindow.  It made it so the graphing window would work with overwrite
data active which is an improvement.  I wouldn't roll these changes back.  Because of these changes I
had to update the frame sorting code adjust the refresh function in canframemode.cpp

I also thought it was related to UI updates, but its not, that's been confirmed.

I put a mutex around the custom sender tick timer so that the 1ms timer wouldn't re-enter its callback.
This didn't fix the crash, but it sure seems to make a lot of sense, and the way I did it no elasped
time is lost for tracking purposes, and in reality theres no way 1ms was consistent anyway.

I put a mutex around the shrinking of frames and filteredframes to make sure we weren't deleting at
the same time as accessing, but honestly we acccess those lists in many places without semaphores so
that probably did nothing.

Fixed a bug in FrameSenderWindow:DoModifiers that was improperly parsing and sometimes crashing when
looking for the ~ operator before a symbol.

Also added some minor work to keep row expansion functioning when changing filters or sorting.  Need
to make some tweaks so it stops trying so hard when overwrite is not active

Theres also code in main.c taht makes debugging output super verbose.

Committing now to start cleanup
2022-11-01 15:01:07 -05:00
Andy Huska c6c19b38aa for clint 2022-10-14 16:25:03 -05:00
Dominik Bayerl 26823e7c18 GraphingWindow: improve interpolation for CSV-export.
Fixes #320.

Note: Interpolation is still not quite correct and may have remaining artifacts at the epsilon-T region.
2021-12-02 22:53:14 +01:00
Chris Whiteford bd538febe8 Fix up double sized opengl graph rendering on high res screens 2021-05-31 12:52:25 -04:00
Collin Kidder f53ad8a65a Fixed help system.
Also switched from Sphinx generated HTML to GitHub markup help files.

This improves compatibility and will allow the help files to more easily be viewed on github as well.
2021-05-30 23:40:47 -04:00
Collin Kidder 45193c1fad Added signal comparison to the file comparison window. Very poor, slow
proof of concept inplementation - will be improved soon.
2021-05-04 22:36:09 -04:00
Collin Kidder 0d34958c63 Fixes to make graphing of multiplexed signals work properly 2021-05-02 20:58:23 -04:00
Collin Kidder e4da6237ae Additional work on "Value Table" signals while graphing. Now supports
realtime addition of value table labeling as well as bracketing
2021-05-02 18:55:06 -04:00
Collin Kidder 35c1ef5387 Added ability to create multiple graphing windows that act separately.
Added ability to right check on signals in main view and graph them
directly.
2021-05-02 12:48:47 -04:00
Collin Kidder 1844695a78 Added DBC signal value table strings to graphs of signals with value
tables, incremented version number.
2021-05-01 09:39:02 -04:00
Brian T. Rice 3014002574 extract method 2021-03-14 13:44:47 -07:00
Brian T. Rice 26df0173e8 GraphingWindow: add a menu option 2021-03-13 16:33:54 -08:00
Brian T. Rice 59a29e765c GraphWindow: support double-clicking the axis to resize it to the data 2021-03-13 15:38:01 -08:00
Collin Kidder 2a03b4f35d Added many additional graphing modes. They are loaded/saved in graph
definitions as well.

Incremented version number.
2021-02-18 21:41:42 -05:00
Collin Kidder b345495178 Fix compilation on Windows, fix glitch that could cause windows to appear off the actual screen with no way to get them back. 2020-11-15 01:30:13 -08:00
Collin Kidder ef24036d1c Finished switching over everything to the new can format (I hope). It
seems to function now but much more testing is needed.
2019-12-13 21:06:48 -05:00
Collin Kidder 0baffa300f A partial commit that changes CANFrame over to be based on
QCanBusFrame so that things are more compatible with other Qt based
CAN bus code. Not complete yet but getting there.
2019-12-11 21:17:33 -05:00
Mark Schulte 902a82c318 [graphing] Ignore RTR messages
RTR messages will be incorrectly graphed as "0", even though it's not
a real message.
2019-12-05 17:14:27 -08:00
Collin Kidder b6a15a28cd More fixes for compiler warnings - cleaning up code and making assumptions more clear 2019-08-12 22:02:07 -04:00
Collin Kidder e7e65b7216 Fixed up a bunch of compiler warnings.
There should be no functional difference, just less noise when compiling
2019-08-08 21:15:51 -04:00
Collin Kidder d4a735a710 Allow many places to load and save the last directory used for that functionality so it can easily be used again.
All frame file I/O uses the same directory load/save location but DBC files store separately as do filter files, graphing definitions, and stored text files from the various reverse engineering windows.
2019-06-17 20:58:56 -04:00
Collin Kidder 377b42c8e7 Fix some bugs related to graphing and loading graph definitions 2019-05-27 10:08:31 -04:00
Collin Kidder 539fecc16b Fix reported location when double clicking a graph. Now reported X,Y
location matches where the circle indicator is actually placed.
2019-05-06 21:49:10 -04:00
Collin Kidder b8c83bbfd7 Fix parent for new graph window, fix empty graphs are impossible to
selectively remove or edit, add associated signal to graphs so they
bring up the proper signal in the list on the right in the editing
window.
2019-04-14 17:01:30 -04:00
Collin Kidder ba94db77bf Update version number, small fix to graphing window 2019-03-19 20:43:36 -04:00
Collin Kidder 151217bc3f Merge branch 'master' of github.com:collin80/SavvyCAN into WIP 2019-02-13 21:00:19 -05:00
MartinX 52f04791dd add setWindowFlags(Qt::Window) to improve window management
* improves window handling a lot
	(on Linux GNOME 3 at least: quickly resizing windows left/right, not forced in foreground anymore etc.)
	setWindowFlags() inserted in all *window.cpp files except mainwindow
    * some whitespace at EOL trimmed
2019-02-13 20:08:41 +01:00
Collin Kidder ecf4c1788b Fix loading of graph definitions 2018-09-18 19:24:21 -04:00
Collin Kidder db4ea80bbc Fix up "Save to Spreadsheet" command. More or less works properly now. 2018-08-28 19:52:08 -04:00
Collin Kidder b7e8429222 Add a circle on the selected graph where you double clicked on it. Also show text with the coordinates at the clicked graph location 2017-12-14 21:47:18 -05:00
Collin Kidder 9302c18c33 Integrated help into the system. Most all the sub-screens that are actually complete
and working have integrated help now. Press F1 to bring up help for a given window.
2017-11-30 21:02:16 -05:00
Collin Kidder 290af20e62 Fix graphing of realtime data (previously an error caused only last
graph to update).
2017-08-30 21:30:00 -04:00
Collin Kidder cbc6115ec4 Make OpenGL graphing mode a setting so you can turn it on/off, sped up
realtime graphing in Graphing Window.

OpenGL mode is pretty and you'll like it if you have a good video
card. But, don't enable it if you do a lot of complex graphing and
you have a crappy built-in Intel or AMD graphics card - your
performance will suffer. Otherwise, if you have a nice card enable it
for a nice graphical boost and maybe a little more speed.
2017-08-30 20:55:33 -04:00