Commit Graph
10 Commits
Author SHA1 Message Date
RefuhrandClaude Opus 5 3ae429ae48 feat: add gs_usb support on Windows
candleLight, CANable, CANnectivity and cantact adapters speak gs_usb. On
Linux and macOS the kernel driver exposes them as SocketCAN interfaces, so
SavvyCAN already reached them through Qt SerialBus. Windows has no such
driver, which left those adapters unusable there.

Add a GSUSBConnection that talks to the hardware directly over WinUSB:

- one connection per physical device, one SavvyCAN bus per CAN channel
- CAN FD including BRS, plus RTR, extended IDs and error frames
- known good bit timings for 16/48/80/160/170 MHz device clocks, with a
  generic solver for clocks the tables do not cover
- hardware timestamps, unwrapped across the 32 bit rollover and anchored
  to the host clock so they line up with the rest of SavvyCAN

gs_usb multiplexes every channel over a single USB bulk IN endpoint, so a
single reader thread drains it and hands frames to the connection thread in
batches, coalescing the wakeups. That keeps one producer on the lock free
queue, which the tx echo path already writes to.

Device scans skip adapters that a live connection holds. candle_dev_open()
shares the file handle and queues read URBs immediately, so probing a device
in use would consume frames the open connection is waiting for.

connections/candle_api is an unmodified copy of the candle Windows API, LGPL
3.0 rather than MIT and only compiled into Windows builds. See its README for
provenance.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XZnuZJ7zc3e8hk6C8bGDZN
2026-07-29 09:25:32 +02:00
Collin Kidder 2d9a491e7f Update some of the help files (Playback and Signal Editor) 2023-02-22 21:45:54 -05:00
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
Collin Kidder 5ef8403d40 Updated help files for several screens. 2023-02-13 22:02:47 -05:00
Collin Kidder ba2d3c221f Updated example pictures for several of the screens 2023-02-13 20:07:35 -05:00
Collin Kidder 20f7217ad3 A large update to the help files. The reference pictures have been
updated and several of the help files have been updated. This process
is not done yet.
2021-08-19 21:30:54 -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
Collin Kidder 204c115162 Updated help files 2021-05-21 21:08:00 -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 ca9b83ddc9 Switched from QtHelp to using straight HTML files for help.
This is because AppImage (for linux) is readonly and QtHelp requires
write access. But, HTML files shouldn't.
2019-08-18 18:52:15 -04:00