Harden and configure the RS50 OLED production path - #2
Closed
PeposCJ wants to merge 32 commits into
Closed
Conversation
PeposCJ
marked this pull request as ready for review
July 30, 2026 09:12
Owner
Author
|
Superseded by #3. This branch and PR remain the research record; physical evidence, experimental checklists, and discovery history are intentionally not being merged into main. |
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.
Summary
This production branch independently implements the confirmed RS50 Dynamic
OLED path while keeping hardware output disabled by default:
0x8130;Dirt Road;
compatible;
decision with explicit apply;
executable smoke tests.
Identity and category policy
WeekendInfo.Categoryis authoritative. The driver selected byDriverCarIdxsuppliesCarID, path, display names, class identity, andelectric status.
TrackTypeis retained only as context and never overridesthe official event category.
Unknown values, the legacy
Roadcategory, or a missing driver row failclosed to manual selection. The application never guesses from speed,
steering, track name, or car-name keywords.
Reviewed defaults:
Automatic activation is deliberately separate from metadata capture and
remains gated behind physical production validation.
The included
replays/session-identity.jsondemonstrates the completehardware-free car → category → recommendation flow.
Hardware-free tools
The configurator and offline routes never construct a physical OLED session.
Safety boundary
With no arguments, the application remains console-only. The only compiled
hardware route still requires the exact stationary arming contract, cancels
after ten seconds, and rejects moving, missing, negative, or non-finite
on-track speed before the next OLED send.
The transport performs one typed write per transaction and never retries it.
It contains no DirectInput, feature
0x8123, FFB, LED, native-import,feature-report, firmware, or bootloader API.
Validation
20 Hz passed;
No production executable from this branch has been run against hardware.
Captures, videos, proprietary assets, and the user's untracked files are not
included.
Latest milestones
ef201ff— heartbeat, copied snapshots, recorder, golden tests, endurance;e2be26d— hardware-free configurator;17b9e01— GUI packaging, product tiers, monetization and release plan;bea6e9e— exact car/category identity, five profiles, and replay schema 2.26c263d— offline identity inspection and exact-CarID profile decision.ed96f3a— tolerate redirected console hosts and record the first boundedstationary attempt.
Remaining gate
Draft; do not merge yet.
The first authorized attempt on 2026-07-30 exited safely before opening HID
because the automated host had no interactive console handle. USBPcap
confirmed that no production
0x8130request reached the RS50; the OLED didnot change and FFB, LEDs, inputs, and simulator connection remained normal.
That host issue is corrected and covered offline.
The required physical step remains one freshly authorized, bounded stationary
retry with the RS50. Build L stays postponed. The research PR remains separate
and must not be merged into
main.