Commit Graph
172 Commits
Author SHA1 Message Date
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
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 2764c9bc52 Change GUI refresh rate to 4 times per second instead of 2. The
refresh rate is purposefully limited to allow for better system
performance while capturing but 4 times per second is not really too
fast. Also updated version number
2017-07-12 18:34:54 -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 1ccb9bac2e Major refactoring of ISOTP and UDS code to be more generic and have
better functionality.
2017-05-15 22:38:59 -04:00
Collin Kidder 74f6d7f947 Add preliminaries for signal viewer, update version number, switch dbc handler to singleton pattern, changes to DBC attributes 2017-01-15 16:30:08 -05:00
Collin Kidder bf48d5695f Changed code for program teardown to be more unified (still kind of broken though..) 2017-01-08 19:22:58 -05:00
Collin Kidder 7222870b1e Many little fixes to clean up warnings and bugs. 2016-12-29 20:50:02 -05:00
Collin Kidder beea680106 Changed the way the filter system works in the CAN connection objects - now used only for sending frames immediately to relevant objects. Tested to work in firmware updater. Currently broken elsewhere. Also switched main frame update interval from 4 times per second to 8 to make things smoother. 2016-12-29 19:13:51 -05:00
Collin Kidder 9cceb4404d Remove some older junk code, add ability for main screen to show the number of connected buses 2016-12-20 20:33:11 -05:00
Collin Kidder 0f3f9e0fad Unified time base now so both GVRET and Socketcan devices yield timestamps in microseconds since the program started or clear was pressed, fixed frames per second display, fixed timestamps for sent frames 2016-12-18 21:40:56 -05:00