Validate RS50 shared-HID++ OLED, coexistence, telemetry, and layouts - #1
Draft
PeposCJ wants to merge 26 commits into
Draft
Validate RS50 shared-HID++ OLED, coexistence, telemetry, and layouts#1PeposCJ wants to merge 26 commits into
PeposCJ wants to merge 26 commits into
Conversation
Document the July 27 RS50 iRacing captures, including startup, ACK behavior, redline, pit-limiter flashing, and the resulting rev-light driver findings. Preserve the sanitized evidence separately and relate the results back to the ongoing Dynamic OLED protocol research.
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.
What changed
0x8130and its ten fixed layoutsVerified physical results
Build C replaced the RS50 Dynamic Test fallback with four OLED text rows. Build D proved the complete live telemetry path while stationary in the iRacing pits, rendering
SPEED / 0 KMH / GEAR / N.Build D also demonstrated why exclusive DirectInput cannot be the production route: shift LEDs stopped updating and normal FFB centering disappeared. Reloading the circuit restored normal behavior.
Builds G-I proved that the shared-HID++ route renders acknowledged OLED updates without an observed LED, FFB, torque, position, input, or connection side effect, including while iRacing and TRUEFORCE were active.
Build J2: confirmed stationary telemetry
J1 physically rendered the live
SPEED / 0 KMH / GEAR / Nframe with normal centering, RPM LEDs, inputs, and connection, but its Wireshark-managed PCAP omitted the setter/ACK pair.J2 repeated exactly the same bounded ten-second stationary trial once. G HUB was closed; iRacing was running; the car remained stopped in the pits in neutral with the brake held; and direct USBPcapCMD, video, and the bounded local transcript were active.
The process acknowledged one frame. The transcript and independent direct PCAP contain byte-identical Root discovery and Layout J request/response pairs. Bus latency was 2.294 ms for discovery and 2.642 ms for the setter. The full capture reconstructed 2,421 matched HID++ host transactions with zero unmatched requests and zero invalid records.
The capture does not contain the destructive
RESET_ALL -> SET_GLOBAL_GAINS(0xFFFF) -> RESET_ALLlifecycle. One matchedRESET_ALLfrom SW-ID0xEoccurred 212.265 seconds after Build J's SW-ID-0xAsetter; it had no gain operation or second reset and is not attributable to Build J. The operator reported no physical change or disconnect and confirmed normal LEDs and FFB.J2 closes J1's USB evidence gap and completes the stationary telemetry gate. A separately reviewed, short, low-speed moving-car stage is still required before any full lap.
Raw USB/video/transcript artifacts remain local and ignored. The phone video contains private device/location metadata and is not published.
Build K: confirmed A-J visual gallery
Build K ran exactly once with G HUB and iRacing closed, video recording, and USBPcap active. The OLED visibly advanced through all ten layouts:
C/B/G/HbarsLayout E's three-character field occurs first in the wire payload but appears on the right. Its seven-character field occurs second and appears on the left. The typed APIs now name those fields by their confirmed visual positions so production telemetry cannot accidentally reverse gear and speed.
The complete K1 capture contains exactly one feature discovery and ten function-3 setters, all with exact acknowledgements. ACK latency was 2.210-3.069 ms and setter intervals were 3.005647-3.019032 seconds. There was no other host HID report: zero FFB, LED, MI_02, subdevice, or unknown-feature operation. The operator observed no movement, torque, unexpected resistance, LED change, input loss, or disconnect.
OLED capability conclusion
Feature
0x8130is a typed firmware renderer, not a host framebuffer:Layout A is a blank layout through
0x8130, not a host-drawable canvas. The evidence does not establish whether the panel is electrically powered down.For LogiDynamicDash, Layout E is the strongest all-in-one candidate for gear/speed plus RPM and a secondary indicator. F/G maximize gear/speed legibility, while J is the least prescriptive text-only fallback.
Validation
dotnet format --verify-no-changesgit diff --checkIntegration boundary
This remains a draft research PR targeting
research/hid-explorer. It must not be merged directly intomain. Validated findings should be implemented frommainin a separate, independently written production integration PR. J2 authorizes designing the next bounded moving-car research stage, not immediate full-lap use.