Commit Graph

73 Commits (e29d63b08c8a64fae848b6f8a9911f555007f09e)

Author SHA1 Message Date
Paul Hollinsky 92790330f1 macOS: STM32: Fix device finding for newer versions of the OS 2021-03-22 16:07:51 -04:00
Paul Hollinsky 09a02ff420 Platform: Windows: Unicode safe
Compile and run correctly whether UNICODE and _UNICODE are defined or not
2021-01-28 15:51:35 -05:00
Kyle Schwarz 33a84bf8ce PCAP: Switch to pcap_dispatch() 2020-11-17 15:05:14 -05:00
Paul Hollinsky e5920417ff POSIX: FTDI: Use libusb include directory
This allows for the same include to be used on macOS
2020-10-08 21:09:45 -04:00
Kyle Schwarz a5b27a15b0 Allow disconnections to be signaled by drivers
This allows for disconnections to be detected quickly
where possible.

It also makes sure other driver errors aren't thrown
in the event of a disconnection.
2020-10-08 17:38:10 -04:00
Paul Hollinsky 6f0654c336 Windows: PCAP: Rework for Ethernet Packetizer and Performance 2020-09-22 19:22:40 -04:00
Paul Hollinsky 9dc4b302ef POSIX: PCAP: Enable if permissions are set, with a warning otherwise
On Linux, raw packet capture requires CAP_NET_RAW (or root).

If we can't capture raw packets, we will not be able to find/connect to
devices over ethernet.
2020-09-14 11:51:15 -04:00
Paul Hollinsky a325d8a12b PCAP: Send initial requests from the interface MAC
This allows the device to respond directly to us
2020-09-01 15:53:45 -04:00
Paul Hollinsky c48995520f POSIX: FTDI: Report warnings and retry on libftdi errors 2020-09-01 15:15:36 -04:00
Paul Hollinsky 5db07102aa PCAP: Listen for ICS_UNSET_MAC
On newer firmware, the device will address the PC directly after
EnableNetworkComm. Before this, it will set the destination MAC to
00:FC:70:FF:FF:FF.
2020-08-27 12:24:35 -04:00
Paul Hollinsky b5c9443fc8 POSIX: PCAP: Ensure packets get captured
No packets were being captured with a timeout of 0
2020-08-27 12:24:35 -04:00
Kyle Schwarz 7cd008a003 Switch to non-blocking I/O for STM32
STM32 can latency is not as good as it could be when it is synchronous due to read() timeouts,
so switch to asynchronous reading with select().
2020-08-25 16:14:47 -04:00
Kyle Schwarz 4cd897badd Fix deadlock with Driver::write
Use a spin lock to recheck the queue size until it has room to push.
2020-08-14 16:57:52 -04:00
Kyle Schwarz afda617894 Remove trailing white-space 2020-08-11 13:42:13 -04:00
Paul Hollinsky 2079037ae4 POSIX FTDI: Nicer error message for when device is in use
Commonly, the device is being used by another libicsneo program
(icsscand, maybe) or passed through to a VM.
2020-06-24 22:15:22 -04:00
Paul Hollinsky 25f079b5c6 POSIX FTDI: Fix a bug where closing device successfully returned an error 2020-06-24 20:59:53 -04:00
Jeffrey Quesnelle 7a71a35848 add option to build with Npcap on Windows 2020-06-16 12:14:46 -04:00
Jeffrey Quesnelle 8f6ff86448 Load pcap_sendqueue functions on Windows 2020-06-12 13:55:47 -04:00
Jeffrey Quesnelle 99879c9021 turn PCAPDLL into a singleton 2020-03-24 13:15:26 -04:00
Paul Hollinsky 38e24d7641 Refactor ICommunication/Transport => Driver 2020-03-09 14:09:27 -04:00
Paul Hollinsky ef34959c91 STM32 device finder for Darwin 2020-02-14 23:18:34 -05:00
Jeffrey Quesnelle 57fb55b686 fix uninitialized memory which may cause Windows to not properly enumerate devices 2020-01-24 13:32:35 -05:00
EricLiu2000 9629864f1b Fixed wait check in device online/offline 2019-08-07 10:06:33 -04:00
Jeffrey Quesnelle 5112e1d2f9 fix building for macos 2019-08-06 17:14:12 -04:00
EricLiu2000 3358241abe Reordered error downgrading, order of going offline, and renamed locks 2019-08-06 10:32:19 -04:00
EricLiu2000 f41b5c4a79 Removed cancellation of error downgrading after closing, was causing read access violations. 2019-08-01 14:07:42 -04:00
Paul Hollinsky 511a724252 POSIX FTDI: Improve performance by setting the latency timer 2019-07-26 17:46:24 -04:00
EricLiu2000 66126b2b61 Downgraded non-user thread errors to warnings 2019-07-24 13:22:17 -04:00
EricLiu2000 f45bd6772f Builds and runs on both windows and ubuntu 2019-06-25 13:20:49 -04:00
EricLiu2000 50dba62a89 Event refactor builds on Windows 2019-06-24 17:59:45 -04:00
EricLiu2000 965679c370 Added error checking and removed some redundancy from device isOpen() 2019-06-13 16:01:35 -04:00
Paul Hollinsky e081724da6 POSIX PCAP: Resolve a crash on a communication error 2019-05-14 15:22:12 -04:00
Paul Hollinsky 0dae7d4354 STM32: Check that termios attributes are set successfully 2019-05-14 15:21:05 -04:00
Paul Hollinsky f3cd9ac94b Merge branch 'pcap' 2019-05-06 12:50:29 -04:00
Paul Hollinsky 6ffc364eba Transmits now block when the buffer fills 2019-05-02 16:33:44 -04:00
Paul Hollinsky 4588024ed0 Lower CPU usage while finding devices on Linux 2019-04-17 16:50:40 -04:00
Paul Hollinsky 424d3d98a3 Linux Ethernet device support 2019-03-18 11:37:20 -04:00
Paul Hollinsky 993974234b Remove the dependency on libftdipp and libboost for Linux and macOS 2019-02-28 18:32:16 -05:00
Paul Hollinsky d042086c90 Improve reliability for finding FTDI devices on Windows 2019-01-22 13:16:58 -05:00
Paul Hollinsky 837ca29ac8 Improved FTDI device finding logic 2018-12-10 14:58:28 -05:00
Paul Hollinsky 8a147e2c3f Purge read and write queues after a close succeeds 2018-11-16 18:48:28 -05:00
Paul Hollinsky 07a5dc4118 Allow threads to reopen after closing 2018-11-16 17:08:53 -05:00
Paul Hollinsky 0cf1e7fe7f Resolve compilation errors and warnings with MSVC 2018-11-13 16:18:57 -05:00
Paul Hollinsky a295713c50 Add connection failure error to POSIX FTDI driver 2018-10-30 16:52:29 -04:00
Paul Hollinsky 92d98f8bd5 Remove all debugging printouts to stdout 2018-10-30 15:02:01 -04:00
Paul Hollinsky ef3c93258c Remove vestigial part of FTDI POSIX driver 2018-10-30 12:59:28 -04:00
Paul Hollinsky 8e6b0d0b0e Refactor for a central include directory 2018-10-22 11:52:34 -04:00
Paul Hollinsky 769c797a50 Detection for ValueCAN 4 models, as well as settings for each 2018-10-19 13:43:36 -04:00
Paul Hollinsky ae5646dd78 Update devices to the new memory management model 2018-10-17 15:12:48 -04:00
Paul Hollinsky 7d821b9745 Revamp the way that ethernet devices are found
Also add RADStar2 Ethernet support
2018-10-08 16:32:51 -04:00