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
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
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
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
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
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
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