Skip to content

Respect physical display width when scrolling - #551

Open
BanjoR wants to merge 2 commits into
DCC-EX:masterfrom
BanjoR:codex/commandstation-ex-commandstation-display-isolated
Open

BanjoR wants to merge 2 commits into
DCC-EX:masterfrom
BanjoR:codex/commandstation-ex-commandstation-display-isolated

Conversation

@BanjoR

@BanjoR BanjoR commented Aug 16, 2026

Copy link
Copy Markdown

Automatic issue closing

Fixes #427

Summary

  • Bound display writes and refresh pacing to the physical display width.
  • Capped physical width at MAX_CHARACTER_COLS so wide display drivers cannot overrun the row buffer.
  • Prevented narrow OLED rows from wrapping into subsequent rows.

References

This is the independently testable display regression slice for CommandStation issue #427. It is separate from PR #512, PR #511, PR #414, and issue #383. No superseded BanjoR PR was identified.

Scope and exclusions

  • Only Display.cpp is changed in the validated source branch.
  • Personal integration code and unrelated protocol behavior are explicitly out of scope.

Validation evidence

  • Clean task-owned checkout from DCC-EX/CommandStation-EX:master.
  • Host/static regression checks and git diff --check passed.
  • PASS - Exact default python -m platformio run in a clean task checkout with an isolated PlatformIO core completed for all five configured environments: mega2560, ESP32, Nucleo-F411RE, Nucleo-F446RE, and Nucleo-F429ZI.
  • Exact-head fork CI: PASS - CI run 31950680704 completed successfully for head 8ade964.
  • No repository hardware or display runtime was available.

Hardware validation

Hardware validation: Not run—no hardware available.

Maintainer bench criteria: on each supported display width, exercise scrolling at the narrowest OLED width, the normal character width, and a width above MAX_CHARACTER_COLS; verify no row-buffer overwrite, no wrap into the next row, and unchanged refresh behavior on supported display hardware.

This PR is ready for maintainer review; hardware/display validation remains outstanding; local five-environment compilation is complete.

@BanjoR
BanjoR marked this pull request as ready for review August 17, 2026 09:34
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.

Display not scrowling

1 participant