Add SSD1683 4-gray displayio driver and example for 4.2" bare E-Ink Display (#6381)#46
Merged
Merged
Conversation
…y (#6381) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ladyada
requested changes
Jun 14, 2026
| # 4-gray LUT for GDEY042T81 / FPC-190 (GxEPD2 + ThinkInk verified) | ||
| SSD1683_GRAY4_LUT = bytes( | ||
| [ | ||
| 0x01, |
Contributor
Author
There was a problem hiding this comment.
compressed LUT block
The 400px-wide SSD1683 was the first panel to cross the displayio core's ram_width>=256 threshold, which switched RAM-X (0x44) to 2-byte addressing. SSD168x X is byte-addressed (1 byte each), so the column window collapsed to a single byte: only ~8px per row was written and the rest of the panel showed stale RAM -> cold-boot speckle / warm flat-gray. Fixes, all scoped to the SSD1683 class (SSD1680 and other panels unchanged): - ram_width 400 -> 255 to force 1-byte X addressing (the root cause). - Swap write_black/color_ram_command (0x24<->0x26): displayio packs luma bit7->black-RAM, bit6->color-RAM; SSD1683 wants the opposite, which had transposed light/dark. - Ship the native (unswapped) GxEPD2 LUT now that the bank swap makes the level order correct. - Example: fill the panel with PR #111's larger info-card layout. Verified white|light|dark|black, no speckle, across a true hard power cycle. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
Contributor
Author
BlitzCityDIY
requested changes
Jun 15, 2026
BlitzCityDIY
left a comment
Contributor
There was a problem hiding this comment.
minor change requested on the example comment, otherwise looks good
|
|
||
| """4-gray grayscale info card for the Adafruit 4.2" 400x300 E-Ink Display (#6381). | ||
|
|
||
| displayio / SSD1683 driver. Layout mirrors the adafruit_epd PR #111 example: |
Contributor
There was a problem hiding this comment.
this reads like a PR explainer, i'd remove it
Contributor
Author
There was a problem hiding this comment.
thx. removed PR talk from comments.
…comments Address review feedback: rewrite the example docstring to match the #4197 grayscale example style and drop adafruit_epd PR #111 references from the example and the DISP_CTRL1 comment. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
BlitzCityDIY
approved these changes
Jun 15, 2026
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.

Adds
SSD1683class andSSD1683_GRAY4_LUTtoadafruit_ssd1680.pyfor the 4.2" bare E-Ink Display (#6381) — 400×300 GDEY042T81 panel with SSD1683 controller (FPC-190 ribbon), colstart=0.Testing
Feather RP2040 ThinkInk direct-connect