Paul Hollinsky
a6c8acd8e9
Ethernet (DoIP) Activation Line support
2021-04-06 22:50:25 -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
8e999a0fb8
Heartbeat: Break from loop rather than returning
...
This makes sure we run the cleanup code at the bottom of the thread
2020-09-01 16:32:54 -04:00
Paul Hollinsky
046e2bae9d
Ensure proper closure of the heartbeat thread on reopen
2020-09-01 15:52:41 -04:00
Kyle Schwarz
044c2bb86f
Detect device disconnects
...
When a device is sending any traffic, the device is considered to be connected. If no traffic if being received from the device, a status is requested. If the device fails to report the status back in a timely manner, it is considered to be disconnected.
If the device fails to reply to the status request, it is important to confirm that the device is not applying settings. While the device is applying settings, it will not be sending heartbeats or able to process a status request.
2020-08-27 13:20:48 -04:00
Paul Hollinsky
dcc44d99ea
Fix an issue where the FIRE could not be opened
2020-06-17 15:11:57 -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
9fcba2eb13
Notify extensions we're going offline before we actually do
2020-02-28 19:57:43 -05:00
Paul Hollinsky
0c330f734b
Fix typo
2020-02-28 19:57:16 -05:00
Paul Hollinsky
37778d7891
Implement FlexRay transmit, configuration, and cold start
2019-11-12 20:38:47 -05:00
Paul Hollinsky
2f9844df92
Begin work on FlexRay support
2019-10-16 16:43:31 -04:00
Paul Hollinsky
0607986114
Resolve merge conflicts
2019-08-12 11:17:28 -04:00
EricLiu2000
ef16e60025
Added more mutexes in eventmanager, fixed exiting destruction bug
2019-08-07 13:12:16 -04:00
EricLiu2000
9629864f1b
Fixed wait check in device online/offline
2019-08-07 10:06:33 -04:00
Jeffrey Quesnelle
781b23c0e7
std::chrono::seconds::duration should just be std::chrono::seconds
2019-08-06 17:35:44 -04:00
EricLiu2000
3358241abe
Reordered error downgrading, order of going offline, and renamed locks
2019-08-06 10:32:19 -04:00
EricLiu2000
71176137ca
Added waits to ensure going online and offline succeed before returning
2019-08-05 15:35:44 -04:00
EricLiu2000
8c186f00cd
Added functionality to set blocking behavior of write
2019-07-24 14:57:06 -04:00
EricLiu2000
69b7e5b45a
Device::GetMessages now returns a pair of {vector, bool} instead of vector
2019-07-24 13:40:54 -04:00
EricLiu2000
50dba62a89
Event refactor builds on Windows
2019-06-24 17:59:45 -04:00
EricLiu2000
92368f70a5
Added error checking for polling
2019-06-18 11:38:12 -04:00
EricLiu2000
2b34c82382
Added error checking to Device::getMessages()
2019-06-18 10:34:50 -04:00
EricLiu2000
04a2402925
Added additional documentation
2019-06-14 17:44:01 -04:00
EricLiu2000
a4a42c8704
Reworked updating LEDState to use sendCommand() instead of transmit()
2019-06-14 16:09:19 -04:00
EricLiu2000
28fc98c475
Added icsneo_isMessagePollingEnabled(), removed polling check from transmitting, and disabled error reporting on device destruction
2019-06-14 15:13:22 -04:00
EricLiu2000
b7288edd9a
Finished adding error checking
2019-06-13 16:01:35 -04:00
EricLiu2000
8a6073a9cf
Transmit and receiving messages now fails properly when the device is closed. Device closes when serial number initialization fails after open.
2019-06-13 16:01:35 -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
EricLiu2000
903615dadd
Added icsneo_isOpen() functionality
2019-06-13 16:01:35 -04:00
Paul Hollinsky
288ff3565e
Make sure to close underlying com if we fail to open
2019-05-14 15:20:04 -04:00
Paul Hollinsky
7cf0ec5f4f
Rename timestampMultiplier to timestampResolution
...
We've also decided to leave it out of the message structures since, for most uses going forward, it will not be needed.
Anyone who wants the timestamp resolution can always make the inexpensive device call to get it.
2019-05-06 12:32:04 -04:00
David Rebbe
23c3cc3763
Implemented legacy icsneoGetTimeStampForMsg() function call.
...
Signed-off-by: David Rebbe <drebbe@intrepidcs.com>
2019-04-05 19:09:52 -04:00
Paul Hollinsky
7e9fbc4959
Basic introspection for device supported networks
2019-01-03 17:00:15 -05:00
Paul Hollinsky
e124ad28f4
Major improvements to the settings API
...
* Allow the raw structure to be manipulated from C and Legacy APIs
* Structure is now split between what's on the device and what's on the client so changes will not be visible from read methods until apply()
* Allow devices to connect which have slightly different firmware versions than the settings structure
2018-12-21 20:24:11 -05:00
Paul Hollinsky
07a5dc4118
Allow threads to reopen after closing
2018-11-16 17:08:53 -05:00
Paul Hollinsky
77d694c662
Added the ability to block on getMessages until a message arrives
2018-11-09 16:28:48 -05:00
Paul Hollinsky
3a42372dcd
Add error system
2018-10-26 20:53:30 -04:00
Paul Hollinsky
a331a2afa8
Device component initialization done more intelligently
2018-10-26 19:28:09 -04:00
Paul Hollinsky
95dce1c429
Device describe
2018-10-24 12:51:04 -04:00
Paul Hollinsky
8044488bed
Make a blank settings interface if one does not exist because segfaulting is bad
2018-10-22 17:23:13 -04:00
Paul Hollinsky
6456d4e261
Fix a bug where polling messages would not work properly
2018-10-22 16:19:20 -04:00
Paul Hollinsky
5a5d626225
Resolve a segfault when device did not ever receive reset status
2018-10-22 15:40:52 -04:00
Paul Hollinsky
8e6b0d0b0e
Refactor for a central include directory
2018-10-22 11:52:34 -04:00
Paul Hollinsky
d037709963
CAN and CAN FD transmit implemented
2018-10-18 17:39:37 -04:00
Paul Hollinsky
912b11ce30
Encoder allowed to fail, preparation for upcoming CAN transmit
2018-10-18 13:42:20 -04:00
Paul Hollinsky
b4fc3edd0f
LED state changing (Device LEDs work now)
2018-10-17 16:15:15 -04:00
Paul Hollinsky
b3184eb1ed
Decode reset status messages
2018-10-09 13:38:54 -04:00
Paul Hollinsky
ba9813021e
Legacy API can receive CAN now
2018-10-08 21:43:32 -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
600813b7e6
Remove some noisy debugging info
2018-10-08 15:09:50 -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
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
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
63d13cdb88
Allow polling for messages from C
2018-09-13 19:40:23 -04:00
Paul Hollinsky
e2e5017331
Initial commit
2018-09-10 20:28:29 -04:00