Skip to content

Refine SSD1677 four-mode refresh waveforms#227

Merged
lovyan03 merged 1 commit into
m5stack:developfrom
ainyan03:develop
Jul 22, 2026
Merged

Refine SSD1677 four-mode refresh waveforms#227
lovyan03 merged 1 commit into
m5stack:developfrom
ainyan03:develop

Conversation

@ainyan03

Copy link
Copy Markdown
Contributor

Summary

  • keep SSD1677 Fast and Fastest updates differential and preserve untouched black, gray, and white pixels with state-aware hold groups
  • use an 8-frame Fastest waveform and a stronger 12-frame Fast waveform
  • make Text refresh aware of the Mode 2 ping-pong plane parity
  • replace the separate Quality precondition activation with one fixed LUT that performs four rapid black/white round trips before forming the target four-gray image
  • keep Quality and Text as single user-visible refresh calls

Hardware validation

Tested on an M5PaperMono SSD1677 panel using M5Unified 0.2.18.

  • Fastest completed 60 consecutive dirty updates at 88 ms average while four untouched gray references remained distinct
  • a Quality or Text UI followed by 30 Fastest selection moves kept the header, four-gray sidebar, frame, and footer stable outside the dirty rectangle
  • the accepted Fastest lightening adjustment retained the same 105 ms average in the navigation test and reduced erased black cursor residue to a visually negligible level
  • Text produced the correct black, dark gray, light gray, and white order after reset and after both odd and even Mode 2 entry states
  • Quality completed in about 1495 ms with four rapid black/white round trips inside one Mode 1 activation

Checks

  • PlatformIO SSD1677/M5Unified test firmware build
  • SSD1677 grayscale transition logic test with -Wall -Wextra -Werror
  • git diff --check

Stabilize partial updates outside the dirty region, add calibrated Fast and Fastest differential waveforms, and make Text parity-aware. Use a single oscillating Quality activation for stronger ghost removal while preserving four gray levels.
@lovyan03
lovyan03 merged commit 090acb6 into m5stack:develop Jul 22, 2026
23 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