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
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