Commit Graph
60 Commits
Author SHA1 Message Date
Collin Kidder 780e2fb1a2 Several changes suggested in draft pull requests from llange. Fix some
ambiguous places, fix warnings, fix errors when trying to compile with
QT6
2023-04-11 21:15:34 -04:00
Warrick d431c67aa3 Comments should come before attributes 2023-02-10 18:44:40 +13:00
Collin Kidder 8f9503ff0b Fixes for DBC saving, especially when saving extended frames. Saved
DBC files should load in Vector tools now.
2023-01-10 22:14:56 -05:00
Collin Kidder fa57b3ec55 Added undo functionality to signal editor. CTRL-Z undoes what you just
did but undo buffer currently is deleted when signal window is closed
so undoing is limited currently.

Seemingly fixed issue where it would
constantly think you edited the open DBC file when you didn't.
2022-12-29 21:25:11 -05:00
Collin Kidder 8ff3459c75 Fixed several DBC related bugs, expanded support for FD frames in the
DBC editor windows. Should more or less function now even for FD frames.
2022-12-07 21:51:44 -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
Andy Huska 18a9007750 Merge branch 'collin80:master' into fix_dbc_creation 2022-10-05 14:51:01 -07:00
bigoulours b8039f9b16 Priorizing exact match over J1939 and GMLAN
Hi Collin,
I had a case where two ECUs were sending the same PGN (with different contents though), leading to SavvyCAN picking the first found PGN-Match.
Hence my proposal: go over the list until an exact match is found, otherwise returning the best match (same PGN).
2022-09-28 15:42:19 +02:00
Andy Huska 27b58552df rebase working but definitely needs clean up for all the whatifs 2022-09-21 18:04:11 -05:00
Andy Huska 0ee9eacbb3 realized that the value list was already supported so reverted
my custom code.  The issue that made me go down this path
is related to the little endian checkbox mysteriously and
inconsistently unchecking and therefore interpreting enum values
wrong...would really like to find this.
2022-09-20 17:08:20 -05:00
Andy Huska 6accf2e9e7 Fixed bug in extended addressing check
where ID was being AND'ed with 80000000 decimal instead of hex
2022-09-20 16:48:11 -05:00
Andy Huska e6058ead34 Progress!
Masked error caused by saving dbc while editor is open that causes
msg IDs to go crazy by making editor modal, but that affects all
other windows, so might be a better fix.

Added new value type of VALUE_STRING, probably better named
ENUMERATED_STRING, and it uses the table in the editor to define
the enum.

Fixed a bug in the signal viewer load when a signal is not matched
(I found it by renaming a signal and then loading)
2022-09-20 16:23:18 -05:00
Andy Huska 13c920f971 Fixed regression where non-commented node would not delete
Fixed odd crash due to dbcNode being null on refresh
2022-09-20 07:46:30 -05:00
Andy Huska 7e4ebf2c74 Fixed nonfunctional node delete. Was due to trying to find node by name but
passing in the name and comment concatenated together.  Made a new function to
find by name+comment since extracting only name from the text in the column would
require too much guessing.
2022-09-15 18:59:24 -05:00
Andy Huska b6b73d0e11 Fixed crash when deleting a message that isn't at the bottom of the node 2022-09-15 18:39:56 -05:00
Collin Kidder bba4fccac6 Vast change to CAN data grid to show signal names. Many graphical
tweaks, some bug fixes.
2021-08-24 22:28:32 -04:00
Collin Kidder d78cb9878e Fix for another DBC related crash 2021-05-23 11:19:59 -04:00
Collin Kidder a1923f132b Fixed crash with adding DBC signals, slight code change for clarity in
DBC code
2021-05-23 10:52:23 -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 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 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
Collin Kidder bcfaffbe5d Switched code around to better support high/low range for multiplexed
signals
2021-02-23 22:14:43 -05:00
Collin Kidder e00aa1150a First pass implementing support for extended multiplexing.
This causes significant changes to the DBC interface. Things are
probably a bit broken right now. Committing to get it on record
before further large changes are done.
2021-02-23 21:22:56 -05:00
Collin Kidder a8cde9fc5f Fixed several seg faults and other errors in DBC code 2021-02-17 21:19:30 -05:00
Collin Kidder 3d4cf98e3d Minor fixes to DBC code 2020-11-18 20:31:39 -05: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 4cfb4b903a Added ability to delete nodes, messages, signals within tree. 2020-07-26 14:49:08 -04:00
Collin Kidder 717228a091 Added searching to DBC window to make it easier to find messages. Replaced deprecated random number calls with new method. 2020-07-15 18:23:18 -04:00
Collin Kidder ccab975a70 Fixes for loading tesla json files (if you somehow get some) 2020-04-02 19:55:04 -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 1a5d67d09e Merge branch 'WIP' of github.com:collin80/SavvyCAN into WIP 2020-02-12 21:18:11 -05:00
Collin Kidder 7f8411f47f Fixes to hopefully make signal colors look proper. 2020-02-12 21:16:02 -05:00
Collin Kidder 48d7dfa97c Add ability to load Tesla ODIN JSON files. Where will you get such a
file? State secret.
2020-02-12 19:56:43 -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
Tobin Hall 9fb61507a7 Adding types to allow for saving and loading of little endian floats 2019-12-11 11:36:22 +13: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 0567d5ef14 More changes meant just to fix up compiler warnings. 2019-08-08 22:09:02 -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 a0cc88ede2 Fix for a few issues with DBC file loading and the ability to reorder DBC files. 2019-05-28 21:26:33 -04:00
Collin Kidder 428eab683e Add a new function to DBC handler to make it easier to find messages
by name
2019-04-14 18:27:25 -04:00
Collin Kidder 15460f70e3 Fix inappropriate default color that made DBC messages default to a
bad color scheme for dark themes
2019-03-19 21:02:35 -04:00
Collin Kidder d4f52311f7 Fix to correct a few places where 2 buses were hard coded as the
limit. There is no hard and fast limit to the number of buses you can
have now.
2019-02-19 21:19:51 -05:00
Collin Kidder b3a5f2498f Ensure one cannot save DBC files with blank message and signal names,
fix up some warnings.
2018-09-18 19:23:38 -04:00
Collin Kidder 6ee5a7f7d7 Add checks to ensure that references to nonexistant nodes are handled 2018-07-24 21:35:42 -04:00
Collin Kidder 80d7b8a993 Refactored DBC loading code a bit to get some of the complication out of the main loop. Fixed loading DBC files where the nodes are on separate lines. Updated version num. 2018-01-15 22:45:20 -05:00
Fabián Inostroza 077cb223e0 Fix DBC handler and DBCFile. Initialize j1939 attribute to false by default. 2017-11-03 01:12:18 -03:00
Fabián Inostroza 218e3141d2 Controls and code for using a J1939 database. 2017-10-22 03:35:36 -03:00