Kyle Schwarz
1bb33156f7
Device: Use lambda instead of std::bind
2022-07-22 02:47:10 +00:00
Kyle Schwarz
a0f73755e8
Build: Bump required C++ to 17
2022-07-21 16:22:52 -04:00
Kyle Schwarz
ab54697745
Device: Retain Device objects between FindAll() calls
...
FindAll() now retains a list of Devices that have already been created
and returns their existing object instead of a new one.
2022-07-15 16:03:54 -04:00
Kyle Schwarz
0d0b7f00bd
Merge branch 'master' into v0.3.0-dev
2022-07-15 13:02:26 -04:00
Kyle Schwarz
1a28fbf5ad
ThirdParty: FatFs: Enable PIC
...
Fixes linking with GCC by adding -fPIC
2022-07-15 12:34:07 -04:00
Emily Brooks
b50706846c
WiVICommandPacket: Add missing cstring header
2022-06-08 16:49:39 -04: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
407ccccedd
Drivers: Ensure serial numbers are uppercase
...
This prevents mismatches if the device sends a lowercase
serial number, which may happen due to an oversight in
production.
2022-05-28 14:41:41 -04:00
Paul Hollinsky
00024990e9
WiVICommandPacket: Resolve GCC build error
2022-04-26 13:54:03 -04:00
Paul Hollinsky
cb47065a47
WiVICommandPacket: Temporarily remove GetAll
2022-04-26 12:58:54 -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
Jonathan Schwartz
c08c0dd893
Disk: Allow full timeout for each disk read attempt
2022-04-22 17:30:53 +00: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
Jonathan Schwartz
c2de1dfdf1
Disk: ExtExtractorDiskReadDriver: Increase timeout for individual read attempts
2022-04-22 17:30:53 +00: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
5d4ed0f4cd
Driver: Add optional debug prints
2022-03-27 23:45:47 -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
fef6f363f1
ThirdParty: FatFs: Use standard C++ for MSVC 2017+
...
This prevents unicode issues with TCHAR, because we
don't want to import windows.h.
2022-03-07 12:49:03 -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
8c774228bc
Disk: FAT: Fix Windows UNICODE compilation
2022-03-03 15:13:04 -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
caf5cca42f
Disk: Plasion: Fix bit-width issues
2022-02-28 19:11:39 -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
1fadb85206
ThirdParty: Add FatFs
...
R0.14b
2022-02-28 15:54:38 -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
4ef8fe8794
Disk: Predictable behavior for zero length reads
2022-02-28 01:54:21 -05:00
Paul Hollinsky
f8a46b7196
Device: Add logical disk size accessor
2022-02-28 01:49:50 -05:00
Paul Hollinsky
0b27e88da1
Disk: WriteDriver: Fix parameter shadowing
2022-02-25 01:14:57 -05:00