Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interest in exposing nusb::transfer::Queue #2

Open
TroyNeubauer opened this issue Oct 6, 2024 · 1 comment
Open

Interest in exposing nusb::transfer::Queue #2

TroyNeubauer opened this issue Oct 6, 2024 · 1 comment

Comments

@TroyNeubauer
Copy link

Thanks for your work on cross-usb!

I was curious if you would be interested in a PR to expose nusb::transer::Queue to enable unlock the bus saturation that multiple concurrent transfers brings on native.

I'm imagining that this would look like:

  1. Expose an async Queue interface that looks very similar to nusb's
  2. On native these functions would dispatch directly to nusb
  3. On the web, looks like there's no equivalent API to perform async transfers with multiple buffers, so implement using the existing one at a time functions

Motivation

Especially in the context of SDR, samples are coming in quickly and saturating the bus is a must. In the case of HackRF, even using a long cable can cause issues! https://hackrf.readthedocs.io/en/latest/usb_cables.html

We are close to merging a rust-native hackrf driver into seify to remove our libusb / soapy cpp dependencies. FutureSdr has good support for Wasm, and exposing this interface would allow us to use the same driver across native and web
See: FutureSDR/seify#9 (comment)

@G2-Games
Copy link
Owner

G2-Games commented Oct 7, 2024

Yes, that sounds great to me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants