Commit Graph
36 Commits
Author SHA1 Message Date
werner 60b0e65a18 Implemented connection save with speeds and can fd at least for bus 0. 2025-02-13 20:21:15 +01:00
Alexey Esaulenko 48f62ac41c CANConnection constructor: use correct order of members in the initialization list 2024-01-19 14:59:30 +04:00
maciek16c 190d51ae90 LAWICEL CAN-FD support, CAN-FD data rate selection 2023-11-22 14:39:36 +01:00
diekleinekuh 69c735b689 fix crash when stopping in debugger for too long 2023-02-21 14:55:07 +01:00
Collin Kidder 99e8eab30c Fixed crash bug in targetted frames code 2022-12-27 21:41:24 -05:00
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 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
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
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 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 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 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 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 b7bb37048b Enabled ability to use any QT SerialBus driver in SavvyCAN. Now
PeakCAN, ValueCAN, SocketCAN, and J2534 should all work.
2018-10-21 11:50:24 -04:00
Collin Kidder ac976643f4 Further work to get more buses working on the GVRET/M2RET devices 2017-10-22 20:15:18 -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 7c3fef54f9 Changed the way adding/removing targetted frames works. It's simpler
now.
2017-08-22 20:03:06 -04:00
Collin Kidder 670fd56869 Comment out some qDebug messages because they caused too much traffic
and weren't really that useful in general
2017-08-17 20:09:22 -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 439ac4fcc4 Update to V169 - Now compiles under QT 5.9 (LTS). Fixed some warnings,
switched to using system QTScintilla library on Linux. This prevents
you from needing to compile it yourself, added preliminary support for
three buses with a GVRET device (for Macchina M2 boards)
2017-07-06 21:30:55 -04:00
Collin Kidder 3d0b85c758 Remove superfluous file, fix compile bug 2017-05-22 19:47:06 -04:00
Collin Kidder ea52b4c512 Fixes for OSX 2017-05-21 20:18:59 -04:00
Collin Kidder e2811af479 Added a serial console to the connection window which can be used to
figure out what is going on with a connected device. Currently really
only useful for GVRET style devices.
2017-04-11 21:09:29 -04:00
Collin Kidder b18c30724e A bit better debugging messages, fix up filtering for firmware updater 2017-01-02 17:25:02 -05:00
Collin Kidder 2758fa8a09 Removed a few more warnings, switched the way CAN callbacks work. 2016-12-30 14:24:17 -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
canpadawan e402ea76fa add CANConManager 2016-06-29 11:55:58 +02:00
canpadawan d4f0bd4b19 add frame write support 2016-06-24 17:26:30 +02:00
canpadawan 1a195fe360 add filters & callback support 2016-06-20 17:34:30 +02:00
canpadawan 89ad77eab9 removed uneeded queue resizing 2016-06-16 15:52:47 +02:00
canpadawan d1c5642668 more thread abstraction 2016-06-16 13:25:56 +02:00
canpadawan 4553dd59ee new connection interface 2016-06-15 18:22:39 +02:00
canpadawan 80719b253b add lock free queue 2016-06-15 18:18:56 +02:00