Comments (12)
from esp32-usb-soft-host.
I'd really like support for FS devices at 12mbps, and that way test a game controller
Do you know of a good library that does good packet decoding of various types of hardware? I wasn't able to find even a mouse handler that supports both 8-bit protocol and 12-bit protocol (I'm currently assuming 12-bit)
from esp32-usb-soft-host.
I'd really like support for FS devices at 12mbps
12mbps sound way over limit with the USB 1.0 specifications of this USB driver, unless you're talking of using tinyusb?
Do you know of a good library that does good packet decoding of various types of hardware?
The USB_Host_Shield library is a very good source of inspiration.
I wasn't able to find even a mouse handler that supports both 8-bit protocol and 12-bit protocol
Neither did I when I played with the ESP32-WUD, so I made a tinyusb descriptor for absolute mouse that uses signed 16bits values.
from esp32-usb-soft-host.
I'm talking about pushing this exact core to 12mbps, the teensy runs at 600MHz...
Great to know about absolute mouse! they may use it with touchscreens, I have one and didn't figure out how it works, they may use absolute coordinates
regardind the host shield library I'll take a look
what about keeping a C interface and a C++ wrapper for those that require it? C++ in FPGA environments is a bit harder
from esp32-usb-soft-host.
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?
from esp32-usb-soft-host.
yes, the teeny library may be useful
I've seen a more complete one but can't remember it now
btw such a library doesn't support 12-bit mouse protocol (all my mouses are like that so it may be the norm), see https://github.com/PaulStoffregen/USBHost_t36/blob/master/mouse.cpp#L63
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
indeed you can run simulated designs with verilator on your PC at useable speeds (i.e. run a linux console with a custom CPU done in the FPGA)
from esp32-usb-soft-host.
https://github.com/cociorbaandrei/LOGITacker_nrf52832/blob/master/logitacker/logitacker_usb.h this one has a 12bit report descriptor.
from esp32-usb-soft-host.
a good driver should detect the protocol, like windows and Linux do
I've seen no embedded development with such a capability
from esp32-usb-soft-host.
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.
from esp32-usb-soft-host.
are we talking about doing a USB host right? so the host hast to adapt to the device capabilities
from esp32-usb-soft-host.
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
from esp32-usb-soft-host.
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 :-)
from esp32-usb-soft-host.
Related Issues (20)
- Sending Print data to Thermal printer controlled by ESP32 via HID . HOT 1
- how import freertos ? HOT 6
- cpu freqency promble HOT 2
- CapsLock Problem HOT 1
- loling d32 pro, can't get two keyboards or a mouse detected HOT 6
- Error compiling example for ESP32-S2 HOT 2
- ADB device host emulation ? (single purpose of setting adb tcpip enable) HOT 3
- Leds and numlock and capslock. HOT 4
- ESP32-USB-Soft-Host and EEPROM.h and preferences.h HOT 6
- How to catch new device connection?
- Connections made before powering cause error invalid header HOT 2
- add support to read and print keystrokes. HOT 1
- Can I connect to a serial device HOT 1
- Mass Storage HOT 1
- Are Wemos Lolin ESP32-S3 with integrated USB-OTG connector compatible ? HOT 1
- SNES Controller not detected HOT 6
- Error compiling code on esp32-s3 HOT 7
- this sequence goes on endlessly after the device is connected HOT 2
- No longer compiles after the update on Arduino IDE HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp32-usb-soft-host.