Arduino-esp32 2.0.4 was released with a version of TinyUSB hid_device.h that uses uint16_t for the last argument: https://github.com/espressif/arduino-esp32/blob/2.0.4/tools/sdk/esp32s2/include/arduino_tinyusb/tinyusb/src/class/hid/hid_device.h TU_ATTR_WEAK void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint16_t len); But USBHID implements this callback with uint8_t: https://github.com/espressif/arduino-esp32/blob/2.0.4/libraries/USB/src/USBHID.cpp void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint8_t len){ if (tinyusb_hid_device_input_sem) { xSemaphoreGive(tinyusb_hid_device_input_sem); } } The result is that when USBHIDKeyboard sends a report to the host, it times out, waiting 100 ms for the callback to be called. It does this once for pressing the key and once for releasing the key, so 100 ms * 2 = 200 ms. The latest version of hid_device.h reverts the last argument to uint8_t: |
||
|---|---|---|
| .github | ||
| cores/esp32 | ||
| docs | ||
| libraries | ||
| package | ||
| tests | ||
| tools | ||
| variants | ||
| .gitignore | ||
| .gitmodules | ||
| boards.txt | ||
| CMakeLists.txt | ||
| CONTRIBUTING.rst | ||
| idf_component.yml | ||
| Kconfig.projbuild | ||
| LICENSE.md | ||
| package.json | ||
| platform.txt | ||
| programmers.txt | ||
| README.md | ||
Arduino core for the ESP32, ESP32-S2, ESP32-S3 and ESP32-C3
Need help or have a question? Join the chat at
or open a new Discussion
Contents
- Development Status
- Development Planning
- Documentation
- Supported Chips
- Decoding exceptions
- Issue/Bug report template
- Contributing
Development Status
Development Planning
Our Development is fully tracked on this public Roadmap 🎉
For even more information you can take a look at Sprint Meeting notes or join Monthly Community Meetings 🔔
Documentation
You can use the Arduino-ESP32 Online Documentation to get all information about this project.
- Getting Started
- Installing (Windows, Linux and macOS)
- Libraries
- ESP-IDF as Component
- FAQ
- Troubleshooting
Supported Chips
Visit the supported chips documentation to see the list of current supported ESP32 SoCs.
Decoding exceptions
You can use EspExceptionDecoder to get meaningful call trace.
Issue/Bug report template
Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labelled as Type: For reference.
Finally, if you are sure no one else had the issue, follow the Issue template or Feature request template while reporting any new Issue.
Contributing
We welcome contributions to the Arduino ESP32 project!
See contributing in the documentation for more information on how to contribute to the project.