Commit Graph
148 Commits
Author SHA1 Message Date
Collin Kidder 7678a498db Merge branch 'master' of github.com:collin80/SavvyCAN 2022-10-04 19:59:46 -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
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
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
Collin Kidder 61088d0184 Merge pull request #507 from llange/qt6.3-qatomicinteger
replace QAtomicInt load()/store() with loadRelaxed()/storeRelaxed()
2022-09-26 21:25:10 -05:00
Ludovic LANGE 5ac5a7d45f replace QAtomicInt load()/store() with loadRelaxed()/storeRelaxed()
Since Qt5, some methods of QAtomicInteger [are deprecated](https://doc.qt.io/qt-5/qatomicinteger-obsolete.html).

Qt6 remove those methods, thus we need to replace them.
2022-09-24 22:13:02 +02:00
Ludovic LANGE 9fb86e649f remove qRegisterMetaTypeStreamOperators (qt6)
Since Qt6, some methods of [QMetaType are removed](https://doc.qt.io/qt-6/qtcore-changes-qt6.html#the-qmetatype-class).

We remove `qRegisterMetaTypeStreamOperators()` calls for Qt >= 6
2022-09-24 17:51:25 +02:00
Collin Kidder e2ad516bd2 Merge pull request #495 from qurrent-llc/fix_socketcand
Fix two socketcand issues: start up switch to raw mode, crash due to partial frame
2022-09-19 18:47:31 -05:00
Andy Huska 60520b5939 Added handing of ok message from RAW mode switch coming in out of order with other messages...
For now I made it its own else statement so it can be detected
2022-09-17 12:52:03 -05:00
Andy Huska 47d07b8bf2 Fixed bug where switching to RAW mode would fail due to the "ok" response being received in the same message as the first data frame
Sometimes when opening socketcand 1 or more busses won't start right and there's a ton of debug data saying "received datagramm: ...."
It seems to happen because the switch to RAW mode is in progress and we receive the OK with a frame in the same datagramm and we don't parse the OK out of the string
but rather expect the whole string to just be OK.  Offending code is in socketcand.cpp SocketCANd::procRXData line 386

Fixed by looking to see if the < ok > message was at index 0 of the incoming message...could also look for it elsewhere (as in index != -1), but not sure if necessary
2022-09-17 12:48:48 -05:00
Andy Huska 7b966fe4a6 Fixed incorrect handling of partial frame tagged onto the end of a complete frame.
Not sure if my method drops the partial or just sends the buffer back to continue filling.
2022-09-16 15:38:54 -05:00
Ahmed Sheimy 1c87008970 Update canconfactory.cpp
restore network connection was not working because it was detected as serial by this modification it is working
2022-08-05 18:32:45 +04:00
Collin Kidder b37af8d948 Fix time formatting for "system clock" mode, fix a few small bugs
elsewhere, add ability to send/receive CAN-FD frames in GVRET.
2022-05-05 20:04:44 -04:00
Collin Kidder 6e0e967ea4 Add 33333 speed to CAN bauds, along with a few more commented out. 2021-09-19 18:22:14 -04:00
Collin Kidder 44a48b3515 Fixed up MQTT connection code, made connection window hook up setup
debugging to the console if it is enabled.
2021-06-15 22:12:43 -04:00
Collin Kidder f53ad8a65a Fixed help system.
Also switched from Sphinx generated HTML to GitHub markup help files.

This improves compatibility and will allow the help files to more easily be viewed on github as well.
2021-05-30 23:40:47 -04:00
Bertrand c49783a55b adding socketcand support 2021-02-23 09:38:19 +01:00
Bertrand 0283571d16 adding connection reordering (move up/down)
replacing connectionwindow.ui with own version
2021-02-23 08:55:24 +01:00
Collin Kidder a5cf484e7c Merge branch 'master' of github.com:collin80/SavvyCAN into WIP 2021-02-17 21:18:34 -05:00
Magnus Aagaard Sørensen 0cfa6ce379 Enable support for Tx via QCanBus by utilizing information stored in hasLocalEcho. 2021-02-15 10:27:43 +01:00
Collin Kidder b345495178 Fix compilation on Windows, fix glitch that could cause windows to appear off the actual screen with no way to get them back. 2020-11-15 01:30:13 -08:00
Collin Kidder 5a3e5636f6 Changes to hopefully handle error frames better over the socketcan
interface
2020-10-13 20:09:46 -04:00
Collin Kidder 3fa9f14651 Changes to MQTT interface to make it work properly with current python
script
2020-08-18 22:43:41 -04:00
Collin Kidder 45d045649c Got MQTT reception working. You'd need a python script that isn't
public yet in order to do this. Sorry...
2020-08-06 21:39:07 -04:00
Collin Kidder 2da2855bfa A bit more work on MQTT support. It can actually connect to an MQTT broker now. 2020-08-05 21:53:21 -04:00
Collin Kidder ee287eac4b Add two new external libraries. SimpleCrypt is used to encrypt passwords, QMQTT is an MQTT
library that I was able to integrate into the codebase so there aren't any external
dependencies. Both external projects have their own open source licenses. Those licenses
are included. Also in this commit is some preliminary work to start adding MQTT support to SavvyCAN.
2020-08-05 20:24:02 -04:00
Collin Kidder 1cb0351c86 Fix gvret code to work with single bus adapters (such as Macchina A0), small change to UDP receiver 2020-07-15 18:25:31 -04:00
Collin Kidder 909710fcfa Add text boxes to Fuzzing window to make it easy to set the bytes
directly and to show feedback while fuzzing is running.
2020-02-15 21:25:32 -05: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 0baffa300f A partial commit that changes CANFrame over to be based on
QCanBusFrame so that things are more compatible with other Qt based
CAN bus code. Not complete yet but getting there.
2019-12-11 21:17:33 -05:00
Collin Kidder 0567d5ef14 More changes meant just to fix up compiler warnings. 2019-08-08 22:09:02 -04:00
Collin Kidder 947f24f267 More fixes for compile warnings 2019-08-08 21:49:03 -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
Nick Kirkby 618879870e show tooltip for socketCAN error string 2019-06-11 17:18:06 -07:00
Collin Kidder 09b8d64f4a Add a reset connection button. Automatically disconnects and
reconnects to try to heal a broken connection.
2019-05-13 20:50:16 -04:00
Collin Kidder 5f97e968e3 Remove label for bus number and instead use tabs. The tabs are now
numbered by the actual system bus number and not always based on 1 any
longer.
2019-04-24 22:10:03 -04:00
Collin Kidder 2e4e6d5ba1 Fix to code that allows for pseudo frame sending without any actual
CAN buses connected.
2019-04-14 20:08:49 -04:00
Collin Kidder c157da0a90 Add back in the ability to suspend/resume all buses from the main
screen. Whoops, it got deleted by accident!
2019-03-14 19:32:14 -04:00
Collin Kidder f16660ba52 Add ability to clone DBC signals. F2 will also do this from the
keyboard (very handy!)
2019-03-11 21:42:19 -04:00
Collin Kidder bf0492e084 Fix an issue with automatic remote detection when multiple instances
of SavvyCAN are running.
2019-03-06 21:02:24 -05:00
Collin Kidder 591ebe71df Fixes to debug console in connection window 2019-03-06 20:20:40 -05:00
Collin Kidder f23abe170f Fix a glitch with the new connection window and bus settings 2019-03-06 19:59:19 -05:00
Collin Kidder ec49413f61 Major revamp of the connection window. Hopefully it is more clear and
intuitive now.
2019-03-05 21:25:32 -05:00
Collin Kidder 70e8af85af Added ability to automatically find ESP32RET devices on the local network 2019-02-27 20:29:08 -05:00