Kevin Mehall
00667caa01
windows: fix submit-time error
2025-05-25 11:47:50 -06:00
Kevin Mehall
5ac12ef088
macos: map error type for control timeout
2025-05-25 11:47:50 -06:00
Kevin Mehall
18bb260623
Make TransferError::Unknown hold u32
...
macOS errors have the high bit set
2025-05-25 11:47:50 -06:00
Kevin Mehall
221867978b
Merge pull request #134 from kevinmehall/clippy
...
Clippy fixes
2025-05-24 15:16:40 -06:00
Kevin Mehall
700b8da9d8
Clippy fixes
2025-05-24 14:56:33 -06:00
Kevin Mehall
19e540fdd7
Merge pull request #131 from kevinmehall/fixes
...
Clean up barely-used dependency, fix potential synchronization issues
2025-05-10 13:21:13 -06:00
Kevin Mehall
5a23b845a4
Fix memory ordering for dropping transfers
2025-05-10 13:08:29 -06:00
Kevin Mehall
4a9c3e5bbc
Prevent dropping a device while a control transfer is pending
2025-05-04 10:03:53 -06:00
Kevin Mehall
dac6f52c27
Remove atomic-waker
2025-05-03 22:30:37 -06:00
Kevin Mehall
e1796a80dd
Merge pull request #117 from kevinmehall/redesign
...
Redesign endpoint and transfer API
2025-05-03 22:11:34 -06:00
Kevin Mehall
3f558194da
windows: Revert to GetOverlappedResult for completion status
...
OVERLAPPED.Internal contains NTSTATUS instead of WIN32_ERROR,
and while it seems very unlikely to change, is documented as
subject to change.
2025-05-03 15:57:11 -06:00
Kevin Mehall
b976e91ce8
Docs edits
2025-05-03 14:10:37 -06:00
Kevin Mehall
4a3b5ddf9f
Simplify actual_len vs requested_len
2025-05-03 14:10:37 -06:00
Kevin Mehall
6027b5c069
Include error code in TransferError::Unknown
2025-05-03 10:19:44 -06:00
Kevin Mehall
1e3ae0f9be
Rename Completion::data -> buffer
2025-04-27 21:54:50 -06:00
Kevin Mehall
6501af522f
Move Completion to nusb::transfer
2025-04-27 13:52:20 -06:00
Kevin Mehall
3af56dd8f1
Endpoint::wait_next_complete for blocking wait
2025-04-20 17:02:04 -06:00
Kevin Mehall
2929a10b76
Linux zero-copy
2025-04-20 17:01:40 -06:00
Kevin Mehall
992fd16078
Expose buffer instead of transfer
2025-04-20 17:01:36 -06:00
Kevin Mehall
ba3f7d65cf
impl Error for ClaimEndpointError
2025-04-12 13:47:19 -06:00
Kevin Mehall
2aee309cc3
Use TransferError for control transfers
2025-04-12 13:47:19 -06:00
Kevin Mehall
47a1896653
windows: Enable RAW_IO when creating an IN endpoint
2025-04-12 13:47:19 -06:00
Kevin Mehall
ef82f2c7f1
Redesign transfer / endpoint API
2025-04-12 13:47:19 -06:00
Kevin Mehall
3091921075
Merge pull request #125 from kevinmehall/async-rt
...
Add cargo features for `smol` and `tokio` runtimes
2025-04-12 13:45:47 -06:00
Kevin Mehall
38189baf5c
cargo features for smol and tokio blocking executors
2025-04-12 13:29:17 -06:00
Kevin Mehall
413093e181
Bump MSRV to 1.79
...
The associated type bounds feature, stabilized in 1.79 allows adding
an implied Send bound on all IntoFuture types used with MaybeFuture,
so every function doesn't have to be marked as Send.
This is going to be especially useful with wasm, because it allows the
Send bound to be turned on and off in one place.
2025-04-09 08:23:09 -06:00
Kevin Mehall
25556d7f6b
Prepare for not requiring Send on wasm
2025-04-09 08:23:09 -06:00
Kevin Mehall
bd3ba8283d
Make MaybeFuture Send
2025-04-02 08:14:26 -06:00
Paweł Gorgoń
873f96b8e1
fix(macos): claiming incorrect interface ( #124 )
...
* fix(macos): claiming interface on macOS treats interface number as index
Bug is exposed when connected device has not continuous interface numbers. Then getting nth interface is not the same as getting interface of specific number.
This commit fixes it by getting and comparing bInterfaceNumber instead of using `nth(interface_number)` function on iterator.
* refactor: reformatted find closure in claim_interface
Extracted `get_integer_property` usage into a local variable for clarity and improved readability. This refactor maintains existing functionality while simplifying the comparison logic.
* feat: Add debug logging for interface discovery in macOS IOKit
This change introduces a debug log to provide more visibility during the interface discovery process. It logs the target interface number and the current interface being examined, noting whether a match was found. This aids debugging and troubleshooting in device enumeration scenarios.
* refactor: Rephrase debug log for interface claim process.
2025-04-02 08:11:37 -06:00
Kevin Mehall
2801deedce
linux: Clean up version parsing
2025-04-01 20:13:39 -06:00
pgorgon-hem
f10a5f2c22
Add usb version to device info ( #123 )
...
Introduced a new `usb_version` field to represent the encoded USB specification version (`bcdUSB`) in DeviceInfo struct. This change includes updates to data structure, a new accessor method, and enhanced debug formatting to display the `usb_version` field.
2025-04-01 19:32:10 -06:00
Kevin Mehall
a243514f58
Merge pull request #114 from kevinmehall/rustix
...
Update Rustix to 1.0, use it for udev netlink
2025-03-08 14:31:03 -07:00
Kevin Mehall
f0a2e8c5a7
linux: use ioctl numbers from linux_raw_sys
2025-03-08 12:11:09 -07:00
Kevin Mehall
0e145f89a6
Switch to rustix for netlink bind/recvfrom
2025-03-07 22:42:44 -07:00
Kevin Mehall
53a3fe41fc
linux: Use MaybeUninit buffer for epoll
2025-03-07 22:39:46 -07:00
Kevin Mehall
d49490ce6a
Update Rustix to 1.0
2025-03-07 22:39:46 -07:00
Kevin Mehall
c3ad79ceac
Merge pull request #116 from kevinmehall/refactor
...
Refactor
2025-02-23 17:49:16 -07:00
Kevin Mehall
5e866af4e4
Add MaybeFuture::map
2025-02-22 15:17:58 -07:00
Kevin Mehall
8dfb3e5f1d
linux: Refactor events slab
2025-02-22 12:04:24 -07:00
Kevin Mehall
99eaf768fd
Refactor Direction
2025-02-22 12:04:24 -07:00
Kevin Mehall
1508051e1a
Track interface alt setting
2025-02-22 11:45:39 -07:00
Kevin Mehall
12c0b57d13
Rename EndpointType -> TransferType
2025-02-19 21:10:19 -07:00
Kevin Mehall
fa37585510
Rename Descriptors -> DescriptorIter, don't include the parent descriptor
2025-02-19 21:10:19 -07:00
Kevin Mehall
e8b271d874
Return option instead of panic in descriptor constructors
2025-02-19 21:10:12 -07:00
Kevin Mehall
b526f6a6a3
Use NonZeroU8 for string descriptor indexes
2025-02-16 15:55:32 -07:00
Kevin Mehall
dad53d268d
Merge pull request #115 from kevinmehall/descriptor-api
...
Descriptor API changes
2025-02-15 19:27:00 -07:00
Kevin Mehall
093fc04da0
Rename descriptor types
2025-02-15 19:22:09 -07:00
Kevin Mehall
663b2684d5
Extend lifetimes on descriptors
2025-02-15 14:58:21 -07:00
Kevin Mehall
bccef50354
Merge pull request #113 from kevinmehall/windows-fix
...
Error instead of panic on invalid device descriptor from hub handle, update windows-sys
2025-02-15 14:55:03 -07:00
Kevin Mehall
03ffa4b36c
Update windows-sys
...
Co-authored-by: Erkki Silvola <eki833@gmail.com>
2025-02-15 14:47:30 -07:00