Commit Graph
1393 Commits
Author SHA1 Message Date
Andy Huska 6ef4c2ddfa Fixed the queue of TX messages. Had to be moved to the worker thread. 2022-11-02 15:26:07 -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
Collin Kidder a554ab1dc9 Merge pull request #532 from BBuinich/can_fd_support
Added support for CAN FD frames to the SERIALBUS
2022-10-19 19:09:17 -04:00
Collin Kidder db3056818f Merge pull request #534 from qurrent-llc/add_reformatdecodeddatafile
Add mainmenu option to export decoded data as csv
2022-10-19 19:07:40 -04:00
Collin Kidder 4cdb7d01ac Merge pull request #533 from qurrent-llc/fix_socketcandpartialframedrop
Fix socketcand empty frame drop
2022-10-19 19:06:29 -04:00
Andy Huska cfe643b390 Merge branch 'master' of github.com:qurrent-llc/SavvyCAN 2022-10-17 12:50:51 -05:00
Andy Huska 61f1113d76 Added menu option to export decoded frames as CSV
More standard way of looking at parsed data

Handles multiple message types. Each message gets its own columns.
With many message types there are a lot of blank cells but its easy to
analyze.
2022-10-17 11:01:10 -05:00
Andy Huska 0220554e6b Merge branch 'fix_socketcandpartialframedrop' of github.com:qurrent-llc/SavvyCAN into fix_socketcandpartialframedrop 2022-10-17 10:45:58 -05:00
Andy Huska cb0746f3d0 Fixed socketcand dropping valid messaages with 0 data bytes 2022-10-17 10:39:51 -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
Bohdan Buinich 2c82535ca7 Added support for CAN FD frames to the SERIALBUS 2022-10-11 22:18:58 +03:00
Collin Kidder 677d9ba9f8 Add 83.33k speed to possible CAN speed options in the connections
windows.
2022-10-10 20:09:51 -04:00
Collin Kidder 9d1677f94d Merge pull request #530 from qurrent-llc/fix_dbc_creation
Fix dbc parse bug and add tools to enhance dbc creation
2022-10-10 20:03:45 -04:00
Andy Huska a36c04e986 Merge branch 'fix_dbc_creation' 2022-10-09 17:24:22 -05:00
Andy Huska f321cb19d3 Merge branch 'master' of github.com:qurrent-llc/SavvyCAN 2022-10-09 17:23:01 -05:00
Andy Huska 0f44cd9cf1 Merge branch 'fix_dbc_creation' of github.com:qurrent-llc/SavvyCAN into fix_dbc_creation 2022-10-09 10:58:04 -05:00
Andy Huska 04f4af1bf9 One lingering thing removed before PR 2022-10-09 10:57:25 -05:00
Andy Huska 6e4aac467b Merge pull request #5 from collin80/master
Getting latest from upstream
2022-10-09 08:48:21 -07:00
Andy Huska e86cfb277a Cleaned up all the UI elements and error checking for rebase and duplicate 2022-10-09 10:45:30 -05:00
Collin Kidder e9a364c4cc Added a function used by lawicel comm code. 2022-10-06 21:58:11 -04:00
Collin Kidder c6cb0d0bf5 Reworked Canalyzer ASC import to support more formats 2022-10-06 21:52:05 -04:00
Andy Huska d154a48aa9 Merge branch 'master' of github.com:qurrent-llc/SavvyCAN 2022-10-05 16:54:36 -05:00
Andy Huska 18a9007750 Merge branch 'collin80:master' into fix_dbc_creation 2022-10-05 14:51:01 -07:00
Collin Kidder 7678a498db Merge branch 'master' of github.com:collin80/SavvyCAN 2022-10-04 19:59:46 -04:00
Collin Kidder 61b49c9126 Changed the UDS Scan window quite a bit. Now there are more options
for scan types and the ability to create a list of scans to run.
2022-10-04 19:54:55 -04:00
Collin Kidder 9ebbaca668 Add a new connection type - Lawicel. It works for some devices, not
all. More development needed but this is a start. Also added ability
to set serial speed and bus speed in the device setup which may be
useful for other connection devices too.
2022-10-04 19:48:11 -04:00
Collin Kidder ce9701c4a0 Merge pull request #526 from qurrent-llc/fix_socketcandpartialframedrop
Fix socketcand partial frame drop
2022-10-04 18:34:01 -05:00
Collin Kidder fc8f60a1c3 Merge pull request #525 from qurrent-llc/add_nodenameinsignalviewer
Signal Viewer enhancements
2022-10-04 18:33:46 -05:00
Andy Huska 2644c66b61 Merge branch 'fix_dbc_creation' 2022-10-04 16:33:18 -05:00
Andy Huska 3c07785040 Buffer for partially received and/or leftover frame fragments
now working with multiple active busses.

Removed commented out test code and put a fix in for for
the filters list not having its capacity properly reserved
in recalcOverwrite so multiple entries of the same message
show up in the filtered view
2022-10-03 17:02:13 -05:00
Andy Huska e52a74ac7a Found a bug where complete frames being removed from the buffer were being shorted by 1 character
Committing now with debug comments for future reference
2022-10-03 16:36:30 -05:00
Andy Huska 08953a4004 Improved socketcand input buffer handling to reduce lost data.
No longer tossing partial frames, saving the data to concat with future data.
On startup there can be some data loss, but after it gets rolling there is none.
Added rough provision to ensure the buffer doesn't get filled with bad data, but
the decodeFrames recursive calls do a pretty good job of getting rid of it so I
haven't seen the buffer grow after millions of frames coming over a UDP-based VPN.
2022-10-03 11:26:28 -05:00
Andy Huska dc0b25bee8 Added setting for fixed width vs normal font in the data tables 2022-09-30 16:33:07 -05:00
Collin Kidder 61389864a0 Merge pull request #524 from bigoulours/patch-2
Priorizing exact match over J1939 and GMLAN
2022-09-29 21:27:55 -05:00
Collin Kidder 7af4748468 Merge pull request #518 from llange/qt6.3-qwheelevent
remove obsolete `QWheelEvent::delta()` (qt6)
2022-09-29 21:23:03 -05:00
Collin Kidder 4ea4e6e99a Merge pull request #514 from llange/fix-mqtt-static-cast-error
fix some static cast errors in QMqtt
2022-09-29 21:20:16 -05:00
Collin Kidder f78593c412 Merge pull request #513 from llange/fix-qmqtt-ambiguous-conversion
fix QMqtt ambiguous conversion
2022-09-29 21:17:42 -05:00
Collin Kidder 4d70601103 Merge pull request #512 from llange/itemflags
Use enums from `Qt::ItemFlags`
2022-09-29 21:16:24 -05:00
Collin Kidder c8e337d498 Merge pull request #511 from llange/qt6.3-qserialport
remove `QSerialPort` obsolete enum values (qt6)
2022-09-29 21:15:38 -05:00
Collin Kidder f715a7622e Merge pull request #510 from llange/qt6.3-skipemptyparts
replace `QString::SkipEmptyParts` with `Qt::SkipEmptyParts` (qt6)
2022-09-29 21:15:06 -05:00
Andy Huska bd8582b8e3 Added combobox for nodes so msg combobox isnt so long
Added disabled filenames in node combobox so you can understand what is what
Added node column to table
Made table columns sortable so you can sort by node name or message name

Want to make table fixed width font capable
Want to make table rearrangable
Want to make table rows shorter to fix more info in a window
Want to make it possible to have multiple signal viewer windows
Want to add ability to click on signals and add them to graphs like the main window
2022-09-28 20:02:27 -05:00
Andy Huska e8c2bba0c4 Merge branch 'master' into add_nodenameinsignalviewer 2022-09-28 19:16:33 -05:00
Andy Huska 3d9790344c Merge branch 'master' into fix_dbc_creation 2022-09-28 19:15:11 -05:00
Andy Huska 8232d90a73 Merge branch 'add_allowfilterstostayuponclear' 2022-09-28 19:14:02 -05: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
Ludovic LANGE 88e51a4a32 remove obsolete QWheelEvent::delta() (qt6)
The function `QWheelEvent::delta()` is [deprecated in Qt5](https://doc.qt.io/qt-5/qwheelevent-obsolete.html#delta),
and has been removed in Qt6.

We port it to `QWheelEvent::angleDelta()`.
2022-09-27 23:01:58 +02:00
Ludovic LANGE 5002f3ebec fix some static cast errors in QMqtt
The following error occurs twice:
```
mqtt/qmqtt_ssl_socket.cpp:49:13: error: static_cast from 'QAbstractSocket::SocketError (QAbstractSocket::*)() const' to 'void (QSslSocket::*)(QAbstractSocket::SocketError)' is not allowed
```

It may not be the cleanest fix but the it is the only one I could come with...
2022-09-27 22:15:47 +02:00
Ludovic LANGE 1af5cbacc6 fix QMqtt ambiguous conversion
Prevent error:
```
moc_qmqtt_client.cpp:459:53: error: conversion from 'QMQTT::ConnectionState' to 'QChar' is ambiguous
```
2022-09-27 22:09:30 +02:00
Ludovic LANGE 74388791bf remove QSerialPort obsolete enum values (qt6)
Three enums (`QSerialPort::ParityError`, `QSerialPort::FramingError`,
`QSerialPort::BreakConditionError`) are [deprecated since Qt5.6](https://doc.qt.io/qt-5/qserialport.html)
and removed from Qt6.

We remove them, it's unfortunate but I don't know how to replace
these - it seems that we need to handle those in an [OS-specific
way](https://codereview.qt-project.org/c/qt/qtserialport/+/125517/).
2022-09-27 21:36:38 +02:00