David Rebbe
d82a069842
API: Legacy: Add icsneoOpenDevice
...
Needed for compatibility with the latest python-ics
2021-06-11 12:35:28 -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
David Rebbe
4e901676d2
Added icsneoOpenDevice.
2021-06-07 17:03:56 -04:00
Paul Hollinsky
0ce52f064b
Event: Better error message for USB powered devices
2021-04-29 18:15:56 -04:00
Paul Hollinsky
a63d701839
Event: More user-friendly message for the packet decoding error
2021-04-29 18:07:08 -04:00
Paul Hollinsky
3b6b4f0541
C API: Expose icsneo_getNetworkByNumber
2021-04-12 20:20:48 -04:00
Paul Hollinsky
40be68e744
C API: Add typedefs for neonetid_t and neonettype_t
2021-04-12 20:20:07 -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
e82b5d15e0
Support software controllable termination
2021-04-11 22:13:51 -04:00
Paul Hollinsky
9ba21d5dc7
C API: Digital IO function use stdbool.h
...
This requirement is already in place and makes the API more consistent
2021-04-11 20:54:59 -04:00
Paul Hollinsky
a6c8acd8e9
Ethernet (DoIP) Activation Line support
2021-04-06 22:50:25 -04:00
Kyle Schwarz
ffbb5e20c5
Add description field for messages
...
Closes https://github.com/intrepidcs/libicsneo/issues/28
2020-11-13 16:15:04 -05:00
Paul Hollinsky
dfe2d23d85
Merge pull request #27 from pierreluctg/icsneolegacy-ExtraDataPrtEnabled
...
Setting ExtraDataPtrEnabled when ExtraDataPtr is use
2020-09-23 12:40:56 -04:00
Paul Hollinsky
66d7c2f390
Merge pull request #25 from pierreluctg/icsneolegacy-setFDBitRate
...
Adding icsneoSetFDBitRate api to the icsneolocacy
2020-09-23 12:36:23 -04:00
Pierre-Luc Tessier Gagne
2cd074cf13
Setting ExtraDataPtrEnabled when ExtraDataPtr is use
2020-09-23 08:40:57 -04:00
Pierre-Luc Tessier Gagne
90b04f4578
Adding icsneoSetFDBitRate api to the icsneolocacy
2020-09-23 07:23:17 -04:00
Paul Hollinsky
de0c16a461
VividCAN: Better "Online Not Supported" Error
2020-09-08 17:39:47 -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
afda617894
Remove trailing white-space
2020-08-11 13:42:13 -04:00
Paul Hollinsky
2079037ae4
POSIX FTDI: Nicer error message for when device is in use
...
Commonly, the device is being used by another libicsneo program
(icsscand, maybe) or passed through to a VM.
2020-06-24 22:15:22 -04:00
Jeffrey Quesnelle
b990e03343
add CMake options to disable certain targets and fix a few compiler warnings
2019-10-17 09:43:50 -04:00
Paul Hollinsky
debaf8f0cb
Merge branch 'v0.2.0-dev' of github.com:intrepidcs/libicsneo into v0.2.0-dev
2019-10-16 16:44:16 -04:00
Paul Hollinsky
2f9844df92
Begin work on FlexRay support
2019-10-16 16:43:31 -04:00
Paul Hollinsky
5795efbde8
Merge changes from v0.1.2
...
Dropping the updateLEDState fix as the one on this branch is nicer
2019-09-04 13:40:42 -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
EricLiu2000
01c62b6445
Replaced formal parameter filter in addmessagecallback and addeventcallback
2019-08-06 10:31:08 -04:00
EricLiu2000
4a81b9443a
Changed getpollingmessagelimit to return an int
2019-08-05 17:25:09 -04:00
EricLiu2000
2108d6223c
Fixed runtime error casting placeholder void* to void in message and event callbacks
2019-08-05 10:32:23 -04:00
EricLiu2000
9040edc25d
Added event callback functionality in icsneoc
2019-08-02 16:32:15 -04:00
EricLiu2000
4f735a651c
Added event callback functionality. EventManager now uses multiple mutexes to lock events, errors, callbacks, and downgradedThreads separately. Wrote single-threaded test for event callbacks.
2019-08-02 15:00:31 -04:00
EricLiu2000
8516a9c8bd
Added placeholder void* filter parameter to icsneo_addMessageCallback and added more documentation for message callback functions
2019-07-30 14:02:34 -04:00
EricLiu2000
655a483aee
Cleaned up icsneolegacy returns that use icsneo_settingsReadStructure
2019-07-30 10:29: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
5a98bac8a6
Standardized int-returning functions in icsneoc library to return -1 on failure. Updated icsneolegacy accordingly, and added headers for message callback functionality in c
2019-07-29 16:08:54 -04:00
EricLiu2000
54b98ec9b4
Error downgrading now uses a map<threadid, bool>, and error downgrading is canceled during message callbacks
2019-07-29 15:16:35 -04:00
EricLiu2000
8c186f00cd
Added functionality to set blocking behavior of write
2019-07-24 14:57:06 -04:00
EricLiu2000
6f8d307850
Implemented thread specific error-downgrading to events and wrote corresponding unit test
2019-07-24 12:52:15 -04:00
EricLiu2000
42690d1f9a
Updated documentation, added multithreaded test with both events and errors for eventmanager
2019-06-28 11:11:58 -04:00
EricLiu2000
e3517767cb
Events are now removed purely in chronological order if overflowing
2019-06-27 18:04:59 -04:00
EricLiu2000
baa9404432
Went back to normal mutex because I forgot I reverted those
2019-06-27 16:02:31 -04:00
EricLiu2000
1d3b3359ca
Wrote more tests, fixed bug with eventmanager::get(size), optimized eventmanager adding and shrinking, prevented trying to add TooManyEvents
2019-06-27 15:50:22 -04:00
EricLiu2000
d0c6aba0fc
Revert "Changed list of events to vector, switched back to using lock_guard instead of shared/unique_locks"
...
This reverts commit 2dac03b3e5 .
2019-06-27 14:16:36 -04:00
EricLiu2000
2dac03b3e5
Changed list of events to vector, switched back to using lock_guard instead of shared/unique_locks
2019-06-27 13:42:02 -04:00
EricLiu2000
a9a2a978b8
Fixed multithreading issue with eventmanager
2019-06-27 13:20:13 -04:00
EricLiu2000
4923218d35
Separated tests into different files, added ResetInstance() method to EventManager
2019-06-26 11:30:24 -04:00
EricLiu2000
bb2d7c1265
Reversed nullptr device check
2019-06-25 17:46:59 -04:00
EricLiu2000
50dba62a89
Event refactor builds on Windows
2019-06-24 17:59:45 -04:00
EricLiu2000
878d9e6dde
Implemented threaded error handling in errormanager and fixed compile error
2019-06-21 16:14:52 -04:00
EricLiu2000
f9d88b4743
Upgraded the severity of some warnings to errors and cleaned up internal API error adding
2019-06-21 15:08:08 -04:00
EricLiu2000
cb6f88c6bb
Initial rework of internal management for overflowing errors
2019-06-21 11:18:24 -04:00
EricLiu2000
33ad0c1967
C++ error descriptions now distinguish between severity levels
2019-06-19 11:00:41 -04:00
EricLiu2000
12cb4c227a
icsneolegacy icsneoOpenNeoDevice return now checks success for setting polling message limit and enabling message polling too
2019-06-18 11:40:18 -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
b7288edd9a
Finished adding error checking
2019-06-13 16:01:35 -04:00
EricLiu2000
255e1e2b90
Added more error logging
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
a16f2843d8
Added error reporting to idevicesettings
2019-06-13 16:01:35 -04:00
EricLiu2000
2806c935f1
Added errors for DeviceCurrentlyOpen and DeviceCurrentlyClosed
2019-06-13 16:01:35 -04:00
EricLiu2000
903615dadd
Added icsneo_isOpen() functionality
2019-06-13 16:01:35 -04:00
Paul Hollinsky
ba7228d4ba
Embed version info into built DLLs
2019-05-30 13:17:55 -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
Paul Hollinsky
d1cd34fb24
Merge remote-tracking branch 'drebbe-intrepid/master' into timestamp
2019-05-06 12:01:09 -04:00
Paul Hollinsky
0b4ffdbaad
Merge branch 'master' of https://github.com/intrepidcs/libicsneo
2019-05-02 16:33:57 -04:00
Paul Hollinsky
6ffc364eba
Transmits now block when the buffer fills
2019-05-02 16:33:44 -04:00
Paul Hollinsky
bf89d6b7a4
Update the legacy API to more closely match the behavior of the icsneo40.dll
...
Fixes Issue #9
2019-04-23 16:47:52 -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
David Rebbe
9a83ec1822
Updated icsnVC40.h to latest v803 release.
...
Signed-off-by: David Rebbe <drebbe@intrepidcs.com>
2019-03-27 17:39:12 -04:00
Paul Hollinsky
2fb3047c10
Resolve an issue where the error manager could stack overflow on too many errors
2019-03-11 13:39:41 -04:00
Paul Hollinsky
ae78122cbe
Add LSFTCAN and SWCAN support
2019-01-22 13:14:28 -05:00
Paul Hollinsky
61c16f4dfc
Updates to the legacy API
...
* Added transmit
* Added support for the new style icsneoFindDevices() call
* Added support for blocking wait for message
* CAN FD and XTD 29-bit CAN Support
2019-01-03 16:57:29 -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
151b2ce266
Implement serial number in the legacy API
2018-12-21 20:16:32 -05:00
Paul Hollinsky
3488e36f2a
Added the ability to get the baudrate for networks
2018-12-10 14:57:43 -05:00
Paul Hollinsky
af45b72f9e
Add Sphinx documentation
2018-11-20 17:14:59 -05:00
Paul Hollinsky
8a4e33c8df
Allow version and supported devices to be printed at runtime
2018-11-20 10:41:42 -05:00
Paul Hollinsky
2ade9116eb
Merge branch 'master' of intrepidcs.homeip.net:paulhollinsky/icsneonext
2018-11-20 09:42:29 -05:00
Paul Hollinsky
8ef2260fbe
Add the ability to enumerate supported devices
2018-11-20 09:42:25 -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
9c2c3298cf
Add doxygen support
2018-10-31 12:17:46 -04:00
Paul Hollinsky
6399b3d8f2
C API: Allow querying of specifically non-device errors
2018-10-30 18:33:43 -04:00
Paul Hollinsky
5bc65554f9
Error system now functional in C and C++ APIs
2018-10-30 16:54:36 -04:00
Paul Hollinsky
1a9c907fea
CAN FD baudrate settings
2018-10-30 15:38:15 -04:00
Paul Hollinsky
92d98f8bd5
Remove all debugging printouts to stdout
2018-10-30 15:02:01 -04:00
Paul Hollinsky
4f91d0775f
Version info
2018-10-29 16:35:14 -04:00
Paul Hollinsky
3a42372dcd
Add error system
2018-10-26 20:53:30 -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
6779a3a1b9
Remove unused includes
2018-10-22 13:01:25 -04:00
Paul Hollinsky
9675bb81f7
Resolve MSVC errors and warnings with refactor
2018-10-22 12:19:33 -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
e5f1ba41b5
Resolve relevant Linux compile warnings
2018-10-18 13:49:56 -04:00
Paul Hollinsky
92839c22a5
Merge branch 'devicesettings' of Lustra:InfiniteWalrus/libicsneo into devicesettings
2018-10-17 16:26:42 -04:00
Paul Hollinsky
4426334f3f
Resolve Linux build issues and warnings
2018-10-17 15:13:28 -04:00
Jeffrey Quesnelle
25fb140404
few changes so project can be built as a submoodule
2018-10-17 13:19:42 -04:00
Paul Hollinsky
ba9813021e
Legacy API can receive CAN now
2018-10-08 21:43:32 -04:00
Paul Hollinsky
b3471890eb
Allow returning to the default settings
2018-10-08 19:03:12 -04:00