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
Paul Hollinsky
466d35c68b
Use the interface MAC to transmit
2018-10-08 15:44:23 -04:00
Paul Hollinsky
6ad4e564b9
Fix PCAP MAC PID issues by checking against the serial returned instead
2018-10-04 17:37:17 -04:00
Paul Hollinsky
acfeacedfc
Encoder works but needs cleanup, GS checksum is not working properly somehow
2018-10-03 17:04:55 -04:00
Paul Hollinsky
590a99d995
Linux: Take out hardcoded path to SO, use LD_LIBRARY_PATH or copy the SO
2018-10-02 16:20:24 -04:00
Paul Hollinsky
a8ef08fae4
Fix POSIX building
2018-10-01 11:33:46 -04:00
Paul Hollinsky
399c72e61d
Resolve merge conflicts master into devicesettings
2018-09-26 18:24:59 -04:00
Paul Hollinsky
b0f5ad0f7f
Refactor icsneoc to icsneo_functionName to avoid conflicts with legacy
2018-09-26 16:38:28 -04:00
Paul Hollinsky
4c45b235bc
Merge branch 'master' of intrepidcs.homeip.net:paulhollinsky/icsneonext
2018-09-25 17:56:02 -04:00
Paul Hollinsky
dec85a4c55
Lazily load PCAP DLL on Windows, keeping it cached afterwards
2018-09-25 17:55:59 -04:00
Paul Hollinsky
69773d6537
Check serial number on device open, get correctly for PCAP devices
2018-09-25 17:53:58 -04:00
Paul Hollinsky
28de70aa05
Refactor ICSChecksum and packetWrap into the Packetizer
2018-09-25 17:50:58 -04:00
Paul Hollinsky
2099ba9d1e
Resolve macOS warnings and standardize style
2018-09-24 19:04:20 -04:00
Paul Hollinsky
b634e6a443
Point macOS version towards the right dylib
...
This is super temporary
Eventually we'll decide where the library will go
2018-09-24 18:16:08 -04:00
Paul Hollinsky
95f3af3824
Added support for neoOBD2-SIM
2018-09-20 18:11:47 -04:00
Paul Hollinsky
d6100f99d1
It is not necessary to set bitrate for the USB serial on POSIX
...
Additionally, this fixed build on macOS as they don't support up to `B500000` in their `termios.h` for some reason
2018-09-20 14:44:32 -04:00
Paul Hollinsky
ef8d764aa6
Move platforms around, most of POSIX will be common implementation
2018-09-20 14:40:24 -04:00
Paul Hollinsky
fb4a327891
Allow devices to be selectively included per platform
...
This way a platform does not have to be 100% implemented to be useful
2018-09-20 13:21:54 -04:00
Paul Hollinsky
30327dd12d
Remove debugging printouts from the pcap driver
2018-09-19 13:52:12 -04:00
Paul Hollinsky
315be76034
Silence warnings
2018-09-18 17:01:37 -04:00
Paul Hollinsky
8343093708
Fixed an issue where Windows VCP data latency was bad at low traffic
2018-09-18 16:51:22 -04:00
Paul Hollinsky
8375a354af
Add support for RADGalaxy and neoVI FIRE 2 over Ethernet
2018-09-18 16:50:42 -04:00
Paul Hollinsky
f1f1cb1701
Change to the read buffer size on Windows for better performance
2018-09-13 19:40:09 -04:00
Paul Hollinsky
e2e5017331
Initial commit
2018-09-10 20:28:29 -04:00