Commit Graph

174 Commits (master)

Author SHA1 Message Date
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
Paul Hollinsky d7372bbd5a Incomplete device settings sending 2018-10-01 15:26:13 -04:00
Paul Hollinsky a8ef08fae4 Fix POSIX building 2018-10-01 11:33:46 -04:00
Paul Hollinsky 2b443ad83d The icsneolegacy API finds devices correctly now 2018-09-27 13:34:16 -04:00
Paul Hollinsky 06b7181492 Implement DeviceType and icsneo_getProductName 2018-09-26 20:43:49 -04:00
Paul Hollinsky 399c72e61d Resolve merge conflicts master into devicesettings 2018-09-26 18:24:59 -04:00
Paul Hollinsky 1dcdb58008 Skeleton legacy API 2018-09-26 16:49:31 -04:00
Paul Hollinsky b0f5ad0f7f Refactor icsneoc to icsneo_functionName to avoid conflicts with legacy 2018-09-26 16:38:28 -04:00
Paul Hollinsky c391bb97a4 Manage memory for the C interface in a much less hack way 2018-09-25 18:58:37 -04:00
Paul Hollinsky 6a0c28cb3d Got rid of a strcpy 2018-09-25 18:46:05 -04:00
Paul Hollinsky 2099ba9d1e Resolve macOS warnings and standardize style 2018-09-24 19:04:20 -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