-
Notifications
You must be signed in to change notification settings - Fork 42
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
Merging forks #31
Comments
Thanks! I'd add FPGA soft-cores. Note that the Teensy (4.1) supports various clock frequencies
By the way, development continued here
https://github.com/suarezvictor/litex_imgui_usb_demo/tree/main/Libs/usbhost
Among other things, I made the interface compatible with C, see suarezvictor/litex_imgui_usb_demo@26b7972
We should continue merging from there and maybe delete this old repo
…On Sat, Mar 4, 2023 at 11:31 AM tobozo ***@***.***> wrote:
@suarezvictor <https://github.com/suarezvictor> your fork
<main...suarezvictor:ESP32-USB-Soft-Host:main>
is very impressive and I wish I found it earlier.
Before starting to integrate your changes, I need to establish an
exhaustive board list to handle to the workflow matrix that will run the
build tests. Did I miss any device?
- ESP32-Wroom
- ESP32-Wrover
- ESP32-C3
- ESP32-S2
- ESP32-S3
- Teensy
—
Reply to this email directly, view it on GitHub
<#31>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACBHVWMYHAQFFD27SYIANJDW2NG4XANCNFSM6AAAAAAVPSP2OY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I'd really like support for FS devices at 12mbps, and that way test a game controller |
12mbps sound way over limit with the USB 1.0 specifications of this USB driver, unless you're talking of using tinyusb?
The USB_Host_Shield library is a very good source of inspiration.
Neither did I when I played with the ESP32-WUD, so I made a tinyusb descriptor for absolute mouse that uses signed 16bits values. |
I'm talking about pushing this exact core to 12mbps, the teensy runs at 600MHz... what about keeping a C interface and a C++ wrapper for those that require it? C++ in FPGA environments is a bit harder |
have you seen the this teensy library? it seems to handle mass storage, filesystem and game controllers altogether separating C++ wrapper from C interface sounds good but I've never tried FPGA devices before, do I need additional hardware such as an oscilloscope or other special tools to play with that? |
yes, the teeny library may be useful In regards to the C interface, i think that's mandatory. you can do C++ in the FPGA but it's not as usual (indeed I implemented a complete UI with mouse/keyboard support in C++ and using C++ libraries) go get a FPGA! you need nothing for simple to intermediate things |
https://github.com/cociorbaandrei/LOGITacker_nrf52832/blob/master/logitacker/logitacker_usb.h this one has a 12bit report descriptor. |
a good driver should detect the protocol, like windows and Linux do |
it's not the driver's job to negociate a story between USB devices, windows and linux/mac use different strategies anyway. For example a problem with libraries derived from tinyUSB is that their descriptor/reports are macro based, which makes it nearly impossible to have variable ID or device order, thus rendering any mixed-device implementation limited to some situations only (e.g. can't add hybrid absolute mouse/keyboard as device number 1 to a windows laptop with an existing touchpad if a second mouse already exists on the bus). Otherwise there's a way to identify the OS if you manage to capture some low level reports, then you can apply some different magic to your report descriptors depending on the situation. |
are we talking about doing a USB host right? so the host hast to adapt to the device capabilities |
we need to split the development in a module that communicates with USB devices (packet exchanging), an other that does the decoding and interpretation of packets, the latest one should be really general... just one implementation for all platforms |
Tried for a dozen hours but I can't get my head around those tinyusb changes, whatever I try doesn't compile with ESP32. I guess it's enough research for a sunday :-) |
@suarezvictor your fork is very impressive and I wish I found it earlier.
Before starting to integrate your changes, I need to establish an exhaustive board list to handle to the workflow matrix that will run the build tests. Did I miss any device?
The text was updated successfully, but these errors were encountered: