Commit Graph

314 Commits (add-device-sharing)

Author SHA1 Message Date
Kyle Schwarz a9157c82e5 Add device sharing support 2022-12-13 11:46:32 -05:00
Yasser Yassine 78465e0f20 A2B: Add A2BMessage transmit support 2022-12-02 12:14:44 -05:00
Emily Brooks ed1632c652 DiskWriteDriver: Remove use of atomic buffer 2022-12-02 00:09:49 +00:00
Emily Brooks 96fe8895fc Device: Add isEncrypted to script status 2022-11-16 19:55:53 +00:00
Kyle Schwarz e46755f120 Device: RED2: Add missing Ethernet2 2022-11-15 12:37:41 -05:00
David Rebbe 5ff1707c47 libicsneoc: Resolve DeviceCurrentlyClosed errors 2022-11-03 23:46:14 +00: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
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