-
Notifications
You must be signed in to change notification settings - Fork 31
feat(usb_device): Xbox 360 X-Input controller emulation #785
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
Merged
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
889d7ea
feat(usb_device): X-Input (Xbox 360) controller emulation
finger563 d4b0a0e
ci(usb_device): wire xinput_example into CI + docs
finger563 8be0d8d
fix(usb_device): force X-Input class-driver registration + safe IN su…
finger563 46da78c
fix(usb_device): tie XInput readiness to the actually-opened endpoint
finger563 1811890
fix(usb_device): X-Input review — tinyusb floor, atomic ep state, tes…
finger563 9e6ec3c
debug(usb_device): log + respond to X-Input control requests
finger563 4601df0
debug(usb_device): log raw X-Input OUT (rumble/LED) reports
finger563 1345390
fix(usb_device): restore correct X-Input IN endpoint (regression)
finger563 c1436da
fix(usb_device): match retail Xbox 360 XID descriptor byte
finger563 3a15bd2
debug(usb_device): log outgoing X-Input report bytes
finger563 ed05588
fix(usb_device): give X-Input IN/OUT separate endpoint numbers (DWC2 …
finger563 e553b32
fix(usb_device): don't answer X-Input GET_CAPABILITIES with zeros
finger563 bc705ad
fix(usb_device): don't post OUT reads — they corrupt the X-Input IN s…
finger563 6bb210f
test(usb_device): don't open the X-Input OUT endpoint (isolate IN cor…
finger563 96c0b89
fix(usb_device): 4-byte align X-Input DMA buffers (the real IN-corrup…
finger563 d52c1bb
fix(usb_device): address X-Input review (control, claim/release, clea…
finger563 9ac59da
docs(usb_device): update README for conditional CDC + X-Input enablement
finger563 2798fcb
fix(usb_device): X-Input review — XID byte, manifest example, docs
finger563 b3c7d66
refactor(usb_device): rename update_gamepad→update_xinput_state; hide…
finger563 96e45e9
fix(usb_device): console on UART0, not USB-Serial-JTAG, in the examples
finger563 9703c9d
refactor(usb_device): drop X-Input hardware-debug logging
finger563 20eebc7
Clarify logging and USB port usage in comments
finger563 1f781be
Update documentation for X-Input function
finger563 ef9eb8b
docs(usb_device): update_gamepad -> update_xinput_state in usb_cdc.rst
finger563 394b54f
fix(usb_device): require tinyusb >= 0.21 for the 5-arg usbd_edpt_xfer
finger563 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,14 @@ | ||
| # USB-OTG is available on the ESP32-S3 (also S2 / P4). | ||
| CONFIG_IDF_TARGET="esp32s3" | ||
|
|
||
| # Keep the log console on the built-in USB-Serial-JTAG peripheral so it stays | ||
| # completely separate from the native USB-OTG CDC interface created by | ||
| # espp::UsbCdc. (On an ESP32-S3 devkit these are two distinct USB connectors.) | ||
| CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y | ||
| # Put the log console on UART0, NOT the USB-Serial-JTAG peripheral. This example | ||
| # hands the native USB-OTG port to TinyUSB (the CDC / vendor / HID interfaces), and | ||
| # on the ESP32-S3 the USB-Serial-JTAG controller and USB-OTG share the SAME | ||
| # internal USB PHY / physical port (GPIO19/20) — they are NOT separate. Running the | ||
| # console on USB-Serial-JTAG therefore contends with the TinyUSB interfaces for that | ||
| # one port and makes the device reboot-loop at boot. UART0 is an independent | ||
| # peripheral (the devkit's other, "UART", connector via its USB-UART bridge), so the | ||
| # console is unaffected once TinyUSB takes over the native USB port. USB-Serial-JTAG | ||
| # stays as the SECONDARY console for early-boot logs before TinyUSB comes up. | ||
| CONFIG_ESP_CONSOLE_UART_DEFAULT=y | ||
| CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y | ||
|
finger563 marked this conversation as resolved.
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.