Skip to content

Request PID block for Infinite HID controller base (electric, hybrid, diesel, steam)#1198

Open
CDiOS wants to merge 7 commits intopidcodes:masterfrom
CDiOS:master
Open

Request PID block for Infinite HID controller base (electric, hybrid, diesel, steam)#1198
CDiOS wants to merge 7 commits intopidcodes:masterfrom
CDiOS:master

Conversation

@CDiOS
Copy link
Copy Markdown
Contributor

@CDiOS CDiOS commented Apr 22, 2026

Requesting a contiguous block of 4 PIDs for multiple USB HID controller variants based on a shared Arduino Leonardo-compatible platform using the Arduino Joystick Library.

Repository:
https://github.com/CDiOS/infinite-hid-controller-base

Requested assignments:

  • 0x5390 Electric Controller Base
  • 0x5391 Hybrid Controller Base
  • 0x5392 Diesel Controller Base
  • 0x5393 Steam Controller Base

These are open reference/base sketches intended as starting points for builders to customize for their own simulation controller hardware.

CDiOS added 7 commits April 22, 2026 11:09
Add index.md for Infinite project documentation
Added documentation for Electric Controller Base firmware.
Add initial documentation for Hybrid Controller Base firmware.
Add documentation for Diesel Controller Base firmware.
Add documentation for Steam Controller Base firmware.
Add index.md for Infinite project documentation
Copy link
Copy Markdown
Collaborator

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather not grant four PIDs for example code. Example code can use test PIDs. A host can also inspect the HID report descriptor to know how many of each thing is present.

@CDiOS
Copy link
Copy Markdown
Contributor Author

CDiOS commented Apr 28, 2026

Thanks for the review, I appreciate the feedback.

To clarify, the repository contains simplified reference sketches for accessibility, but the PIDs are intended for real hardware deployments rather than example-only use. The intent is to group devices into stable top-level controller classes (primarily electric and diesel), with individual models and configurations differentiated through USB descriptors and report structure rather than additional PIDs.

For example:

  • 1209:5390 → Electric controller class
  • 1209:5392 → Diesel controller class

Specific models within each class would then be identified through descriptors rather than separate PIDs. The example code is included so that users who encounter these PIDs have a working open reference, but it is not the primary purpose of the identifiers. I’m happy to reduce the request accordingly and request two PIDs to represent these core controller classes.

@tannewt
Copy link
Copy Markdown
Collaborator

tannewt commented Apr 29, 2026

Are the real hardware deployments a specific PCB design?

@CDiOS
Copy link
Copy Markdown
Contributor Author

CDiOS commented Apr 30, 2026

The deployments are based on Arduino Leonardo–compatible (ATmega32U4) hardware, not a single fixed PCB design.

The reference sketches reflect a baseline Leonardo-style implementation so they remain accessible and reproducible, but the intended devices are defined configurations of that platform with different control layouts, I/O mappings, and HID report structures depending on the controller class (e.g., electric vs diesel).

So while they share a common USB-capable MCU platform, they are not simply the same device with minor firmware tweaks — each class represents a distinct HID configuration and interface layout.

The goal is to maintain stable identification at the controller class level (via PID), while allowing specific models and variants within that class to be differentiated through descriptors and report structure rather than additional PIDs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants