Paul Hollinsky
dfd8768bbf
Legacy: Correct Ethernet message translation
...
* Fixes NetIDs over 255
* Fixes data lengths over 255
* Avoids writing unexpected messages to client
2022-02-21 21:28:31 -05:00
Paul Hollinsky
94e0ea1fe0
Legacy: Prevent incorrect access to NetID maps
2022-02-21 21:28:30 -05:00
Kyle Johannes
2d1bb381f6
Device: Implement Ethernet PHY MDIO Communication
...
The following fixups were added during the squash/merge:
Fix formatting in EthPhyMessage and EthPhyRegPacket
Device: Use std::make_shared when creating the EthPHYControl filter
Network: Create NetID String for EthPHYControl
EthPhyRegPacket: Constants in PascalCase
2021-12-08 19:07:07 -05:00
Paul Hollinsky
f8b5710a6c
Communication: Avoid MessageFilter type punning in waitForMessageSync
2021-12-02 15:00:13 -05:00
Paul Hollinsky
f129be34b5
C API: Resolve compilation against new icsneo::Messasge API
2021-09-20 23:24:19 -04:00
Paul Hollinsky
27184a203f
Legacy: Use new layout for SDeviceSettings
...
This fixes issues where the settings values would be shifted.
2021-08-20 10:36:55 -04:00
Paul Hollinsky
a8562aca60
API: Legacy: Make icsneoFindDevices edge cases match icsneo40
2021-06-14 14:41:54 -04:00
Paul Hollinsky
da4ab6ef62
API: Legacy: Fix MSVC build issues
2021-06-11 18:44:33 -04:00
Paul Hollinsky
9b2eae4a6c
API: Legacy: Fix icsneoFindDevices
2021-06-11 15:19:40 -04:00
Paul Hollinsky
a43c0117d6
API: C: Check nullptr in icsneo_serialStringToNum
...
Otherwise it will implicitly call the std::string constructor
and that constructor does not check nullptr.
2021-06-11 13:06:47 -04:00
Paul Hollinsky
f3e456e7ea
API: Legacy: Fix build issues caused by the merge
2021-06-11 13:05:39 -04:00
Paul Hollinsky
34f7bfabd2
API: Legacy: Remove unused variable
2021-06-11 12:36:37 -04:00
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