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
d79f735df8
Settings: Fix an issue where read errors were not properly reported
...
Since we were not failing the open for a settings read failure,
any errors would go unnoticed.
2021-04-11 22:37:44 -04:00
Paul Hollinsky
e82b5d15e0
Support software controllable termination
2021-04-11 22:13:51 -04:00
Paul Hollinsky
c8bf1f26da
Examples: C Interactive: Initialize product description to empty string
...
This is a guard in case the icsneo_describeDevice call were to
fail for some reason, and is just good practice regardless.
2021-04-11 22:00:12 -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
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
Jeffrey Quesnelle
7f27b30954
Make icsneo::Plasion::GetSupportedNetworks public
2021-02-26 10:38:38 -05: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
Kyle Schwarz
33a84bf8ce
PCAP: Switch to pcap_dispatch()
2020-11-17 15:05:14 -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
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
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
Kyle Schwarz
a5b27a15b0
Allow disconnections to be signaled by drivers
...
This allows for disconnections to be detected quickly
where possible.
It also makes sure other driver errors aren't thrown
in the event of a disconnection.
2020-10-08 17:38:10 -04: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
Paul Hollinsky
7e714abfd1
EthernetPacketizer: Add missing include for GCC
2020-09-23 10:23:05 -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
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
Kyle Schwarz
12463ea2f4
Remove globs from CMake
2020-09-02 12:19:17 -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