Skip to content

Conversation

@Frogomeli
Copy link

This commit fixes the inverted color for the e-ink display.

Previously, the text was white on a black background; now, it's a black text on a white background.

This commit fixes the inverted color for the e-ink display.

Previously, the text was white on a black background; now, it's a black text on a white background.
@bablokb
Copy link

bablokb commented Nov 5, 2025

I am already using this display and with this patch I would have to change my application program. No big deal, but I don't think one choice is better than the other, so we could just leave it as it is.

@Frogomeli
Copy link
Author

Frogomeli commented Nov 5, 2025

The default colors are inverted in the code, and the initial screen that displays the console is also affected. For beginners, it would be better to have correct functionality to avoid dealing with this issue. I lost many hours trying to identify what I had done wrong, but it wasn't me.
It was that the colors were inverted.

@Frogomeli
Copy link
Author

Also I'm new to the world of CircuitPython maybe it's not the right fix but there is something wrong.
If you have an idea let me know.

@Frogomeli
Copy link
Author

To summarize:

  • Normal build:

    • Log console on the e-ink display : text white on a black background
    • default background: black
    • label.Label(terminalio.FONT, text="Normal"): text white
    • label.Label(terminalio.FONT, text="With 0", color=0x000000): text black
    • label.Label(terminalio.FONT, text="With f", color=0xffffff): text white
    • same with displayio.Palette
  • Build with this PR:

    • Log console on the e-ink display : black text on a white background
    • default background: white
    • label.Label(terminalio.FONT, text="Normal"): text black
    • label.Label(terminalio.FONT, text="With 0", color=0x000000): text white
    • label.Label(terminalio.FONT, text="With f", color=0xffffff): text black
    • same with displayio.Palette

@Frogomeli Frogomeli marked this pull request as draft November 5, 2025 14:44
@dhalbert
Copy link
Collaborator

dhalbert commented Nov 5, 2025

On MagTag, which is kind of the prototypical use of an e-ink display, the default background is black, and the "Normal build" examples work as you describe above. On displays like a monochrome or grayscale OLED display, the default background is also black (not lit). @tannewt may have a comment about why we chose black as the default background on e-inks.

@bablokb
Copy link

bablokb commented Nov 5, 2025

Even on color displays the background defaults to black.

@Frogomeli
Copy link
Author

Frogomeli commented Nov 5, 2025

On displays like a monochrome or grayscale OLED display, the default background is also black (not lit)

Make sense.

But In my mind the e-ink default background was white. Is maybe an misconception of my part, as I may be fool as I see almost all example on internet with a white background.

@Frogomeli
Copy link
Author

We can close the PR if it doesn't make sense.

@dhalbert
Copy link
Collaborator

dhalbert commented Nov 5, 2025

But In my mind the e-ink default background was white. Is maybe an misconception of my part, as I may be fool as I see almost all example on internet with a white background.

There's no fool here. It is true that one often thinks of the background color of an e-ink display as white. We're trying to make the background color be consistent across many displays, so that you could port code between display types without changing the colors. (There are other changes you might need to make, such as display size and refresh strategy.)

@dhalbert
Copy link
Collaborator

dhalbert commented Nov 5, 2025

I will close for now.

@dhalbert dhalbert closed this Nov 5, 2025
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.

3 participants