tuffrabit devices (tuffpad and tuffjoystick) pid submissions - #1262
Open
tuffrabit wants to merge 1 commit into
Open
tuffrabit devices (tuffpad and tuffjoystick) pid submissions#1262tuffrabit wants to merge 1 commit into
tuffrabit wants to merge 1 commit into
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Requesting two PIDs under VID 1209 for TuFFrabit open source game controllers
This PR adds an org page for TuFFrabit and two PID allocations:
• 1209:70AD — Tuffpad (source (https://github.com/tuffrabit/rasp-pi-pico-narwhal)): a one-handed gamepad (20-key keypad, analog stick, 5-way d-pad) built on an off-the-shelf RP2040 board, running open source CircuitPython firmware (GPL-3.0).
• 1209:70A7 — Tuffjoystick (source (https://github.com/tuffrabit/waveshare-joystick), Seeed variant (https://github.com/tuffrabit/seeed-joystick)): a one-handed analog joystick with integrated keypad, same firmware architecture, sold on two different off-the-shelf RP2040 carrier boards.
Why two PIDs: the Tuffpad's HID report descriptor differs from the Tuffjoystick's (the Tuffpad includes an 8-way hat switch; the joystick does not), and the two product lines evolve their descriptors independently. Sharing a VID/PID across devices with differing descriptors causes stale per-device configuration
in host OS controller caches, so each product line gets its own PID.
Why the Tuffjoystick PID spans two repos: the Seeed and Waveshare board variants are the same device at the USB level — byte-identical HID report descriptors and identical behavior — so they share one PID.
All firmware and the companion management app are public and GPL-3.0 licensed with LICENSE files in each repo. The devices are sold commercially as finished hardware, with all design firmware remaining open source.