Commit graph

9 commits

Author SHA1 Message Date
Lephenixnoir
92a95e0090
libfxlink: no-colors option + don't always enumerate devices [Windows]
Enumerating devices constantly caused some sort of error/crash that
would stop the monitor after just one frame or so.
2024-09-14 07:29:15 +02:00
Lephenixnoir
efcd6ec241
libfxlink, fxlink: install rules for MinGW build [Windows] 2024-09-14 07:29:10 +02:00
Lephenixnoir
9de441d0f4
libfxlink: basic device enumeration without hotplug [Windows] 2024-09-14 07:26:56 +02:00
Lephenixnoir
50997a8b75
very crude Windows build (WIP): disable fxlink TUI, gdb bridge
There is no direct replacement for poll() in the Windows API, so I'm
gonna disable the fxlink TUI for now and maybe later figure out how to
do something equivalent, even if more brute-forcey.
2024-09-14 07:26:56 +02:00
Lephenixnoir
85d7fcf9e9
libfxlink: fix race condition leading to lost messages
Basically if the calculator sends two messages in a row, it is possible
for a single libusb_handle_events() to get both. And the comm structure
wasn't designed for that, because it could buffer only one message at a
time, which the user needed to read after event handling.

The comm structure now has a 16-message buffer, which should be more
than enough for any single event handling loop. On the user level this
has implications in that fxlink_device_finish_bulk_IN() must be called
*in a loop* after each event handling cycle.

Reported in https://git.planet-casio.com/Lephenixnoir/gint/pulls/27
2024-03-24 19:25:35 +01:00
Lephenixnoir
2d293eeb35
libfxlink: remove confusingly unused IN message 2024-03-24 18:17:18 +01:00
Lephenixnoir
7b77fb9c0b
libfxlink: add status functions to avoid looking into fdev fields 2023-04-01 21:35:28 +02:00
Lephenixnoir
1251ca23ee
libfxlink: return status from fxlink_device_start_bulk_{IN,OUT} 2023-03-27 19:47:08 +02:00
Lephenixnoir
065233387d
split fxlink into library (not installed yet) and executable 2023-03-26 12:20:50 +02:00