Jonathan Schwartz
b32f58da38
Device: Add new method to mark collections as uploaded in CM root directory
2022-10-24 16:02:48 -04:00
Kyle Schwarz
0101467154
Communication: Atomic sync messages
...
If waitForMessageSync() is called in two threads for the same message
the callback for both will be invoked with the first send.
2022-10-21 14:49:03 +00:00
Kyle Schwarz
0fc676e576
A2B: Resolve warnings
2022-10-20 19:38:34 -04:00
Yasser Yassine
7b2544864b
A2B: Add initial WAV streaming support
2022-10-19 18:44:05 -04:00
Kyle Schwarz
643768fb6a
Device: ValueCAN3: Drop ftdi.h include
2022-10-17 21:01:24 -04:00
Kyle Johannes
9817887523
I2C: Network support
2022-10-18 00:12:16 +00:00
Emily Brooks
e02203a974
Device: Creates script status thread, callback for each variable
2022-10-11 14:48:39 -04:00
Emily Brooks
5b14ec7246
Device: Add start/stop/clear script, script status, and preload coremini commands
2022-10-11 14:48:39 -04:00
Yasser Yassine
3b80746fb8
A2B: Add A2B message initial support
2022-10-11 11:20:04 -04:00
Emily Brooks
3b9a31ef51
RAD-A2B: Add netID to string support
2022-10-05 13:50:00 -04:00
Kyle Schwarz
9871430288
RAD-A2B: Initial support
2022-09-15 11:13:45 -04:00
Kyle Schwarz
2e296dc8d3
ConcurrentQueue: Update to HEAD
2022-09-09 15:46:46 -04:00
Kyle Schwarz
b35fab754c
Device: ValueCAN3: Fix PID
2022-08-02 14:33:43 -04:00
Kyle Schwarz
9ef01e2d3d
Optional: nonstd to std
2022-07-22 01:27:39 -04:00
Kyle Schwarz
1bb33156f7
Device: Use lambda instead of std::bind
2022-07-22 02:47:10 +00:00
Paul Hollinsky
d6d34eb7bc
WiVICommandPacket: Only disable warnings for MSVC
...
This addresses a warning in GCC and Clang
2022-06-07 13:48:51 +00:00
Paul Hollinsky
a928a1d879
Device: Implement Wireless neoVI Stack
...
This reverts commit cb47065a47 .
2022-06-07 13:48:51 +00:00
Paul Hollinsky
de3d8bf870
RAD-Jupiter: Add initial support
2022-05-28 14:42:09 -04:00
Paul Hollinsky
00024990e9
WiVICommandPacket: Resolve GCC build error
2022-04-26 13:54:03 -04:00
Paul Hollinsky
2b819065ad
WiVICommandPacket: Disable MSVC struct warnings
2022-04-26 12:48:17 -04:00
Paul Hollinsky
58700afc73
Lifetime: Allow checking for empty lifetimes
2022-04-26 12:48:17 -04:00
Paul Hollinsky
55d7d5bf17
Device: Implement allowSleep for Wireless neoVI support
2022-04-26 12:48:17 -04:00
Paul Hollinsky
a2cfc50b7c
Message Filter: Fix filtering on NetID or NetType if message doesn't have one
2022-04-15 21:35:40 -04:00
Paul Hollinsky
c398afc4e3
Extended Commands: Fix struct packing
2022-04-15 21:35:40 -04:00
Paul Hollinsky
8d495aa916
neoVI FIRE 3: Initial support
2022-04-15 21:35:40 -04:00
Paul Hollinsky
91abf378f8
FirmIO: Use uintptr_t for 64-bit compatibility
2022-04-15 21:35:40 -04:00
Paul Hollinsky
2e3b738e76
Extended Commands: Decode generic responses
2022-04-15 21:35:40 -04:00
Paul Hollinsky
103f938d69
Disk: ReadDriver: Add unified cache
...
Previously, we had to copy an entire block out of the
old cache every time we wanted to read even a single
byte from it.
This ended up being a fairly significant performance
issue, in addition to the fact that the caching code
was duplicated.
2022-04-14 18:26:44 -04:00
Paul Hollinsky
d45d708446
FirmIO: Stable communication
2022-03-27 23:57:44 -04:00
Paul Hollinsky
2dd91325e6
FirmIO: Initial commit
2022-03-27 18:10:24 -04:00
Paul Hollinsky
008a1620c8
Repo: Normalize source files to LF
2022-03-27 14:40:32 -04:00
Paul Hollinsky
781fc2c034
Drivers: Decouple from devices
...
This allows us to better implement alternative drivers
for devices, such as for device sharing servers or
talking to CoreMini processors within the same device.
2022-03-27 14:30:31 -04:00
Paul Hollinsky
0ff12300f3
RAD-Gigalog: Rename to RAD-Mars
2022-03-11 10:53:05 -05:00
Paul Hollinsky
f4e16025c1
Disk: ExtendedExtractor: Implement retries
2022-03-10 18:04:12 -05:00
Paul Hollinsky
f367fcecca
Disk: NeoMemory: Implement writing
2022-03-03 20:34:46 -05:00
Paul Hollinsky
f05fd5e201
EthernetPacketizer: Correct reassembly for RAD devices
...
The RAD devices will give us a packet size larger than the packet,
as they specify the size of the entire reassembly.
2022-03-03 20:34:46 -05:00
Paul Hollinsky
adad9b3761
Disk: ExtendedExtractor: Better header parsing
2022-03-03 20:34:46 -05:00
Paul Hollinsky
0a15adbe91
Disk: Allow mismatched access for Read and Write drivers
...
This will cause the driver to fall back to the least common
denominator.
2022-03-03 20:29:13 -05:00
Paul Hollinsky
1118428250
Device: Only allow one disk transaction at a time
...
Most drivers will not gracefully handle more than one transaction
2022-03-03 16:20:51 -05:00
Paul Hollinsky
478dfb3cb8
Platform: Windows: Create trampoline header
...
This way windows.h can be included if needed without a guard,
and we have a place to stub out defines for other platforms if
necessary.
2022-03-03 15:01:32 -05:00
Paul Hollinsky
8aa5bef7dc
Disk: Implement Extended Extractor Driver
...
This is the high speed driver used for RED 2, FIRE 3, and many
of the RAD-family devices.
2022-03-03 00:03:37 -05:00
Paul Hollinsky
453d3366af
Platform: Windows: Avoid windows.h
...
This way Windows.h doesn't pollute everything with random defines
2022-02-28 19:12:35 -05:00
Paul Hollinsky
ae1b8d342e
Disk: Use std::chrono::seconds for CacheTime
...
This fixes an issue with MSVC
2022-02-28 19:11:27 -05:00
Paul Hollinsky
c314417277
Device: Find the VSA offset for Disk::Access::EntireDisk
2022-02-28 15:55:16 -05:00
Paul Hollinsky
6bcd8e5637
Disk: Read driver for Plasion
2022-02-28 03:40:44 -05:00
Paul Hollinsky
4c9d6c5ee7
Disk: NeoMemory: Cache last read sector for one second
...
This prevents constant re-reads if reading in small chunks
2022-02-28 01:55:31 -05:00
Paul Hollinsky
f8a46b7196
Device: Add logical disk size accessor
2022-02-28 01:49:50 -05:00
Paul Hollinsky
0dcd950092
Device: Add disk write driver framework
...
At the moment, no drivers are implemented, so all devices have Access::None.
2022-02-25 01:14:57 -05:00
Paul Hollinsky
f8bfb243fa
Disk: Implement NeoMemoryDiskReadDriver
2022-02-25 01:14:57 -05:00
Paul Hollinsky
fe4d5e0c15
Device: Add disk read driver framework
...
Allow access to the device's logical disk.
At the moment, no drivers are implemented, so all devices have Access::None.
2022-02-25 01:14:57 -05:00
Paul Hollinsky
9e6970fd39
Windows: DynamicLib: Slim down Windows.h
...
This is important as it ends up being included in icsneoc.h
2022-02-24 16:37:13 -05:00
Paul Hollinsky
6cc0f08e2b
Settings: The device can report when defaults were applied
2022-02-24 15:50:39 -05:00
Paul Hollinsky
80362e7f81
Event Manager: Refactor
2022-02-24 15:49:21 -05:00
Paul Hollinsky
d0d279fdad
Windows: Disable unaligned on x86
...
Closes GH-44
2022-02-22 10:49:49 -05:00
Paul Hollinsky
c32d027b2d
MessageCallback: Tolerate being created with nullptr filter
...
Communication does this in waitForMessageSync if a filter
is not passed in.
This fixes a crash in icsneoWaitForRxMessagesWithTimeOut
for the legacy API.
For good measure, creation with an empty std::function will
immediately throw an std::bad_function_call back at the
caller, rather than letting that happen on the callback thread.
I'm also making the members const here so they are provably
always non-null (and not empty, for the function).
2022-02-21 22:55:49 -05:00
Paul Hollinsky
ac7b2d5106
FlexRay: Automatically reconfigure for runtime-added message buffers
2022-02-21 21:40:46 -05:00
Paul Hollinsky
f37669139f
MSVC: Resolve warnings
2022-02-21 21:36:20 -05:00
Paul Hollinsky
0ded5508c1
Windows: Fix build issues with EthPhyRegPacket
2022-02-14 19:20:50 -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
890eb1e1bc
RAD-Galaxy: Update settings structure with new entries
2021-12-08 14:30:54 -05:00
Paul Hollinsky
f8b5710a6c
Communication: Avoid MessageFilter type punning in waitForMessageSync
2021-12-02 15:00:13 -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
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
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
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
bb65e37841
Merge branch 'master' into v0.3.0-dev
2021-06-17 21:07:50 -04:00
Tomasz Ziobrowski
ca83d7c4f2
Fixed ValueCan4 Industrial settings interpretation.
...
Description:
Possibly was an type - casting was done different structure.
Was not possible to determine or setup settings for ValueCan4 Industrial.
Whitespace fixed from the original commit
Co-authored-by: Paul Hollinsky <phollinsky@intrepidcs.com>
2021-06-16 21:02:42 -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
Tomasz Ziobrowski
af2c30885b
Added support for MinGW32 - to be working with qticsneo
2021-06-15 20:15:08 +02:00
Paul Hollinsky
e5bf87ba7d
Merge branch 'master' into v0.3.0-dev
2021-06-11 18:54:36 -04:00
Paul Hollinsky
a9840028ff
Windows: DynamicLib: DLLExport before _stdcall for Legacy
2021-06-11 18:43:33 -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
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
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
Paul Hollinsky
165eb0f8a2
Windows: Correct dynamic load helper when _UNICODE is defined
2021-06-10 15:18:13 -04:00
Paul Hollinsky
7b7320bc27
Support the RAD-Epsilon
2021-06-10 15:17:57 -04:00
Paul Hollinsky
b340d167dc
Support the neoVI RED 2
2021-06-10 15:17:34 -04:00
David Rebbe
4e901676d2
Added icsneoOpenDevice.
2021-06-07 17:03:56 -04:00
Paul Hollinsky
496a007da3
Windows: Correct dynamic load helper when _UNICODE is defined
2021-05-30 02:57:18 -07:00
Paul Hollinsky
bda37e31f3
Support the RAD-Epsilon
2021-05-28 18:10:16 -04:00
Paul Hollinsky
04e7bfd1af
Support the neoVI RED 2
2021-05-27 22:47:36 -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
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
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
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
0ce52f064b
Event: Better error message for USB powered devices
2021-04-29 18:15:56 -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
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
55ca6adee6
Communication: Allow redirection of reads
2021-04-23 17:00:37 -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
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
eb5a84132a
EtherBADGE: Device only has one CAN channel
2021-04-08 15:51:56 -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
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
Kyle Schwarz
ffbb5e20c5
Add description field for messages
...
Closes https://github.com/intrepidcs/libicsneo/issues/28
2020-11-13 16:15:04 -05: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
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
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
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
046e2bae9d
Ensure proper closure of the heartbeat thread on reopen
2020-09-01 15:52:41 -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
b6692d3762
Add missing C++ guards
2020-08-18 16:01:51 -04:00
Kyle Schwarz
4cd897badd
Fix deadlock with Driver::write
...
Use a spin lock to recheck the queue size until it has room to push.
2020-08-14 16:57:52 -04:00
Kyle Schwarz
afda617894
Remove trailing white-space
2020-08-11 13:42:13 -04:00
Kyle Schwarz
1d286be1e4
Switch PLUTO_MAX_MAC_CONFIG_ENTRIES to C API define
2020-08-10 15:50:29 -04:00
Kyle Schwarz
6638cf05ae
Use C++11 constexpr instead of define
2020-08-10 15:21:16 -04:00
Kyle Schwarz
d58202dfc0
Add RADPlutoSettings to initializer template call
2020-08-10 15:07:12 -04:00
Kyle Schwarz
08928c36e3
RADPluto uses HSCAN2 instead of MSCAN
2020-08-10 14:31:59 -04:00
Kyle Schwarz
3123cbb54b
Merge branch 'master' of Lustra:InfiniteWalrus/libicsneo into radpluto
2020-08-10 11:11:38 -04:00
Kyle Schwarz
17ebba3c57
Fix line-endings and include guard
2020-08-10 10:40:40 -04:00
Kyle Schwarz
7b3782cbe7
Update concurrentqueue to 1.0.2
...
1.0.2 resolves compiler warnings for MSVC 2019 with C++17 support (9cfda6cc61 )
2020-08-10 10:20:00 -04:00
Kyle Schwarz
f9ff4049f2
Add initial support for RADPluto settings
2020-08-07 17:13:08 -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
dcc44d99ea
Fix an issue where the FIRE could not be opened
2020-06-17 15:11:57 -04:00
Jeffrey Quesnelle
8f6ff86448
Load pcap_sendqueue functions on Windows
2020-06-12 13:55:47 -04:00
Jeffrey Quesnelle
d2019c24df
reuse discovered pcap interfaces in DeviceFinder::FindAll()
2020-05-11 16:17:56 -04:00
Jeffrey Quesnelle
99879c9021
turn PCAPDLL into a singleton
2020-03-24 13:15:26 -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
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