Paul Hollinsky
78747aa899
CMake: Set CXX_STANDARD to C++11 if not set elsewhere
...
We need at least C++11.
If we're statically compiling into an application, we want to be using the same
CXX_STANDARD as it for ABI compatibility (particularly with icsneo::optional),
hence having the check around it.
2021-11-16 20:04:12 -05:00
Paul Hollinsky
2d6004bed1
CANPacket: Remove unused byte from datastream
2021-11-16 20:04:12 -05:00
Paul Hollinsky
574530978c
Encoder: Add 1 to host-to-device long format packets
...
Vehicle Spy 3 does this, it's a long-standing firmware idiosyncrasy.
Due to the way the device handles packets, this didn't cause a loss of
communication, only a "host to device byte" app error under certain
circumstances.
2021-11-16 20:03:41 -05:00
Paul Hollinsky
988289afc1
ValueCAN 4 Industrial: Disable 16-bit alignment over Ethernet
...
This is a continuation of a1a544045b
2021-11-16 20:03:02 -05:00
Paul Hollinsky
ac77fe2b56
POSIX: PCAP: Use EthernetPacketizer
2021-09-23 21:31:59 -04:00
Paul Hollinsky
1aa3828688
Ethernet Comm Devices: Disable unnecessary align16bit
2021-09-23 21:30:48 -04:00
Paul Hollinsky
0656cb568e
EthernetPacketizer: Coalesce small PC-to-device packets
2021-09-23 21:29:15 -04:00
Paul Hollinsky
6b37acf471
Encoder: Remove unused function
...
This is instead handled by an overloaded function in Communication
2021-09-21 00:23:32 -04:00
Paul Hollinsky
df9827fb2c
Device: Don't allow suppressDisconnects during a heartbeat request
...
See the comment block for an explanation
2021-09-20 23:39:45 -04:00
Paul Hollinsky
f129be34b5
C API: Resolve compilation against new icsneo::Messasge API
2021-09-20 23:24:19 -04:00
Paul Hollinsky
38f0022bb6
Communication: Support extended commands
2021-09-20 23:07:49 -04:00
Paul Hollinsky
1b13e2d6a4
MessageFilter: Ensure non-frames can be filtered by network type and ID
2021-09-20 19:38:00 -04:00
Paul Hollinsky
c847d68f3c
POSIX FTDI: Count LIBUSB_ERROR_IO as a disconnection
2021-09-20 19:30:59 -04:00
Paul Hollinsky
3764a2e814
Device: Wider tolerance for disconnections
2021-09-20 19:29:57 -04:00
Paul Hollinsky
5f44986c1b
Merge branch 'master' into v0.3.0-dev
2021-08-22 13:15:54 -04:00
Paul Hollinsky
68715d515d
Decoder: Allow older ResetStatus packets without voltage or temperature
2021-08-22 13:12:36 -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
c7e7222140
Legacy: Ensure stddef.h is present for size_t
...
Many compilers won't need this, but better to
have it so it's correct.
2021-08-05 15:07:02 -07:00
Paul Hollinsky
6241996a58
RAD-Star 2: Fix invalid serial numbers being reported
2021-07-06 19:38:41 -04:00
Paul Hollinsky
84c6b202c7
RAD-Star 2: Fix invalid serial numbers being reported
2021-07-06 19:31:44 -04:00
Paul Hollinsky
16b88b7787
macOS: PCAP: Fix typo
2021-07-05 23:55:22 -04:00
Paul Hollinsky
0c67cdf078
macOS: PCAP: Fix typo
2021-07-05 23:54:15 -04:00
Paul Hollinsky
bb65e37841
Merge branch 'master' into v0.3.0-dev
2021-06-17 21:07:50 -04:00
Paul Hollinsky
02c14aeb35
macOS: PCAP: Add code necessary for device discovery
...
You will still need chmod_bpf or similar to find devices
2021-06-17 21:07:22 -04:00
Paul Hollinsky
37d06807e4
POSIX: PCAP: Update inferface name to match Windows implementation
2021-06-15 19:09:13 -04:00
Paul Hollinsky
b13a33f0be
Windows: PCAP: Less verbose name for the interface
...
Fixing some tabs/spaces formatting here as well
2021-06-15 19:09:05 -04:00
Paul Hollinsky
3cff831c6b
Examples: C++: Correct compilation in a C++20 project
...
Otherwise nonstd::optional doesn't match std::optional
2021-06-14 14:42:37 -04:00
Paul Hollinsky
a8562aca60
API: Legacy: Make icsneoFindDevices edge cases match icsneo40
2021-06-14 14:41:54 -04:00
Paul Hollinsky
e5bf87ba7d
Merge branch 'master' into v0.3.0-dev
2021-06-11 18:54:36 -04:00
Paul Hollinsky
da4ab6ef62
API: Legacy: Fix MSVC build issues
2021-06-11 18:44:33 -04:00
Paul Hollinsky
a9840028ff
Windows: DynamicLib: DLLExport before _stdcall for Legacy
2021-06-11 18:43:33 -04:00
Paul Hollinsky
4b7cb28bdf
API: Legacy: Disable octal mappings for non-stubbed functions
2021-06-11 18:42:33 -04:00
Paul Hollinsky
c888aad5ae
VersionPacket: Use C++11 function signature
2021-06-11 18:40:50 -04:00
Paul Hollinsky
8c9d3a5e6a
Merge branch 'master' into v0.3.0-dev
2021-06-11 15:40:42 -04:00
Paul Hollinsky
4588cb55fa
POSIX: DynamicLib: Force visibility of exports in case of -fvisibility=hidden
2021-06-11 15:20:41 -04:00
Paul Hollinsky
9b2eae4a6c
API: Legacy: Fix icsneoFindDevices
2021-06-11 15:19:40 -04:00
Paul Hollinsky
45c879c2b6
API: Legacy: Update def file with the correct ordinals
2021-06-11 13:52:09 -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
843fa92564
API: Legacy: Add standard DLLExport to LegacyDLLExport
2021-06-11 12:39:20 -04:00
Paul Hollinsky
34f7bfabd2
API: Legacy: Remove unused variable
2021-06-11 12:36:37 -04:00
Paul Hollinsky
4095f23ded
Settings: Make getBaudrateFor work for SWCAN and LSFTCAN
2021-06-10 15:18:31 -04:00
Paul Hollinsky
1b7db51a45
Windows: PCAP: Fix Npcap loading for _UNICODE
2021-06-10 15:18:23 -04:00
Paul Hollinsky
165eb0f8a2
Windows: Correct dynamic load helper when _UNICODE is defined
2021-06-10 15:18:13 -04:00
Paul Hollinsky
ed94012046
Examples: Interactive C: Fix initializers
2021-06-10 15:18:05 -04:00
Paul Hollinsky
7b7320bc27
Support the RAD-Epsilon
2021-06-10 15:17:57 -04:00
Paul Hollinsky
19aabdfacf
POSIX: PCAP: Cancel after pcap_breakloop() to EINTR out of poll()
...
This is necessary as pcap_breakloop() does not actually wake the
thread from blocking operations, such as poll.
2021-06-10 15:17:43 -04:00
Paul Hollinsky
b340d167dc
Support the neoVI RED 2
2021-06-10 15:17:34 -04:00
Paul Hollinsky
d4f6c12394
CANPacket: Fix invalid length check
...
This case is already checked above, and further
was invalid since the length had already been
translated to the numeric (0-64) value.
2021-06-10 15:03:34 -04:00
Paul Hollinsky
ffe2d34799
Settings: Make getBaudrateFor work for SWCAN and LSFTCAN
2021-06-01 22:40:26 -04:00
Paul Hollinsky
71fc039689
Windows: PCAP: Fix Npcap loading for _UNICODE
2021-05-30 03:02:41 -07:00
Paul Hollinsky
496a007da3
Windows: Correct dynamic load helper when _UNICODE is defined
2021-05-30 02:57:18 -07:00
Paul Hollinsky
cf8bcd1d63
Examples: Interactive C: Fix initializers
2021-05-30 02:55:00 -07:00
Paul Hollinsky
bda37e31f3
Support the RAD-Epsilon
2021-05-28 18:10:16 -04:00
Paul Hollinsky
c12330eec4
POSIX: PCAP: Cancel after pcap_breakloop() to EINTR out of poll()
...
This is necessary as pcap_breakloop() does not actually wake the
thread from blocking operations, such as poll.
2021-05-27 22:47:44 -04:00
Paul Hollinsky
04e7bfd1af
Support the neoVI RED 2
2021-05-27 22:47:36 -04:00
Paul Hollinsky
ed5132e852
CANPacket: Ensure correct padding when padding by the DLC
2021-05-25 22:19:03 -04:00
Paul Hollinsky
76b6ecbf04
CANPacket: Fix invalid length check
...
This case is already checked above, and further
was invalid since the length had already been
translated to the numeric (0-64) value.
2021-05-25 17:23:41 -04:00
Paul Hollinsky
ad07af160c
MSVC: Variable shadowing
2021-05-22 11:31:19 -04:00
Paul Hollinsky
21bc4eeff2
Message: Create a type system so non-frame data can be represented
...
This change breaks existing code, hence the version bump, but it's
going to be much less error prone going forward.
2021-05-22 01:58:36 -04:00
Paul Hollinsky
21e93d1f73
CAN: Honor the specified dlcOnWire for transmit
2021-05-21 17:38:00 -04:00
Paul Hollinsky
b97f358a0f
Settings: Extra Ethernet settings on ValueCAN 4 and RAD-Pluto
2021-05-10 21:17:31 -04:00
Paul Hollinsky
6f8e073fd1
MultiChannelCommunication: Resolve MSVC constexpr warning
2021-05-10 21:16:21 -04:00
Paul Hollinsky
07afbebc6d
Settings: Resolve MSVC structure warnings
2021-05-10 21:15:54 -04:00
Paul Hollinsky
9ba7320fd3
MSVC: Fix build warnings
2021-05-05 12:51:52 -04:00
Paul Hollinsky
f752924a36
Unaligned: Use correct MSVC define
2021-05-05 12:32:29 -04:00
Paul Hollinsky
295ba490aa
Settings: Mark termination enables as an unaligned ptr
...
Unfortunately, the termination enables are not always at an aligned
boundary, and MSVC needs to taint the ptr type with __unaligned
in that case.
2021-05-05 03:38:58 -04:00
Paul Hollinsky
1bb114004e
Remove unused parameters
...
These can cause warnings (which we treat as errors) on MSVC
2021-05-05 02:40:00 -04:00
Paul Hollinsky
e99107c1bc
Device: Allow different Question options for OpenStatus
2021-05-05 02:21:15 -04:00
Paul Hollinsky
82113f1a67
Settings: Better handling of the checksum
2021-05-05 02:20:36 -04:00
Paul Hollinsky
0006f31844
Network: Mark Main51, OldFormat, and ReadSettings as Internal
2021-05-05 02:18:22 -04:00
Paul Hollinsky
595cc36545
Device: Implement version handling
2021-05-05 02:17:38 -04:00
Paul Hollinsky
8be3bbaee5
CMake: Use CMAKE_CXX_STANDARD_REQUIRED
2021-05-05 02:16:01 -04:00
Paul Hollinsky
72bc5914a6
EthernetPacket: Allow 1 extra byte at the end of the packet
...
ValueCAN 4-2EL sends an extra byte to pad the message
to an even byte count.
2021-05-04 23:25:36 -04:00
Paul Hollinsky
eca1110305
ValueCAN 4-2EL: Allow the Ethernet network while communicating over it
...
All frames except for the CAB1/CAB2 communication are reported
2021-05-04 23:08:34 -04:00
Paul Hollinsky
b104b34919
Device: Report whether the current driver supports DFU
2021-05-04 22:53:28 -04:00
Paul Hollinsky
805ff4f549
ValueCAN 4-2EL: Device reqires PCAP to enumerate over Ethernet
2021-05-04 22:39:33 -04:00
Paul Hollinsky
78e3eb18df
Drivers: Rename STM32 to CDC ACM
...
This is much more descriptive of what the driver actually is
2021-05-04 22:37:16 -04:00
Paul Hollinsky
6d22b1e001
POSIX: STM32: Check re-enumeration by inode
...
This is much more stable than waiting for a set amount of time
We still timeout at 5s, if we see that being hit it can be increased
2021-05-04 22:22:30 -04:00
Paul Hollinsky
b7c7d4349a
Device: Extend open() API for long-running tasks
2021-04-29 19:08:31 -04:00
Paul Hollinsky
3d4e0a27e3
Decoder: Pass on short Device messages
2021-04-29 19:07:38 -04:00
Paul Hollinsky
0ce52f064b
Event: Better error message for USB powered devices
2021-04-29 18:15:56 -04:00
Paul Hollinsky
f629125e67
Build: Allow inheritance of the C++ standard
...
This fixes symbol name incompatibilities when linking with icsneo::optional
between C++ standards.
2021-04-29 18:08:01 -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
622c5ee57a
POSIX: STM32: Handle re-enumeration when changing modes
2021-04-27 21:12:59 -04:00
Paul Hollinsky
5733300de6
Extensions: Auto-add linked extensions
2021-04-27 21:12:24 -04:00
Paul Hollinsky
65a6fadd1d
Device: Pull out communication close on open error
...
We don't want to close before calling the extension hooks.
2021-04-27 21:07:36 -04:00
Paul Hollinsky
8e2883bca9
MultiChannelCommunication: Use generic handleInput
...
This way redirection, and any other changes we
make to the packetizer/dispatch flow, apply to
MultiChannelCommunication as well.
2021-04-23 22:34:32 -04:00
Paul Hollinsky
f8355df770
Communication: Block destruction while inside redirectionFn
2021-04-23 22:33:32 -04:00
Paul Hollinsky
218648ae5a
Extensions: Offer an opportunity to communicate with a dead device
2021-04-23 22:32:42 -04:00
Paul Hollinsky
4cd7bafca7
Device: Allow the suppression of disconnects from extensions
2021-04-23 20:04:02 -04:00
Paul Hollinsky
6c1cbc9db8
Optional: Move optional-lite to the include/third-party directory
...
This fixes the use case of adding the include folder
manually to an outside project.
2021-04-23 20:01:53 -04:00
Paul Hollinsky
b7ce9819bd
POSIX STM32: Handle large write payloads failing with O_NONBLOCK
2021-04-23 17:06:16 -04:00
Paul Hollinsky
55ca6adee6
Communication: Allow redirection of reads
2021-04-23 17:00:37 -04:00
Paul Hollinsky
bb7719d185
POSIX Drivers: Clear disconnected status when closing
...
This allows us to properly re-open if we were
previously disconnected.
2021-04-23 16:59:48 -04:00
Paul Hollinsky
4b12d3aa4d
EventCallback: Convert indentation to tabs
2021-04-22 13:29:56 -04:00
Paul Hollinsky
bb322ad190
neoVI FIRE 2: MiscIO and EMiscIO Support
2021-04-21 10:40:35 -04:00
Paul Hollinsky
92589c2ce7
Device: Make IO system thread-safe
2021-04-21 10:04:25 -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