Commit Graph

109 Commits (eca11103055ca7a686082b7539b46ba476c71029)

Author SHA1 Message Date
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