Paul Hollinsky
781fc2c034
Drivers: Decouple from devices
...
This allows us to better implement alternative drivers
for devices, such as for device sharing servers or
talking to CoreMini processors within the same device.
2022-03-27 14:30:31 -04:00
Paul Hollinsky
453d3366af
Platform: Windows: Avoid windows.h
...
This way Windows.h doesn't pollute everything with random defines
2022-02-28 19:12:35 -05:00
Paul Hollinsky
6d92b7a03a
Windows: PCAP: Fix a race which could cause transmit delays
...
If you had a chain of packets being sent all at once, the latter
section of packets could be delayed, theoretically infinitely.
If queue1 was filled and enqueued for transmit, then queue2
had packets enqueued in it while queue1 was still transmitting,
we'd try to fill queue2 further rather than waiting for queue1's
transmit to finish.
However, in that case, we wouldn't check if we could transmit
queue2 again until the next packet. If the user application
was waiting for the response from something in queue2
before pushing more packets, it could hang indefinitely.
This also fixes a subtle bug where hitting the "not safe to try
to fit any more packets in this queue" limit would cause a
packet to drop, as it would be dequeued and then tossed.
Closes GH-42
2022-02-04 01:14:08 -05:00
Paul Hollinsky
b13a33f0be
Windows: PCAP: Less verbose name for the interface
...
Fixing some tabs/spaces formatting here as well
2021-06-15 19:09:05 -04:00
Tomasz Ziobrowski
af2c30885b
Added support for MinGW32 - to be working with qticsneo
2021-06-15 20:15:08 +02:00
Paul Hollinsky
6f0654c336
Windows: PCAP: Rework for Ethernet Packetizer and Performance
2020-09-22 19:22:40 -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
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
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
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
EricLiu2000
f41b5c4a79
Removed cancellation of error downgrading after closing, was causing read access violations.
2019-08-01 14:07:42 -04:00
EricLiu2000
66126b2b61
Downgraded non-user thread errors to warnings
2019-07-24 13:22:17 -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
6ffc364eba
Transmits now block when the buffer fills
2019-05-02 16:33:44 -04: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
92d98f8bd5
Remove all debugging printouts to stdout
2018-10-30 15:02:01 -04:00
Paul Hollinsky
8e6b0d0b0e
Refactor for a central include directory
2018-10-22 11:52:34 -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
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
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
8375a354af
Add support for RADGalaxy and neoVI FIRE 2 over Ethernet
2018-09-18 16:50:42 -04:00