github Sichroteph/YACP v1.6.2-yacp.19
YACP 1.6.2-yacp.19: X3 UC8279 hardware validation

pre-release4 hours ago

YACP 1.6.2-yacp.19

Warning

This is a pre-release for hardware validation. The new X3 UC8279d path has not yet been confirmed on the affected production units. Install it only if you can restore another firmware with the CrossPoint Web Installer.

This pre-release extends YACP to newer X3 production runs whose display uses a UC8279d controller instead of the
original UC8253. The controller is detected directly from the display bus before normal SPI initialization on every
boot, so an inconclusive read cannot persist the wrong driver. The UC8279d path is included for hardware validation
and should still be treated as experimental.

Added

  • Added a dedicated UC8279d display driver and automatic UC8253/UC8279d detection for newer X3 production runs,
    preventing the blank or frozen display caused by driving the new controller as an original X3.
  • Added experimental runtime detection and driver selection for newer X4 UC8179 and UC8279 controller variants. These
    paths are compiled into the shared X3/X4 firmware but have not yet been validated on matching X4 hardware.
  • Reading Rhythm now shows the exact reading time for each of the last seven days, making day-to-day comparisons
    visible alongside the longer-term activity history.

Changed

  • Renamed Sunlight Fading Fix to Display Power Saving and enabled it by default for new settings. Multi-pass
    grayscale refreshes now keep the display powered only until their final pass, avoiding intermediate power cycles.
  • Text anti-aliasing is now enabled by default for new settings and for the YACP first-run profile. Existing saved
    preferences remain unchanged.
  • The original UC8253 X3 now performs one required startup clean instead of forcing another full synchronization on
    the first real screen after the splash, removing that redundant long refresh while preserving the wake cleanup.

Fixed

  • Aligned X3 controller selection with CrossPoint's proven boot sequence: power rails are asserted first, the base X3
    profile is selected before probing, retained RESET pin holds are released, and the live result is applied before
    hardware SPI initialization.
  • Removed the experimental cached controller fallback, which could permanently select UC8253 after one failed probe
    and keep the display frozen on a UC8279d X3.
  • Restored CrossInk's text anti-aliasing mapping for YACP: dark-gray and light-gray glyph edge pixels are written to
    the same grayscale planes on X3 and X4, without the YACP-specific high-contrast reduction.
  • Corrected the original UC8253 X3 grayscale waveform so the white-to-black transition remains passive during the
    gray nudge, reducing blotchy noise in gray areas.
  • Hardened X4 grayscale-to-black-and-white transitions and deep-sleep baseline handling so later differential
    refreshes do not reuse grayscale planes as the previous black-and-white frame.
  • One-bit images and icons drawn at non-byte-aligned horizontal positions now land on the requested pixel instead of
    shifting to the preceding eight-pixel boundary; widths not divisible by eight also retain their final pixels.

Validation

  • Tiny compiled successfully with PlatformIO.
  • Embedded version: 1.6.2-yacp.19-tiny.
  • Both X3 drivers and the live display-controller probe are present in the published image.
  • ESP32-C3 checksum and validation hash are valid.
  • Image size: 5,610,944 bytes, with 942,656 bytes free in the OTA application partition.
  • SHA-256: f6e53a520917f343ad8266d3be82563f6c4ebbaecdf39004d7ecb4c5a131b720.

Don't miss a new YACP release

NewReleases is sending notifications on new releases.