Commit Graph
96 Commits
Author SHA1 Message Date
Andy Huska cb94cac205 Fixed issue where filteredFrames was having its capacity changed
when adjusting filters due to appending a QVector of frames which
appears to change the capacity to the number of items appended.
Also fixed bug where preallocsize was being locally defined and
therefore the global version wasn't being updated with unknown
effets.
2022-09-19 13:47:57 -05:00
Andy Huska d56b35ea91 Made max # of frames an option in preferences, restart to take effect 2022-09-19 13:10:33 -05:00
Andy Huska 195c90c415 change the max amount of the reserved space for the frames and filteredFrames vectors
to be 99% of the capacity instead of 95%.
Reset initial capacity to be 10M frames for 64-bit machines now that testing is done.
Want to make the capacity adjustable by user, too.
2022-09-18 13:01:34 -05:00
Andy Huska 742956d46c Working on finding a way to prevent bad_alloc crash, temp stuff in place like prealloc size, and frames list resize (prob need to keep list below size limit to prevent chaos...10M msgs or so mabe) 2022-09-17 12:33:15 -05:00
Collin Kidder fadd5a6878 Merge pull request #458 from CSS-Electronics/feature_support_fd_in_comparison
Avoid undefined behavior if FD frame datalengths are present in sorting
2022-05-05 20:08:23 -04:00
Collin Kidder b37af8d948 Fix time formatting for "system clock" mode, fix a few small bugs
elsewhere, add ability to send/receive CAN-FD frames in GVRET.
2022-05-05 20:04:44 -04:00
Magnus Aagaard Sørensen a17e9ee8db Limit the comparison to 8 bytes or the length of the CAN frame, whatever is shorter, to avoid negative bitshifts 2022-02-21 08:23:46 +01:00
Collin Kidder c4a9f99445 Added two modes - millisecond timestamps for frames and a way to
ignore colors set in DBC files
2022-01-19 21:34:49 -05:00
Collin Kidder 344cc5b36b Update canframemodel.cpp
Fix normalize timing when there are no frames (fix suggested by @joee-co)
2021-08-18 18:46:28 -04:00
Collin Kidder e64e84d6fa Bug fixes for extended IDs in DBC files, fix one off error in a few
places (Corrects fuzzing window ID range), re-enabled overwrite mode
showing all signals in a message
2021-04-28 21:41:33 -04:00
Collin Kidder af0194c5a5 Fixes to make extended multiplexing code work properly, implementation
of nested multiplexing in main screen for interpretation.

Overall, it's ugly but mostly functional at this point.
2021-02-25 21:24:21 -05:00
Bertrand ba63a25fe3 added bus filter to main window 2021-02-23 08:10:39 +01:00
Collin Kidder 5a3e5636f6 Changes to hopefully handle error frames better over the socketcan
interface
2020-10-13 20:09:46 -04:00
Kanstantsin Shautsou 56571dd92a Align data 2020-10-07 03:21:49 +03:00
Collin Kidder 18e20a2ee2 Fix UDS interpretation of read by ID, Fix up display issues with
interpreted messages on main screen.
2020-09-21 22:04:28 -04:00
Collin Kidder d550fa79a0 Changed a lot of pointer references to const (it's more correct and
fixes a weird problem), fixed a problem with JSON to DBC, a few other
fixes
2020-02-13 22:01:06 -05:00
Collin Kidder 8beb0e31a0 Converted more code to be easier to generalize to larger CAN payloads
for CAN-FD. Improved some code to be faster. Fixed up some compile
time warnings.
2019-12-15 15:02:06 -05: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 b6a15a28cd More fixes for compiler warnings - cleaning up code and making assumptions more clear 2019-08-12 22:02:07 -04:00
mjuhanne 428b19c5c4 - Save DBC file configuration when changed, and restore it when restarting the application (no need for manual entry everytime app is launched)
- Add GMLAN 29bit filtering feature. In addition to J1939 matching, it is now possible to match DBC messages using only the Arbitration Id (bits 14-26 of CAN Address), since  Priority id (higher bits) and Sender Id (lowest 13 bits) are not relevant when interpreting the CAN message content. This allows to use the excellent GM Global A DBC files on https://github.com/commaai/opendbc. Just remember to select the "GMLAN" matching criteria on DBC File manager.
- Add "Filter labeling" feature. Using loaded DBC files, it matches the filter Ids with DBC messages and shows them in filter windows. Labeling works in the main window (no need to set "Frame interpret" on, since this is a separate feature), as well as in Flow view, Frame data analysis, Playback and Fuzzzing windows. This makes it so much easier to concentrate on those CAN messages that matter. To use this feature, select global "Label filters using messages from DBC files" on Main Configuration page, and then enable the feature on individual DBC files (on DBC file manager) as needed. This is needed if there's overlap in CAN addresses between DBC files, and because the filter labeler cannot tell apart anymore which Filter ID is associated to which bus, it might label them incorrectly. But usually it's ok to just enable the labeling with all the DBC files.
- In Frame data analysis window, in addition to J1939 decoding show also GMLAN (Priority bits, Arbitration Id, Sender Id) decoding.
- FilterUtility static class used for centralized ListWidgetItem creation and for other helper functions
- DBC handler: To allow setting bus numbers even before connection is configured, do not enforce "valid" bus numbers
2019-08-11 23:16:02 +03: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 e3a47fb42f Merge pull request #195 from nkirkby/194_new_filters_default_to_false_if_any_existing_filters_are_false
#194: new filters default to false if any existing filters are false
2019-06-11 21:58:14 -04:00
Collin Kidder 3c262693ac Overwrite mode now respects the bus number and will only overwrite frames with the same ID and bus number. Overwrite now also shows time delta instead of timestamp. 2019-06-11 21:54:47 -04:00
Nick Kirkby 828733340f #194: new filters default to false if any existing filters are false 2019-06-11 00:22:36 -07:00
Collin Kidder c363059951 Now doing custom sorting for main display. It now actually sorts the
frame list itself which will sort for all windows. Much faster, and
sorts properly for all columns. Also re-added custom display for
timestamp. Still needs to be fixed in Windows.
2019-05-01 20:23:32 -04:00
Collin Kidder a716eb8a30 Merge branch 'WIP' of github.com:collin80/SavvyCAN into WIP 2019-04-10 20:29:52 -04:00
Collin Kidder 67b7de48a6 Add frame count so that overwrite mode can show it. Frame count
replaces remote frame indicator when in overwrite mode.
2019-04-10 20:29:13 -04:00
Collin Kidder 44287793b4 Revert change in timestamp formatting as the new code would sometimes malfunction on Windows. 2019-03-30 23:46:09 -07:00
Collin Kidder 2e5de7a37d Reformat timestamps to look a bit nicer 2019-03-17 18:29:44 -04:00
Collin Kidder c9880be2c5 Add caching to the DBC signal system so that we can show all the
signals in overwrite mode.
2019-03-11 20:53:45 -04:00
Collin Kidder 118034b003 Fix the just added fun checkerboard pattern in the main frame view 2019-02-26 20:33:34 -05:00
Collin Kidder 31961361dd Make the main view model use the system colors and alternate row
background
2019-02-26 20:28:19 -05:00
Collin Kidder 6c633f8720 Overwrite mode now has a warning message before you can really enable
it. Also, it alters the main frame list to show just the one frame per
ID so it is extremely obvious that you're in overwrite mode.
2019-02-19 20:53:46 -05:00
Collin Kidder 9f20906df3 Fixes to formatting of main frame display. Fixes issue #164 2019-02-19 19:30:25 -05:00
Collin Kidder 693e29141c Fix for a warning that was happening 2018-07-24 22:12:10 -04:00
Fabián Inostroza b8896d76b6 Make SavvyCAN aware of remote frames. 2018-04-29 18:52:31 -03:00
Collin Kidder 028a108169 Added ability to decode MARK frames from the CAN stream. These are used just to mark
where you've done something. M2RET devices currently support this, more support to come later on.
2018-02-04 18:10:37 -05:00
Collin Kidder 842f5fe0bc Add ASCII representation to main window 2017-12-10 17:11:39 -05:00
Collin Kidder 3b9c793e99 Make CAN id's either be 3 hex digits or 8 hex digits when displayed - depending on whether a frame uses standard or extended id mode. 2017-11-26 16:30:48 -05:00
Andre Hartmann f5ccd9df05 CanFrameModel: Convert switches to enumeration and add documentation
And add or remove default labels to silence Clang compiler warnings.
2017-11-26 18:00:40 +01:00
Andre Hartmann 1b24b1677a CanFrameModel: Remove superflous breaks after return 2017-11-26 18:00:40 +01:00
Collin Kidder 03776b6ad7 Some bug fixes, much more work on ISOTP/UDS decoder window. 2017-10-12 20:09:22 -04:00
Collin Kidder 0fd4ca9b3f Changed frames per second display to work better in overwrite mode 2017-08-20 18:22:50 -04:00
Collin Kidder fb634fe9b5 A few bug fixes 2017-08-13 20:27:15 -04:00
Collin Kidder 2d01f695e2 Added ability to change time format string for when you're in System
Clock mode. Fixed code so that editing settings in the settings dialog
will now immediately take effect in the program.
2017-07-12 20:02:20 -04:00
Collin Kidder 78d1680eac Fix to allow overwrite mode to cause screen refreshing. The refreshes
in overwrite mode will be faster than the normal GUI refresh rate.
This could be handy for catching momentary messages.
2017-07-12 18:33:22 -04:00
Collin Kidder 8830950f85 Addition of "System Time" mode where frames are timestamped by
absolute time from the PC clock.
2017-07-09 16:54:26 -04:00
Collin Kidder d38b94120d Fixes to allow for rapid frame updating in screens that need it, more
implementation of UDS scanner (and fixes to make it work with current
code base)
2017-05-11 21:42:12 -04:00
Collin Kidder 92ebb2d527 Bug fixes to DBC attribute loading and message coloring. Message colors work now! 2017-01-19 20:34:18 -05:00
Collin Kidder 6af5cfadf4 Initial commit of color coding for DBC messages. It kind of works but there are many little kinks to work out yet. 2017-01-18 19:54:19 -05:00