Paul Hollinsky
df9827fb2c
Device: Don't allow suppressDisconnects during a heartbeat request
...
See the comment block for an explanation
2021-09-20 23:39:45 -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
1bb114004e
Remove unused parameters
...
These can cause warnings (which we treat as errors) on MSVC
2021-05-05 02:40:00 -04:00
Paul Hollinsky
e99107c1bc
Device: Allow different Question options for OpenStatus
2021-05-05 02:21:15 -04:00
Paul Hollinsky
595cc36545
Device: Implement version handling
2021-05-05 02:17:38 -04:00
Paul Hollinsky
b104b34919
Device: Report whether the current driver supports DFU
2021-05-04 22:53:28 -04:00
Paul Hollinsky
b7c7d4349a
Device: Extend open() API for long-running tasks
2021-04-29 19:08:31 -04:00
Paul Hollinsky
0ce52f064b
Event: Better error message for USB powered devices
2021-04-29 18:15:56 -04:00
Paul Hollinsky
5733300de6
Extensions: Auto-add linked extensions
2021-04-27 21:12:24 -04:00
Paul Hollinsky
218648ae5a
Extensions: Offer an opportunity to communicate with a dead device
2021-04-23 22:32:42 -04:00
Paul Hollinsky
4cd7bafca7
Device: Allow the suppression of disconnects from extensions
2021-04-23 20:04:02 -04:00
Paul Hollinsky
bb322ad190
neoVI FIRE 2: MiscIO and EMiscIO Support
2021-04-21 10:40:35 -04:00
Paul Hollinsky
92589c2ce7
Device: Make IO system thread-safe
2021-04-21 10:04:25 -04:00
Paul Hollinsky
e29d63b08c
Add Keysight branding where applicable
...
Because there is now more than one "product name" per device
type, we have a concept of a "generic product name" which
singularly maps onto a device type.
This change comes with a few small breaking changes within
the C++ API:
DeviceType::GetDeviceTypeString has been renamed to
DeviceType::GetGenericProductName to denote that
the returned value is not device specific and
device->getProductName() is preferable.
The member function DeviceType::toString has been renamed
to DeviceType::getGenericProductName for the same reason.
The DeviceType std::ostream& operator<< has been removed
to avoid accidental use of the generic product name.
2021-04-12 19:01:43 -04:00
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
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
Kyle Schwarz
b6692d3762
Add missing C++ guards
2020-08-18 16:01:51 -04:00
Kyle Schwarz
afda617894
Remove trailing white-space
2020-08-11 13:42:13 -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
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
37778d7891
Implement FlexRay transmit, configuration, and cold start
2019-11-12 20:38:47 -05:00
Paul Hollinsky
eb856dffec
Quiet down warnings on Windows
2019-10-16 17:43:11 -04:00
Paul Hollinsky
2f9844df92
Begin work on FlexRay support
2019-10-16 16:43:31 -04:00
EricLiu2000
ef16e60025
Added more mutexes in eventmanager, fixed exiting destruction bug
2019-08-07 13:12:16 -04:00
EricLiu2000
453f098cdb
Added check to see if message polling is enabled before disabling it in device destructor
2019-08-01 14:08:12 -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
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
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
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
0cf1e7fe7f
Resolve compilation errors and warnings with MSVC
2018-11-13 16:18:57 -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
92d98f8bd5
Remove all debugging printouts to stdout
2018-10-30 15:02:01 -04: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
dfbc40f877
Add external facing shortcuts to message callback functions
2018-10-22 15:01:24 -04:00
Paul Hollinsky
8e6b0d0b0e
Refactor for a central include directory
2018-10-22 11:52:34 -04:00