Jonathan Schwartz
32900ae263
Device: Add GetComponentVersions and GetSupportedFeatures commands
...
Driver: Fix re-open and failed open cases for TCP
Also enforces even length packets for the RED2, FIRE3, and FIRE3 FlexRay devices.
2023-05-08 21:07:43 +00:00
David Rebbe
5ff1707c47
libicsneoc: Resolve DeviceCurrentlyClosed errors
2022-11-03 23:46:14 +00:00
Kyle Schwarz
0101467154
Communication: Atomic sync messages
...
If waitForMessageSync() is called in two threads for the same message
the callback for both will be invoked with the first send.
2022-10-21 14:49:03 +00:00
Yasser Yassine
7b2544864b
A2B: Add initial WAV streaming support
2022-10-19 18:44:05 -04:00
Kyle Schwarz
9ef01e2d3d
Optional: nonstd to std
2022-07-22 01:27:39 -04:00
Paul Hollinsky
f8a46b7196
Device: Add logical disk size accessor
2022-02-28 01:49:50 -05:00
Paul Hollinsky
6cc0f08e2b
Settings: The device can report when defaults were applied
2022-02-24 15:50:39 -05:00
Paul Hollinsky
d5087c1ba5
Communication: Remove extra accidentally added logging
2021-12-06 05:41:27 -05:00
Paul Hollinsky
f8b5710a6c
Communication: Avoid MessageFilter type punning in waitForMessageSync
2021-12-02 15:00:13 -05:00
Paul Hollinsky
38f0022bb6
Communication: Support extended commands
2021-09-20 23:07:49 -04:00
Paul Hollinsky
21bc4eeff2
Message: Create a type system so non-frame data can be represented
...
This change breaks existing code, hence the version bump, but it's
going to be much less error prone going forward.
2021-05-22 01:58:36 -04:00
Paul Hollinsky
595cc36545
Device: Implement version handling
2021-05-05 02:17:38 -04:00
Paul Hollinsky
f8355df770
Communication: Block destruction while inside redirectionFn
2021-04-23 22:33:32 -04:00
Paul Hollinsky
55ca6adee6
Communication: Allow redirection of reads
2021-04-23 17:00:37 -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
a759c1faa9
Communication: Fix issue where driver failing to open leaves dangling thread
2020-06-24 22:03:31 -04:00
Paul Hollinsky
38e24d7641
Refactor ICommunication/Transport => Driver
2020-03-09 14:09:27 -04:00
Paul Hollinsky
d8798acaa7
Communication: MultiChannel: Properly mask out communication from non-main VNETs
...
This also makes it possible for Communication to create more instances of Packetizer
This is necessary because Packetizer is not thread safe,
so when we support more VNETs we will need to create more Packetizers.
2020-03-09 13:56:18 -04:00
Paul Hollinsky
1cd817a16b
Fix race conditions with Communication::waitForMessageSync
2020-02-28 20:00:08 -05:00
Paul Hollinsky
2f9844df92
Begin work on FlexRay support
2019-10-16 16:43:31 -04:00
EricLiu2000
9629864f1b
Fixed wait check in device online/offline
2019-08-07 10:06:33 -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
EricLiu2000
c10224002a
Added message callback functionality in c and canceled error downgrading on user callbacks in communication as well
2019-07-30 10:22:27 -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
44ca4d4db1
Removed extraneous error checking
2019-06-13 16:04:20 -04:00
EricLiu2000
519e64fb17
Added error checking to functions called from Communication
2019-06-13 16:01:35 -04:00
EricLiu2000
965679c370
Added error checking and removed some redundancy from device isOpen()
2019-06-13 16:01:35 -04:00
Paul Hollinsky
b7dbeccaef
Lock before adding or removing message callbacks
2019-06-13 15:47:23 -04:00
Paul Hollinsky
07a5dc4118
Allow threads to reopen after closing
2018-11-16 17:08:53 -05:00
Paul Hollinsky
ccd26a3637
Fix a bug where settings were not read properly
2018-10-30 14:24:57 -04:00
Paul Hollinsky
3a42372dcd
Add error system
2018-10-26 20:53:30 -04:00
Paul Hollinsky
8e6b0d0b0e
Refactor for a central include directory
2018-10-22 11:52:34 -04:00
Paul Hollinsky
dd99f82324
Allow the decoder to fail
2018-10-18 14:06:58 -04:00
Paul Hollinsky
912b11ce30
Encoder allowed to fail, preparation for upcoming CAN transmit
2018-10-18 13:42:20 -04:00
Paul Hollinsky
600813b7e6
Remove some noisy debugging info
2018-10-08 15:09:50 -04:00
Paul Hollinsky
c56aa73b31
Fix communication commands failing
2018-10-04 17:27:39 -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
dffae23e54
Testing the encoder for sending more complex messages
2018-10-03 14:33:30 -04:00
Paul Hollinsky
5bf50ddc00
Begin adding an encoder for messages
2018-10-01 16:16:49 -04:00
Paul Hollinsky
9f20d70102
Refactor MessageDecoder to Decoder
2018-09-25 18:00:16 -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
72773d9afa
Refactor MessageFilter and MessageCallback
2018-09-25 17:53:02 -04:00
Paul Hollinsky
28de70aa05
Refactor ICSChecksum and packetWrap into the Packetizer
2018-09-25 17:50:58 -04:00
Paul Hollinsky
aa25ba1728
Communication uses instantiated Packetizers and Decoders now
2018-09-25 17:47:27 -04:00
Paul Hollinsky
d27b516894
Communication::Command refactored out of Communication
2018-09-25 17:35:56 -04:00
Paul Hollinsky
6284223650
Wait on the correct netid for the correct time for serial numbers
...
Serial number decoding not implemented yet
2018-09-24 18:54:45 -04:00
Paul Hollinsky
da4d9e46be
Start work on device settings communication
2018-09-24 16:57:14 -04:00
Paul Hollinsky
9f43e9e39e
Separate MessageDecoder from Packetizer and optimize
...
This will, in the future, allow overriding of MessageDecoder per device as necessary.
2018-09-13 19:39:19 -04:00