Commit Graph
189 Commits
Author SHA1 Message Date
Leopixelo f1a9e0d83e do not auto interpret isotp messages 2026-06-26 17:24:58 +02:00
Leopixelo 1b77ee8a35 add isotp ascii decoding and autoscroll 2026-06-08 15:13:13 +02:00
Leopixelo 2acbe443ec add support for start date offset 2026-06-08 15:13:13 +02:00
Leopixelo 0e26233dbf change application display name to internal joke 2026-06-08 15:13:13 +02:00
Leopixelo 8510db79f2 do not close graphing window on escape 2026-06-08 15:13:12 +02:00
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 bb26f52c3d Add reading of the version map from firmware that shows which files to flash onto a given controller
given its buildid.
2026-05-14 21:01:43 -04:00
Collin Kidder 2be3351e16 Added ability to read buildid which is necessary in order to grab the proper firmware files for the given hardware 2026-05-14 20:33:56 -04:00
Collin Kidder 66e0987113 Add ability to set directory where Tesla firmware is stored, use it to populate fields and allow selection of ECU to flash. 2026-05-14 19:56:07 -04:00
Collin Kidder 035b65243b Remove old custom firmware sender and replace it with AI designed UDS firmware sender. Not tested AT ALL.
Committing merely to give a baseline for further changes
2026-05-13 20:46:53 -04:00
Collin Kidder ad65cf78a8 Better / more accurate interpretation of J1939 IDs in frame info window 2026-03-04 21:12:51 -05: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 6271e52987 Merge pull request #888 from Metaln00b/feature/set-all-button-in-fuzzing
FuzzingWindow: Add buttons to set all high/low/auto
2025-05-05 20:44:52 -04:00
Florian 56fcb23a5e FuzzingWindow: Add buttons to set all high/low/auto 2025-02-03 00:33:11 +01:00
Collin Kidder f2bd1d9d6b Add a save function to ISO-TP decoder window 2024-08-13 20:59:52 -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 f2a692c309 Minor: SnifferWindow: fix deprecated constant 2024-01-19 15:01:55 +04:00
Alexey Esaulenko a86a78e19a Minor: DBCComparatorWindow: sanity checks to fix gcc warnings 2024-01-19 15:01:14 +04:00
Alexey Esaulenko 0885149492 FrameSender: fix memory corruption while writing to the QCanBusFrame with empty payload 2024-01-19 15:00:15 +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
Collin Kidder bf309130f3 Fix crash bug in graphing window when trying to edit graphs that don't
hvae a corresponding signal entry in a DBC file
2023-11-21 21:04:56 -05: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 1e5f5c7a94 Fixes to UDS Scan window to make it function properly while also
loading/saving successfully
2023-03-20 22:09:39 -04: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
diekleinekuh 499d683ad6 uds scan tool improvements
- color id,subfunc and service fields red if they caontain invalid ranges
- do not change user input anymore
- set default extension when saving
- allow setting lower bounds for subfuncs > 0xFF
2023-02-21 15:00:17 +01:00
Collin Kidder 579957aaa6 Transition yellow color on graphs to a darker tone for better
visibility.
2023-02-16 19:14:37 -05:00
Collin Kidder 329f1162ac Merge branch 'master' of github.com:collin80/SavvyCAN 2023-02-14 19:48:07 -05:00
Collin Kidder 728f8c9e4e Better handling of range boundaries in UDS window. Now allows the
starting value to push ending value along with it for easier setting
of values.
2023-02-14 19:47:30 -05:00
diekleinekuh 60888e6a86 Use selected can bus in uds scanner.
Before it always used the first bus no matter what.
2023-02-14 19:00:49 +01: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 18a9dbdfb6 Fix up graph zooming for all the graphs on Frame Info. Now possible to
scroll or zoom one axis at a time.
2023-01-15 22:42:49 -05:00
Collin Kidder 74ec42a720 Add new heatmap mode to CAN data grid widget, put that widget onto
Frame Info Window. Made Frame Info Window able to have the two sides
resized relative to each other
2023-01-15 17:05:43 -05:00
Collin Kidder bbb5c99e78 Reworked the Info Window to use separate graphs for each byte and also
allow dynamic drag based resizing of the two sides of the window
2023-01-15 15:18:35 -05:00
Collin Kidder 816dc70b60 Fix crash when the Frame Info window is used then closed then a new
file is loaded.
2023-01-12 20:54:53 -05:00
Collin Kidder 03d9f04e21 Added a bitchange heatmap to frame info window, incremented version
number.
2023-01-12 20:35:04 -05:00
Collin Kidder 6bb980920f Fix swapped bytes when sending a "Request DTCs" message in UDS scanner. 2023-01-12 20:01:09 -05:00
Collin Kidder 329a5016cc Add graph fixes to flowview and frame info windows
Prev commit fixed graphing window but these other two had the same problem on hiDPI screens
2022-12-25 18:16:01 -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 549113f9e1 Flowview will now automatically set the grid to support the frame data
length even for CAN-FD frames (Use Middle Mouse Button to force it to
different sizes)
2022-12-04 22:29:46 -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