Commit Graph

326 Commits (83f6c611fe622b0cf82fb583de29c4530c36454d)

Author SHA1 Message Date
Paul Hollinsky 1cd817a16b Fix race conditions with Communication::waitForMessageSync 2020-02-28 20:00:08 -05:00
Paul Hollinsky a2fecb7621 Support for EtherBADGE 2020-02-20 14:43:10 -05:00
Paul Hollinsky ef34959c91 STM32 device finder for Darwin 2020-02-14 23:18:34 -05:00
Paul Hollinsky 4821a957dd Properly decode incoming FlexRayPackets 2019-11-18 06:09:25 +01:00
Paul Hollinsky 31062dd928 For now, assume VNET Z is in coldstart mode 2019-11-12 20:48:30 -05:00
Paul Hollinsky 37778d7891 Implement FlexRay transmit, configuration, and cold start 2019-11-12 20:38:47 -05:00
Paul Hollinsky 3396f5dcce Refining the FlexRay API 2019-11-09 15:34:58 -05:00
Paul Hollinsky f0582697a6 Clarify FlexRay Slot ID 2019-11-01 14:48:14 -04:00
Jeffrey Quesnelle 423f854682 fix MSVC build errors and warnings 2019-10-16 23:56:49 -04: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 9629864f1b Fixed wait check in device online/offline 2019-08-07 10:06:33 -04:00
EricLiu2000 3358241abe Reordered error downgrading, order of going offline, and renamed locks 2019-08-06 10:32:19 -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 9b3d36c8c1 Moved calling of event callbacks to after the event is added. Now using unique_locks on the list of events to allow event callbacks to safely modify the list of events 2019-08-05 11:40:17 -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 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 055cae1232 Removed radpluto override of setupDecoder() in order to fix timestamp 2019-08-01 13:40:38 -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 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
Paul Hollinsky 511a724252 POSIX FTDI: Improve performance by setting the latency timer 2019-07-26 17:46:24 -04:00
EricLiu2000 b75536c4a2 Updated some documentation in eventmanager to reflect chronological pruning of events 2019-07-26 13:34:03 -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 6f8d307850 Implemented thread specific error-downgrading to events and wrote corresponding unit test 2019-07-24 12:52:15 -04:00
EricLiu2000 199bd2b144 Reverted refactor changes to icsneolegacy.h 2019-07-23 17:16:27 -04:00
Paul Hollinsky 77eed8f58d Revise documentation for icsneo_getLastError 2019-07-23 15:03:43 -04:00
EricLiu2000 69a7b9bc2d Removed casts in network.h constants for SWIG compatibility 2019-07-17 16:36:40 -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 a4ddd24a50 Added functionality for filtering by both type and severity. Wrote tests for eventmanager::get 2019-06-27 17:04:07 -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 ec95f0f7c3 Wrote more tests and fixed locking bug in eventmanager 2019-06-26 15:08:41 -04:00
EricLiu2000 4923218d35 Separated tests into different files, added ResetInstance() method to EventManager 2019-06-26 11:30:24 -04:00
EricLiu2000 f45bd6772f Builds and runs on both windows and ubuntu 2019-06-25 13:20:49 -04:00
EricLiu2000 2f971d7565 Runs on windows 2019-06-25 11:35:40 -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 92368f70a5 Added error checking for polling 2019-06-18 11:38:12 -04:00
EricLiu2000 04a2402925 Added additional documentation 2019-06-14 17:44:01 -04:00
EricLiu2000 a4a42c8704 Reworked updating LEDState to use sendCommand() instead of transmit() 2019-06-14 16:09:19 -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
Paul Hollinsky a608d21304 Fix for error at pcap and vcp level on Windows causes crash 2019-06-14 09:41:47 -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 965679c370 Added error checking and removed some redundancy from device isOpen() 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
EricLiu2000 f1e0625429 Fixed typo in documentation of icsneo_getLastError 2019-06-13 16:01:35 -04:00
EricLiu2000 0644234859 Removed hard coded .dll filepaths 2019-06-13 16:01:35 -04:00
EricLiu2000 9b21c153c7 Fixed icsneoc.h to work with c 2019-06-13 16:01:35 -04:00
Paul Hollinsky b7dbeccaef Lock before adding or removing message callbacks 2019-06-13 15:47:23 -04:00
Paul Hollinsky 4530bd14c0 Merge in fixes for warnings 2019-06-12 18:36:35 -04:00
Jeffrey Quesnelle 8833617fe5 fix wrong include path for radpluto on Windows 2019-06-05 13:08:02 -04:00
Zaid Nackasha 3621184696 fixed build bugs 2019-06-03 17:18:02 -04:00
Zaid Nackasha d49fba7d81 Wrapped Visual Studio #Pragmas 2019-06-03 12:43:28 -04:00
Paul Hollinsky 56d191b438 Add support for RADPluto over USB 2019-05-14 15:29:03 -04:00
Paul Hollinsky a465d5d6c6 POSIX: Disable Ethernet communication devices until performance issues are resolved 2019-05-14 15:27:44 -04:00
Paul Hollinsky e081724da6 POSIX PCAP: Resolve a crash on a communication error 2019-05-14 15:22:12 -04:00
Paul Hollinsky f3cd9ac94b Merge branch 'pcap' 2019-05-06 12:50:29 -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 6ffc364eba Transmits now block when the buffer fills 2019-05-02 16:33:44 -04:00
Paul Hollinsky 5a6a1c990a Support CAN FD Error State Indicator 2019-04-17 17:03:38 -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 424d3d98a3 Linux Ethernet device support 2019-03-18 11:37:20 -04:00
Paul Hollinsky 993974234b Remove the dependency on libftdipp and libboost for Linux and macOS 2019-02-28 18:32:16 -05:00
Paul Hollinsky d042086c90 Improve reliability for finding FTDI devices on Windows 2019-01-22 13:16:58 -05:00
Paul Hollinsky ae78122cbe Add LSFTCAN and SWCAN support 2019-01-22 13:14:28 -05:00
Paul Hollinsky c313801a21 Resolve issue #1 undefined symbols when building on POSIX systems 2019-01-11 13:01:19 -05:00
Paul Hollinsky 34148e8833 Fix a bug intrepidcs\libicsneo-examples#1 which prevented building on 32-bit platforms 2019-01-10 16:35:11 -05:00
Paul Hollinsky 7e9fbc4959 Basic introspection for device supported networks 2019-01-03 17:00:15 -05:00
Paul Hollinsky efd5547e5c Resolve an issue where FTDI devices could be erroneously detected with the wrong serial 2019-01-03 16:58:23 -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 b834ca1bb7 Support CAN FD on the RADStar2 2018-12-21 20:35:01 -05:00
Paul Hollinsky b6c67eb74f Correctly decode timestamps on the RADStar2 and RADGalaxy 2018-12-21 20:34:02 -05:00
Paul Hollinsky d37d5bb23e Support Ethernet and Broad-R Reach TX and RX 2018-12-21 20:32:27 -05:00
Paul Hollinsky 603d532d2d Add support for RADStar2 settings 2018-12-21 20:28:25 -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 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 7305f2027e Larger message structure for future expansion 2018-11-19 12:20:45 -05:00
Paul Hollinsky b04bb95393 Merge branch 'master' of Lustra:InfiniteWalrus/libicsneo 2018-11-19 12:10:33 -05:00
Paul Hollinsky 82adbcaba6 Windows VCP detection is now more reliable 2018-11-16 18:48:07 -05:00
Jeffrey Quesnelle c9f761c262 add Ethernet cases to Network 2018-11-14 11:24:55 -05:00
Paul Hollinsky 0cf1e7fe7f Resolve compilation errors and warnings with MSVC 2018-11-13 16:18:57 -05:00
Paul Hollinsky f05f96822e Fix defines for C applications 2018-11-09 16:34:00 -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 35bd5139b2 Free malloc'd memory in example 2018-10-31 17:21:14 -04:00
Paul Hollinsky 4833bc704a Fix a documentation typo 2018-10-31 17:07:48 -04:00
Paul Hollinsky 90992ad360 Added documentation for the C API 2018-10-31 16:47:46 -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 ccd26a3637 Fix a bug where settings were not read properly 2018-10-30 14:24:57 -04:00
Paul Hollinsky 526b3a0dc4 ValueCAN3 Settings 2018-10-30 12:59:37 -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 a331a2afa8 Device component initialization done more intelligently 2018-10-26 19:28:09 -04:00
Paul Hollinsky 807518fbae Network and device type constant definitions 2018-10-24 12:53:58 -04:00
Paul Hollinsky 95dce1c429 Device describe 2018-10-24 12:51:04 -04:00
Paul Hollinsky 419fc2fc73 Tracked down a white board FIRE and verified the need for enterMode 2018-10-22 18:26:38 -04:00
Paul Hollinsky db255a5a3f Add settings for FIRE 2018-10-22 18:26:18 -04:00
Paul Hollinsky 6ccd6f2072 Fixed size of UART_SETTINGS 2018-10-22 18:25:26 -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 a13adec04a Clean up icsnVC40.h for the legacy API 2018-10-22 12:46:27 -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