Validate RS50 shared-HID++ OLED, coexistence, telemetry, and layouts - #1
Draft
PeposCJ wants to merge 19 commits into
Draft
Validate RS50 shared-HID++ OLED, coexistence, telemetry, and layouts#1PeposCJ wants to merge 19 commits into
PeposCJ wants to merge 19 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 layoutscoexistence OLED experiments
stationary telemetry experiments
text fields, and the absence of a confirmed framebuffer
records and renders a local representative sample
Verified 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 showed why exclusive DirectInput cannot be the production route:
shift LEDs stopped updating and normal FFB centering disappeared. USBPcap
records
RESET_ALL → SET_GLOBAL_GAINS(0xFFFF) → RESET_ALLaroundAcquire/Unacquire. Reloading the circuit restored normal behavior.
Build G proved a shared-HID++ one-shot with no observed LED, FFB, torque, or
wheel-position change. Build H then rendered all five fixed frames and
captured exactly one discovery, five setters, and six responses, with no
0x8123,0x807A,0x807B, or MI_02 host operation.Build I passed with iRacing running. All five OLED frames rendered; centering,
FFB, and shift LEDs worked before and after; and no movement, torque impulse,
input loss, or disconnect was observed. Its capture contains one discovery,
five setters, six exact responses, continuous TRUEFORCE traffic, and no
endpoint-0 operation to runtime feature
0x8123.OLED visual-capability finding
Static firmware analysis and the recovered descriptors show that
0x8130isa typed firmware renderer, not a host framebuffer:
recovered host command accepts those bytes;
color, image format, drawing opcode, or arbitrary-length stream.
The supported production assumption is therefore fixed layouts with bounded
values/text. This is not yet proof that no separate undocumented framebuffer
exists. Unknown rim features will not be probed by guessing.
Safety boundary
The transport accepts only Root discovery and canonical typed Layout A-J
feature-
0x8130transactions on the exact RS50 shared HID collections.Build K contains one discovery and ten source-fixed A-J setters, with three
seconds per layout. It has no caller-controlled visual data, retry, telemetry,
DirectInput, FFB, LED operation, raw HID surface, or unknown rim-feature
request.
LogiDynamicDashdoes not reference or construct Builds G-K or copy thephysical transport into its output.
Validation
records, representative BMP inspection, and invalid-hash rejection
dotnet formatgit diff --checkNext physical checkpoint
Build K is compiled and validated offline but has not been executed. K1 will
show fixed Layouts A-J for three seconds each while G HUB and iRacing are
closed. Video and a high-buffer USBPcap capture will classify:
K1 requires a fresh explicit operator authorization, a ten-second baseline,
no interaction with the wheel during the 30-second sequence, and a
ten-second post-check. Any unexpected physical effect or protocol response
ends further testing.
Build J remains unexecuted and is not part of K1.
This remains a draft research PR targeting
research/hid-explorer. Do notmerge this research branch to
main; validated findings will be implementedthere later as a separate integration.