Commit Graph

122 Commits (f25a0a4a814f17a6afaa0303e8d562be8d88ae1b)

Author SHA1 Message Date
Kyle Schwarz f25a0a4a81 Device: Remove const from bool return type 2024-08-02 11:10:20 -04:00
Kyle Schwarz cf1b4778a1 Device: RADMoon2ZL: Add TC10 commands 2024-06-03 08:31:17 -04:00
Yasser Yassine 9a1cd1124d Device: Add device hardware info retrieval support 2024-05-14 19:52:00 +00:00
Kyle Schwarz bc6f5eca9c Device: Conditionally retrieve component versions 2024-04-17 14:36:42 -04:00
Yasser Yassine cb22e622b3 Device: Refactor A2B APIs
* Removes features in `A2BMessage` class to support API for reading 16, 24, and 32 bit samples from A2B channels
* Re-organizes WAV receiving and transmitting code and API
* Creates API for mapping message channels to WAV channels and vice versa for transmitting and receiving
* Fixes `icsneo::Network::NetID::ExtendedData` VnetID bug for `icsneo::ExtendedDataMessage` decoding
* Creates RAD-A2B sequence chart example
* Fixes coremini uploading for certain devices in EEPROM by introducing `icsneo::Device::supportsEraseMemory`
2024-03-12 12:06:49 +00:00
David Rebbe 06f6861130 Legacy: Drop deprecated APIs
Drop icsneoFindNeoDevices() and icsneoOpenNeoDevice() in favor of icsneoFindDevices() and icsneoOpenDevice(), respectively.

Also fixes:
- Failure to re-open a device after it has been closed with the C/legacy APIs
- NumberOfClients not being updated
- FIRE3 settings missing in icsneoGetDeviceSettingsType()
2024-03-07 19:45:46 +00:00
Emily Brooks 05888e5c20 Device: Set multiple root directory entry flags at once 2024-02-14 18:06:59 -05:00
Max Brombach a44952be13 Disk: Update VSA Example and Fix VSA CAN-FD Decode
- Send and validate CAN/CAN-FD/Eth frames in VSA example (two devices)
- Fix failure to decode CAN-FD frames from VSA records
2024-01-16 18:01:10 +00:00
Jonathan Schwartz 58f53edea8 Update device timeouts 2023-12-01 23:29:42 +00:00
Kyle Schwarz bddbcfcf6d CI: Fix warnings 2023-12-01 22:20:41 +00:00
Max Brombach 02f1b4592e Device/Disk: Add VSA read and parse functionality
Implement ability to extract network traffic (CAN, LIN, Ethernet, etc.) from VSA message records on disk. Add a method to Device class that uses the VSAParser and the individual record types to extract messages from the VSA message records and pass them back to the communication system. This routes messages such that it appears as if they were discovered live instead of read from disk. The parse process (in Device) requires determination of metadata about the VSA file system on a device before it can begin extracting messages. This currently only handles data captured from the current coremini script on a device.
2023-11-15 16:02:47 +00:00
Yasser Yassine 4248c1a538 Device: Add CoreMini flashing support 2023-11-08 18:47:03 -05:00
Jonathan Schwartz e0cef880f0 Firmio: Improve exit from Find loop
Device: Null check return from std::dynamic_pointer_cast
2023-10-03 16:24:28 +00:00
Kyle Schwarz e97b307c4d Device: Wait up to 1s for GetAll response
If there's an active disk read in progress the default 50ms timeout is too short.
2023-09-21 16:52:30 +00:00
Kyle Schwarz 0c436621a0 Disk: Refactor ExtExtractorDiskReadDriver
Reading disk data is currently accomplished by redirecting the raw input stream
for the duration of the acquisition, during which no other operation can be
carried out. This change moves disk data reading into the packetizer so the
familiar request/reply with message filters can be used. To accomplish this the
deprecated ISOPIC network type was dropped because the two messages share this
network ID.

Also fixes live data packet lengths which were off-by-one.
2023-09-18 15:44:28 +00:00
Kyle Johannes 8d704b1bbb LiveData: Initial implementation
Add support for live data subscription via Device::subscribeLiveData() and
Device::unsubscribeLiveData(). The live data API can be used to subscribe to
individual "signals", a full list of which can be found in LiveDataValueType.
2023-08-22 16:20:48 -04:00
Emily Brooks 188a087c51 Device: Wait longer to receive message in heart beat thread 2023-08-15 19:43:08 +00:00
Kyle Schwarz 237bed1b72 Device: Wait for device response in setRTC() 2023-07-18 18:40:41 +00:00
Yasser Yassine d9c12bffe7 Device: Add device binary export support 2023-05-30 21:22:53 +00:00
Jonathan Schwartz 32900ae263 Device: Add GetComponentVersions and GetSupportedFeatures commands
Driver: Fix re-open and failed open cases for TCP

Also enforces even length packets for the RED2, FIRE3, and FIRE3 FlexRay devices.
2023-05-08 21:07:43 +00:00
Joseph Niksa b3bbf91e8c icsneolegacy: Implemented get() and set() RTC functions 2023-04-20 18:37:05 +00:00
Yasser Yassine bf6a059820 Device: Add Coremini script upload function 2023-03-08 18:58:38 +00:00
Kyle Schwarz 9b46d486cb Driver: Add TCP support
Device: Close Driver in heartbeat thread on disconnection
2023-03-08 18:32:26 +00:00
Emily Brooks 4229d8b66a Device: Update the capture callback to include all of the wivi capture information 2023-01-18 23:17:59 +00:00
Kyle Schwarz 41a569fc2d Device: Consider VSA when calculating logical disk size
When the underlying disk driver has VSA access the total size must be
calculated with respect to the VSA offset.
2022-12-19 14:56:08 +00:00
Emily Brooks c9d8a4f0a9 Device: Disk lock the script/wivi commands 2022-11-16 19:55:53 +00:00
Emily Brooks 96fe8895fc Device: Add isEncrypted to script status 2022-11-16 19:55:53 +00:00
David Rebbe 5ff1707c47 libicsneoc: Resolve DeviceCurrentlyClosed errors 2022-11-03 23:46:14 +00:00
Jonathan Schwartz 4c0d49f09a Device: Add a mutex against the diskLock to some commands that are on threads 2022-10-24 16:02:53 -04:00
Jonathan Schwartz b32f58da38 Device: Add new method to mark collections as uploaded in CM root directory 2022-10-24 16:02:48 -04:00
Emily Brooks 17b3018499 Device: Continue script status loop if no response 2022-10-21 13:23:46 +00:00
Yasser Yassine 7b2544864b A2B: Add initial WAV streaming support 2022-10-19 18:44:05 -04: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
Kyle Schwarz 9ef01e2d3d Optional: nonstd to std 2022-07-22 01:27:39 -04:00
Paul Hollinsky a928a1d879 Device: Implement Wireless neoVI Stack
This reverts commit cb47065a47.
2022-06-07 13:48:51 +00:00
Paul Hollinsky 55d7d5bf17 Device: Implement allowSleep for Wireless neoVI support 2022-04-26 12:48:17 -04:00
Jonathan Schwartz 44ad06d4bb Device: Add mutex for disk info requests to temporarily work around WiVIClient timeout issues 2022-04-22 17:30:53 +00: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 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 c314417277 Device: Find the VSA offset for Disk::Access::EntireDisk 2022-02-28 15:55:16 -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 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 44e48182bf Device: Don't try to deduce lock_guard template parameters
This improves compatibility with older C++ standards
2022-02-14 19:32:12 -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 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 3764a2e814 Device: Wider tolerance for disconnections 2021-09-20 19:29:57 -04:00