Commit Graph
100 Commits
Author SHA1 Message Date
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 eb5a84132a EtherBADGE: Device only has one CAN channel 2021-04-08 15:51:56 -04:00
Paul Hollinsky 66b0c91cea Settings: Add missing early return on error to getFDBaudrateFor 2021-04-08 15:05:39 -04:00
Paul Hollinsky 7fdae15aed Network: Update DeviceStatus define to match the standard style 2021-04-07 00:38:49 -04:00
Paul Hollinsky adb972b1f7 Network: Fix defines for C API 2021-04-07 00:35:08 -04:00
Paul Hollinsky 441b16e9a1 Network: Add CoreMini Mappings
These are used for network and termination enables
2021-04-07 00:30:54 -04:00
Paul Hollinsky cf8c5a31c7 I2C: Add as type and fix network definitions
The first I2C was mysteriously missing, it is here now.

In addition, I2C support will soon be requested so it has been
given its own type.
2021-04-07 00:23:29 -04:00
Paul Hollinsky a6c8acd8e9 Ethernet (DoIP) Activation Line support 2021-04-06 22:50:25 -04:00
Paul Hollinsky 4e245db94e ValueCAN 4-2EL: Fix wrong structure used in settings
The old structure lined up with the correct one, so the wrong
way did work, but it was just by sheer luck.
2021-04-06 18:03:41 -04:00
Paul Hollinsky 4a1d0382f2 ThirdParty: Add optional-lite polyfill
Thanks to all who have made contributions to
https://github.com/martinmoene/optional-lite
2021-04-06 18:01:26 -04:00
Paul Hollinsky 18394d0cfb Add transmit support for ISO 9141-2 2021-03-23 17:23:55 -04:00
Paul Hollinsky 4bca43028c EthernetPacketizer: Resolve warnings 2021-03-23 14:36:10 -04:00
Paul Hollinsky 92790330f1 macOS: STM32: Fix device finding for newer versions of the OS 2021-03-22 16:07:51 -04:00
Paul Hollinsky f63c187ed3 Add receive support for ISO 9141-2 2021-02-18 23:19:33 -05:00
Paul Hollinsky 4d655da69d Decoder: 64-bit shift to avoid UB
Shifting a value by more than the size of its type is UB.

This was actually causing mangled serial numbers with
optimization on using Clang 12 on Linux.
2021-01-29 17:32:07 -05:00
Paul Hollinsky 09a02ff420 Platform: Windows: Unicode safe
Compile and run correctly whether UNICODE and _UNICODE are defined or not
2021-01-28 15:51:35 -05:00
Paul Hollinsky 7c1d44bc4f C Example: Show transmit receipts 2020-11-17 11:47:09 -05:00
Paul Hollinsky cfaf677263 C Example: Fix improper allocation size 2020-11-17 11:47:05 -05:00
Paul Hollinsky e5920417ff POSIX: FTDI: Use libusb include directory
This allows for the same include to be used on macOS
2020-10-08 21:09:45 -04:00
Paul HollinskyandGitHub dfe2d23d85 Merge pull request #27 from pierreluctg/icsneolegacy-ExtraDataPrtEnabled
Setting ExtraDataPtrEnabled when ExtraDataPtr is use
2020-09-23 12:40:56 -04:00
Paul HollinskyandGitHub 66d7c2f390 Merge pull request #25 from pierreluctg/icsneolegacy-setFDBitRate
Adding icsneoSetFDBitRate api to the icsneolocacy
2020-09-23 12:36:23 -04:00
Paul Hollinsky 7e714abfd1 EthernetPacketizer: Add missing include for GCC 2020-09-23 10:23:05 -04:00
Paul Hollinsky 6f0654c336 Windows: PCAP: Rework for Ethernet Packetizer and Performance 2020-09-22 19:22:40 -04:00
Paul Hollinsky 76619e2496 RAD-Galaxy: RJ45 Ethernet Support
The "Ethernet" network must be enabled in neoVI Explorer.
It is disabled by default.

This network corresponds with the port labeled DAQ on
the Galaxy.
2020-09-22 19:20:56 -04:00
Paul Hollinsky 2c55584962 Ethernet: Encode preemption enabled flag 2020-09-22 19:19:22 -04:00
Paul Hollinsky 1f4358af4b Packetizer: Correct packet length check
AA(1) + Old format(1)  + New Length(2) + New NetID(2) = 6
2020-09-22 19:17:12 -04:00
Paul Hollinsky 28b35a8243 Communication: Create EthernetPacketizer
This code previously was separately maintained in each of the
PCAP driver layers.

While adding complexity for reassembly, I decided it was
time to pull it out into a common implementation.

As of this commit, the old implementations have not been
removed from the PCAP drivers yet.
2020-09-22 19:15:24 -04:00
Paul Hollinsky 5c18bedf70 RAD-Gigalog: Fix serial number prefix 2020-09-18 16:38:09 -04:00
Paul Hollinsky eda4a30dcd Add ValueCAN 4 Industrial 2020-09-14 12:45:32 -04:00
Paul Hollinsky 211f844f77 ValueCAN 4-2EL: Fix device agnostic CAN settings 2020-09-14 12:36:19 -04:00
Paul Hollinsky 8843ace87e ValueCAN 4-2EL: Add communication over Ethernet
The device can communicate with the PC over its Ethernet if the
enablePcEthernetComm setting is set within the structure.

This stops the Ethernet port from being used for vehicle data.
2020-09-14 12:35:43 -04:00
Paul Hollinsky d2676afa11 Update device names for consistency 2020-09-14 11:58:34 -04:00
Paul Hollinsky c48efe8e5b Add Gigalog, Gigastar, Moon 2, Moon Duo, and Supermoon
The USB drivers for these devices are currently stubbed, it will find them
but not connect.

The Ethernet drivers work though, where applicable.
2020-09-14 11:57:01 -04:00
Paul Hollinsky 9dc4b302ef POSIX: PCAP: Enable if permissions are set, with a warning otherwise
On Linux, raw packet capture requires CAP_NET_RAW (or root).

If we can't capture raw packets, we will not be able to find/connect to
devices over ethernet.
2020-09-14 11:51:15 -04:00
Paul Hollinsky a460e27657 Add RADGigalog for Windows
Ethernet communication with device only
2020-09-08 17:55:52 -04:00
Paul Hollinsky eaa1409af0 Update/add settings structures for several devices 2020-09-08 17:41:47 -04:00
Paul Hollinsky de0c16a461 VividCAN: Better "Online Not Supported" Error 2020-09-08 17:39:47 -04:00
Paul Hollinsky 3f8ed840ba Start callback IDs at 1 so 0 is reserved 2020-09-08 17:38:38 -04:00
Paul Hollinsky 8e999a0fb8 Heartbeat: Break from loop rather than returning
This makes sure we run the cleanup code at the bottom of the thread
2020-09-01 16:32:54 -04:00
Paul Hollinsky a325d8a12b PCAP: Send initial requests from the interface MAC
This allows the device to respond directly to us
2020-09-01 15:53:45 -04:00
Paul Hollinsky 046e2bae9d Ensure proper closure of the heartbeat thread on reopen 2020-09-01 15:52:41 -04:00
Paul Hollinsky c48995520f POSIX: FTDI: Report warnings and retry on libftdi errors 2020-09-01 15:15:36 -04:00
Paul Hollinsky aceea6dc5b libftdi: Don't discard data on LIBUSB_ERROR_TIMEOUT
libusb may have transferred some data, don't want to lose it
2020-09-01 15:14:37 -04:00
Paul Hollinsky 5db07102aa PCAP: Listen for ICS_UNSET_MAC
On newer firmware, the device will address the PC directly after
EnableNetworkComm. Before this, it will set the destination MAC to
00:FC:70:FF:FF:FF.
2020-08-27 12:24:35 -04:00
Paul Hollinsky b5c9443fc8 POSIX: PCAP: Ensure packets get captured
No packets were being captured with a timeout of 0
2020-08-27 12:24:35 -04:00
Paul Hollinsky 07e99515fa Always send the ReadSettings command in short format
This is needed for FIRE
2020-08-10 12:30:30 -04:00
Paul Hollinsky 154eab4b1b Direct to the examples folder 2020-08-06 16:26:46 -04:00
Paul Hollinsky b09f85693f v0.2.0
This update has breaking changes for the event/error subsystem, see
Usage within the documentation for details on the workings of the new
system.
2020-08-06 16:17:28 -04:00
Paul Hollinsky 6218a5cc7e Fix documentation building 2020-08-06 16:09:29 -04:00
Paul Hollinsky 8566f9d57d Update copyright date 2020-08-06 16:06:31 -04:00
Paul Hollinsky f49f65c3ed Move examples into tree
See history at https://github.com/intrepidcs/libicsneo-examples/tree/v0.2.0-dev
2020-08-06 15:41:48 -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
Paul Hollinsky a759c1faa9 Communication: Fix issue where driver failing to open leaves dangling thread 2020-06-24 22:03:31 -04:00
Paul Hollinsky 67bd1e616a MultiChannelCommunication: Fix issue where initial open fails 2020-06-24 21:38:57 -04:00
Paul Hollinsky 25f079b5c6 POSIX FTDI: Fix a bug where closing device successfully returned an error 2020-06-24 20:59:53 -04:00
Paul Hollinsky dcc44d99ea Fix an issue where the FIRE could not be opened 2020-06-17 15:11:57 -04:00
Paul Hollinsky 8260149cb8 Add bridging between neomessage_eth_t and EthernetMessage
This allows transmitting Ethernet from the C API
2020-05-18 17:23:40 -04:00
Paul Hollinsky 38e24d7641 Refactor ICommunication/Transport => Driver 2020-03-09 14:09:27 -04:00
Paul Hollinsky d8798acaa7 Communication: MultiChannel: Properly mask out communication from non-main VNETs
This also makes it possible for Communication to create more instances of Packetizer
This is necessary because Packetizer is not thread safe,
so when we support more VNETs we will need to create more Packetizers.
2020-03-09 13:56:18 -04:00
Paul Hollinsky 42780dc610 Add ReaderWriterQueue and update ConcurrentQueue 2020-03-09 13:38:14 -04:00
Paul Hollinsky 9ac3fd56bd FlexRay: Don't check for POCReady when writing configuration
It is not needed and this gives a good speedup to configuration
2020-02-28 20:10:31 -05:00
Paul Hollinsky 8ae3317930 FlexRay: Rework controller register reading for reliability 2020-02-28 20:09:33 -05:00
Paul Hollinsky 1cd817a16b Fix race conditions with Communication::waitForMessageSync 2020-02-28 20:00:08 -05:00
Paul Hollinsky 9fcba2eb13 Notify extensions we're going offline before we actually do 2020-02-28 19:57:43 -05:00
Paul Hollinsky 0c330f734b Fix typo 2020-02-28 19:57:16 -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 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
Paul Hollinsky eb856dffec Quiet down warnings on Windows 2019-10-16 17:43:11 -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
Paul Hollinsky 2a47b6f179 v0.1.2
Embed version info into DLLs on Windows
Fix device LEDs not indicating status properly
Build fixes
2019-09-04 13:32:09 -04:00
Paul Hollinsky ff1a78c4eb Hotfix for broken device LED updating
This is fixed more permanently on the development branch.
That change will be preferred over this one, when the time comes to merge.
2019-09-04 13:31:17 -04:00
Paul HollinskyandGitHub 6bae630463 Merge pull request #14 from intrepidcs/icsneoc-versioninfo
Embed version info into built icsneoc DLL
2019-08-27 12:46:35 -04:00
Paul Hollinsky 0607986114 Resolve merge conflicts 2019-08-12 11:17:28 -04:00
Paul Hollinsky 511a724252 POSIX FTDI: Improve performance by setting the latency timer 2019-07-26 17:46:24 -04:00
Paul Hollinsky 21c3fead4a Error checking for Encoder::encode UpdateLEDState 2019-07-23 15:04:50 -04:00
Paul Hollinsky 77eed8f58d Revise documentation for icsneo_getLastError 2019-07-23 15:03:43 -04:00
Paul HollinskyandEricLiu2000 a608d21304 Fix for error at pcap and vcp level on Windows causes crash 2019-06-14 09:41:47 -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
Paul Hollinsky ba7228d4ba Embed version info into built DLLs 2019-05-30 13:17:55 -04:00
Paul Hollinsky 9175a7bacf v0.1.1
Initial numbered release

Numbered releases will list changes since the last numbered release in a changelog
2019-05-14 15:31:39 -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 0dae7d4354 STM32: Check that termios attributes are set successfully 2019-05-14 15:21:05 -04:00
Paul Hollinsky 288ff3565e Make sure to close underlying com if we fail to open 2019-05-14 15:20:04 -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 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
Paul HollinskyandGitHub 7a3baa1f89 Merge pull request #11 from pierreluctg/patch-1
Adding udev rules examples
2019-04-23 14:13:42 -04:00
Paul Hollinsky 5a6a1c990a Support CAN FD Error State Indicator 2019-04-17 17:03:38 -04:00