Kurt Wachowski
75af3220b0
Driver: Block between read attempts
...
Driver:
* Refactored to limit accessibility of member fields;
Communication:
* readTask() now calls for a blocking wait;
2024-08-13 13:55:12 +00:00
Yasser Yassine
77928dc93d
Driver: Add general predicate parameter for waitForRx
2024-05-28 18:21:22 +00:00
Yasser Yassine
659fcf633c
Communication: Add pause feature
...
Removed redirect read
2024-05-23 21:23:45 +00:00
Jonathan Schwartz
63f0516318
Replace concurrentqueue with ringbuffer
2024-04-05 17:24:53 +00:00
David Rebbe
06f6861130
Legacy: Drop deprecated APIs
...
Drop icsneoFindNeoDevices() and icsneoOpenNeoDevice() in favor of icsneoFindDevices() and icsneoOpenDevice(), respectively.
Also fixes:
- Failure to re-open a device after it has been closed with the C/legacy APIs
- NumberOfClients not being updated
- FIRE3 settings missing in icsneoGetDeviceSettingsType()
2024-03-07 19:45:46 +00:00
Joseph Niksa
f907d6759f
icsneolegacy: implemented getDeviceStatus in C and legacy
...
-Added missing DLL asserts for getRTC() and setRTC() in icsneoc.h
2023-05-25 16:42:38 +00:00
Joseph Niksa
83f6c611fe
Implemented icsneoLoadDefaultSettings to apply the default settings to the device.
2023-04-20 05:00:46 +00:00
Kyle Schwarz
9b46d486cb
Driver: Add TCP support
...
Device: Close Driver in heartbeat thread on disconnection
2023-03-08 18:32:26 +00:00
David Rebbe
5ff1707c47
libicsneoc: Resolve DeviceCurrentlyClosed errors
2022-11-03 23:46:14 +00:00
Paul Hollinsky
407ccccedd
Drivers: Ensure serial numbers are uppercase
...
This prevents mismatches if the device sends a lowercase
serial number, which may happen due to an oversight in
production.
2022-05-28 14:41:41 -04:00
Paul Hollinsky
008a1620c8
Repo: Normalize source files to LF
2022-03-27 14:40:32 -04:00
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
478dfb3cb8
Platform: Windows: Create trampoline header
...
This way windows.h can be included if needed without a guard,
and we have a place to stub out defines for other platforms if
necessary.
2022-03-03 15:01:32 -05: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
4fd65d85c8
Windows: PCAP: Fix WinPCAP loading
...
Used when LIBICSNEO_NPCAP_INCLUDE_DIR is not defined
2022-02-14 19:24:46 -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
4b7cb28bdf
API: Legacy: Disable octal mappings for non-stubbed functions
2021-06-11 18:42:33 -04:00
Paul Hollinsky
45c879c2b6
API: Legacy: Update def file with the correct ordinals
2021-06-11 13:52:09 -04:00
Sangeetha Hariharasudhan
9e70a9d51f
API: Legacy: Implement functions necessary for J2534
...
icsneoEnableNetworkComEx
icsneoGetDeviceSettingsType
icsneoGetDeviceSettings
icsneoSetDeviceSettings
icsneoGetMiniportAdapterInfo
icsneoEnableDOIPLine
icsneoGetVnetSimpleNetid
icsneoGetNetidforSlaveVNETs
icsneoSetBitRateEx
icsneoSetFDBitRate
icsneoSerialNumberFromString
icsneoJ2534Cmd
_stdcall convention added with .def file (octal support)
use NumberBytesHeader instead of NodeID in txmessagesEx
2021-06-10 16:58:11 -04:00
Paul Hollinsky
1b7db51a45
Windows: PCAP: Fix Npcap loading for _UNICODE
2021-06-10 15:18:23 -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
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
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
Kyle Schwarz
afda617894
Remove trailing white-space
2020-08-11 13:42:13 -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
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
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
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
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
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