Commit Graph
104 Commits
Author SHA1 Message Date
Collin Kidder 51ba7a2e76 Add a new window that can be used to bridge two CAN buses with
selective ID forwarding.
2023-02-22 21:06:23 -05:00
Andy Huska 2ec4c6fe62 Disable row expansion on new file load and turn off row expansion when row count gets too high 2022-12-12 13:44:06 -06:00
Andy Huska 01d793f21f Merge branch 'master' into fix_customsendcrash 2022-11-02 16:52:20 -05:00
Andy Huska ec00713033 Improved auto row expansion for new unique frames coming in 2022-11-02 16:06:50 -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 ef762e5ae5 Added menu items to export csv decoded data, still need wiring 2022-10-17 10:33:13 -05:00
Andy Huska c6c19b38aa for clint 2022-10-14 16:25:03 -05:00
Collin Kidder f653ef859a Merge pull request #503 from llange/qt6.3-qelapsedtimer
replace QTime with QElapsedTimer when possible (qt6)
2022-09-26 21:22:22 -05:00
Ludovic LANGE 5a18c611e1 replace QTime with QElapsedTimer when possible (qt6)
Since Qt5, some methods of QTime [are deprecated](https://doc.qt.io/qt-5/qtime-obsolete.html).

Qt6 remove those methods, thus in two instances we need to use
a [QElapsedTimer](https://doc.qt.io/qt-6/qelapsedtimer.html) instead of a QTime.

QElapsedTimer is available since Qt5.4, and is already used in the source
code.
2022-09-24 17:54:51 +02:00
Andy Huska 6fa84df7e0 Added ability to maintain bus and msg filters when clearing frames 2022-09-19 13:31:00 -05: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
Chris Whiteford 51c25f0072 Support dragging and dropping of files onto app icon
Tested on macos and windows.  Drag and drop files onto either the dock icon or task bar icon once SavvyCCAN is running
2021-05-25 11:39:24 -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
Bertrand 57426d273a changing implementation of continuous logging
uncommenting function declaration
2021-02-23 09:52:24 +01:00
Bertrand 9166c5ff44 commenting reference to not (yet) implemented function 2021-02-23 09:20:53 +01:00
Bertrand ba63a25fe3 added bus filter to main window 2021-02-23 08:10:39 +01: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 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
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 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
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 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 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 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 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 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 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 a5ff16fc20 Added a new window that allows for bisecting a CAN log into pieces along a variety of patterns. Not quite complete but what's there works. 2016-12-13 22:38:09 -05:00
Collin Kidder b7a1afcd8f Further source file restructuring 2016-12-11 21:36:25 -05:00
Collin Kidder 0b46f564ab Reorganized source code 2016-12-11 21:06:41 -05:00
Collin Kidder 9e592d916c Merge branch 'master' of github.com:collin80/SavvyCAN into WIP2 2016-12-08 20:50:35 -05:00
Collin Kidder f0e0a8d705 Added a new window used to edit parameters for my motor inverter control board. Fixed firmware updater - tested to work now! 2016-08-09 18:44:53 -04:00
canpadawan 314ea0769d add sniffer 2016-07-07 16:47:43 +02:00
canpadawan f17b64e9f5 renamed an signal 2016-06-15 18:31:44 +02:00
Collin Kidder a3cd14e495 Additional implementation of the new connection scheme. It is now possible to send frames to CANConnection objects indirectly based on registered bus number.
This further abstracts the interface. Things are reasonably stable now for frame reception. Initial work has been done to support frame transmission as well. This is currently less stable but mostly working.
2016-03-27 22:37:02 -04:00
Collin Kidder 0bd3a3b95b Additional implementation of new connection system. The GVRET code can
now connect and run its thread.
2016-03-26 20:17:10 -04:00
Collin Kidder e7ded7737a Preliminary pass at converting connection system to use a more generic
approach and support more devices and multiple devices at the same time.
2016-03-19 21:40:21 -04:00
Collin Kidder 66675e47b3 Added an ISO-TP decoder. At the moment it tries to decode all frames
and that leads to odd results.
2016-03-06 20:44:25 -05:00
Collin Kidder 4767a7349f Added ability for sub windows to get frames much more rapidly than
before. Decoupled SerialWorker from MainWindow a bit and refactored
things.
2016-02-28 16:10:55 -05:00
Collin Kidder f3cccc2231 Updated version, added two new windows (not done), fixed more issues
with how connecting works - it now also stores the last connection so
you can resume using it the next time the program is run.
2016-01-26 19:53:15 -05:00
Collin Kidder 3ef905b68a Added a file manager and hooked it up. It is now possible to load and
edit multiple DBC files.
2016-01-17 17:09:47 -05:00
Collin Kidder a37dbe33aa FIx up some merge problems that slipped through the last commit. I
should be slapped for that.
2015-12-20 21:41:38 -05:00