Commit Graph
232 Commits
Author SHA1 Message Date
Collin Kidder 4887ac8e62 Many fixes to file loading to prevent crashes and make failure more
clear.
2020-08-16 18:30:43 -04:00
Collin Kidder a5b7410629 Add tracking of DBC editing in order to warn when exiting without saving, add sorting to DBC routines, add a new screen that allows one to compare two DBC files for changes/differences. 2020-07-29 20:45:36 -04:00
Collin Kidder 9c143c2b12 Add two new buttons to expand or collapse all signals. 2020-04-02 21:47:20 -04:00
Collin Kidder e4a3854af4 Many little changes to get rid of compile-time warnings.
There now should be no warnings when compiling on LINUX. YMMV elsewhere.
2020-02-15 19:52:18 -05: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 2867838e75 Reformat status bar on main window and add text to explain F1 usage 2019-08-18 19:44:09 -04:00
mjuhanne cd5fe6da02 DBC settings and bugfixes
- Changes in DBC file manager are immediately propagated to the main window (frames, filter labeling)
- Prevent DBC file manager from saving settings too often and too early (this also fixes a bug where sometimes the settings of all but the first DBC file are lost)
2019-08-12 18:29:33 +03:00
mjuhanne 6272ba3911 Fix slowdown when loading big log files.
- updateFilterList was call repeatedly too many times
2019-08-12 01:33:10 +03: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 1a95ada592 Merge branch 'WIP' of github.com:collin80/SavvyCAN into WIP 2019-06-17 21:00:30 -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
Nick Kirkby 0b68e79809 #196: fix persistent settings on Ubuntu 19.04 2019-06-11 01:27:06 -07:00
Collin Kidder 164d5adadb Added a new window - Temporal Graph which shows all frame IDs and the
time stamp when they came in. Shows the temporal relationship between
all frames.
2019-05-05 11:52:32 -04:00
Collin Kidder 15d8ab62b6 Remove setting of vertical header for main window. Broke some systems
and doesnt seem to help anyone else.
2019-05-01 20:23:01 -04:00
Collin Kidder c12031158e Implemented the signal viewer and enabled it in the menu. 2019-04-15 20:56:39 -04:00
Collin Kidder 1ff3426627 Cause the program to properly exit when the main window is closed.
Previously sometimes other opened windows would persist and that was
annoying and not the expected behavior.
2019-04-14 17:00:14 -04:00
Collin Kidder 4ab888cd77 Fix bug where it was impossible to exit Overwrite mode. 2019-04-10 20:07:43 -04: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 3291869849 Fix automatic loading of connections on start up. Shouldn't crash
now...
2019-02-17 15:15:48 -05:00
Collin Kidder 842831e929 Fixes for issue #159 on github - Auto stroll sometimes didn't work and
playback didn't always update the current frame#.
2019-02-13 22:38:20 -05:00
Collin Kidder 25d135cdcc Fix up some compile warnings. 2018-10-21 15:06:05 -04:00
Collin Kidder 693e29141c Fix for a warning that was happening 2018-07-24 22:12:10 -04:00
Collin Kidder cc21686090 Fix for some operating systems (mostly windows) where size calculations failed and caused interpreted frames to disappear 2018-06-04 13:42:32 -04:00
Collin Kidder ff2b3e25cf Merge pull request #134 from FabianInostroza/fix_remote_frames
Make SavvyCAN aware of remote frames.
2018-06-03 10:59:09 -04:00
Fabián Inostroza dcce8a250f Register metatypes before loading and saving configuration. 2018-06-01 21:26:54 -04:00
Collin Kidder f5b8f1090b Fixes to allow native files and CRTD files to load with frame that have zero data bytes, allow loading of files that have errors. 2018-05-17 20:40:17 -04:00
Fabián Inostroza b8896d76b6 Make SavvyCAN aware of remote frames. 2018-04-29 18:52:31 -03:00
Collin Kidder 827754aa1c Remove some changes that only applied in a very specific circumstance, remove prototype and non general purpose entries from menus (you won't miss them) 2018-04-23 20:28:12 -04:00
Collin Kidder 0833b56b4f Fix overwrite mode so that selectively interpreting frames works properly. 2018-01-11 19:38:20 -05:00
Collin Kidder f4474badc5 Added ability to change the font size.
It mostly works. It's a little wonky sometimes but it will mostly change all fonts in the application to the size you set.
2017-12-10 20:02:11 -05:00
Collin Kidder d25c01ed1a Allow saving the column widths on the main screen and restoring them on next execution of the program.
This will happen if you have the prefs setting for saving window sizes and positions checked.
2017-12-10 19:25:50 -05:00
Collin Kidder 60242ece70 Small fix to ensure that settings are saved to their default values when you first run the program. 2017-12-10 19:18:15 -05:00
Collin Kidder 842f5fe0bc Add ASCII representation to main window 2017-12-10 17:11:39 -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 d02ac7701f Merge branch 'master' of github.com:collin80/SavvyCAN into WIP 2017-11-26 16:48:14 -05:00
Collin Kidder 8cbea00c4c Remove DBC related status bar message since functionality is handled in a separate window now and that status indicator was stale and unused. 2017-11-26 16:41:44 -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 4c8921ceca FramesView: Fix auto scrolling when frame capturing is suspended
Allow to freely scroll the captured frames window in suspended state.

Fixes #111
2017-11-26 15:44:04 +01:00
Andre Hartmann 560701e208 Untangle include forrest
Every change in connectionwindow.h led to a heavy project
compile, as the header was included in other headers.

Avoid this by using forward declarations and only include
connectionwindow.h in the C++ files that actually use it.
2017-11-25 17:27:08 +01:00
semant1ka 78f229d2a9 move even handlers to move aproppriate places 2017-10-26 22:13:03 +03:00
semant1ka 0883709f58 enbale sorting for main window and isotp 2017-10-26 21:55:51 +03:00
Ubuntu 88bd90f51a try basic code from SO 2017-10-25 12:19:26 -07:00
Collin Kidder 9be4838618 Added "continuous logging" functionality.
This is useful if you're having stability troubles and/or are worried
about crashes. With traditional logging you can lose your capture if
the program, CAN adapter, or computer crash before you've saved. With
continuous logging the file is flushed to disk every couple of seconds
so you won't lose more than a few seconds of log even during a crash.
2017-10-07 22:15:21 -04:00
Collin Kidder 162d79fbe9 Lots of large changes to scripting support, changes to the way
filtering works with ISOTP/UDS messages, updated version number.
2017-08-22 21:42:30 -04:00
Collin Kidder a109b7b22c Made connection window store window size/position. Tweaked teardown
code.
2017-08-21 20:29:08 -04:00
Collin Kidder 83399ed0a7 Switched to newest version of qcustomplot. 2017-08-06 21:25:17 -04:00