Skip to content

Revert "Tune SSD1677 LUTs for PaperMono text/quality modes" (#272) - #275

Merged
lovyan03 merged 1 commit into
m5stack:developfrom
ainyan03:revert_ssd1677_lut
Sep 2, 2026
Merged

Revert "Tune SSD1677 LUTs for PaperMono text/quality modes" (#272)#275
lovyan03 merged 1 commit into
m5stack:developfrom
ainyan03:revert_ssd1677_lut

Conversation

@ainyan03

@ainyan03 ainyan03 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Reverts #272 (merge commit 1f481eb) and restores the previous epd_quality / epd_text waveforms for the SSD1677 (PaperMono). Withdrawn in agreement with the author of #272.

Why

Verified on a PaperMono against the current develop:

  • The retuned lut_quality is not DC balanced. Summing VSH1/VSL frames over one refresh per gray level gives a net drive of +58 (white) to +72 (black) frames of VSH1. The previous waveform nets exactly zero for all four levels. On the panel this shows up as sticking after repeated quality refreshes; switching lut_quality back to the previous table on the same build removes it.
  • The white produced by the new quality waveform is slightly gray (the white row spends 56 frames on VSH1 in its last long group and only 14 frames on VSL afterwards), which is the mismatch described in the Tune SSD1677 LUTs for PaperMono text/quality modes #272 description.
  • The new lut_text is a binary GC1 waveform, so epd_text dropped from four gray levels to two and light details in images are lost.

The vendor waveform that #272 ported was validated in a standalone test program that leaves the panel's gate/source/VCOM voltages at their OTP defaults and powers the analog section down after every update. M5GFX applies explicit voltages from the LUT tail, so the two environments are not equivalent and the vendor's soak result does not carry over as-is.

The issue that motivated #272 (white areas developing dark speckles after prolonged use, recovering on the next refresh) is not addressed here and will be investigated separately.

Changes

  • Panel_SSD1677.cpp: restore the previous lut_quality and lut_text, remove _refresh_mode1_text, route epd_text back through _refresh_mode1_absolute
  • Panel_SSD1677.hpp: remove the _refresh_mode1_text declaration

Pure revert; no other changes.

This reverts merge commit 1f481eb (PR m5stack#272, commit 3bcad74).

The retuned epd_quality waveform is not DC balanced: every gray level
nets +58 to +72 frames of VSH1 per refresh, whereas the previous waveform
nets zero for all four levels. On the panel this shows up as sticking
after repeated quality refreshes, and the white level ends up slightly
gray. The new epd_text waveform also reduced that mode from four gray
levels to two, dropping light details in images.

Withdrawn in agreement with the author. The issue that motivated the
change (white areas developing dark speckles after prolonged use, which
clear on the next refresh) will be investigated separately.
@lovyan03
lovyan03 merged commit 6a025e1 into m5stack:develop Sep 2, 2026
27 checks passed
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.

2 participants