github Sichroteph/YACP v1.6.0-yacp
YACP 1.6.0-yacp

6 hours ago

YACP v1.6.0-yacp — Faster X3 wake and sleep, less SD-card work, and no-flash AA text

YACP 1.6 optimizes the path used in almost every reading session: wake the X3, return to the current page, and put the
reader back to sleep. The normal Quick Resume path now removes fixed startup delays, reuses the page already retained
by the e-ink panel, and avoids SD-card reads and writes that are unrelated to displaying that page.

The result is less waiting before reading can continue and less incidental storage work on every normal wake/sleep
cycle. No separate performance setting is required. The other headline change extends no-flash periodic screen
maintenance to antialiased text; saved Wi-Fi selection has also been reworked.

Faster X3 book resume with less SD-card work

An ESP32 deep-sleep wake is a fresh boot. Optimizing startup therefore directly shortens the time from pressing Power
to being able to continue the current book. The work was reduced at each stage of that cycle:

Stage Work avoided or deferred Practical effect
Battery-powered boot USB CDC starts only when a cable is detected or Home is opened Removes the fixed 250 ms USB enumeration wait from the normal X3 wake
Boot-button detection Two stable physical samples 8 ms apart replace the roughly 500 ms settling wait Removes about another 492 ms of fixed startup delay while retaining boot-chord detection
Direct book resume The retained framebuffer is reused; a valid cached EPUB section is prepared without rendering the visible page again The existing reading page remains visible and becomes interactive sooner
SD-card work at resume The redundant reader-entry state write and recent-book update are skipped; Recent Books, OPDS, and KOReader credentials load only on first use; page metadata such as footnotes waits until requested Avoids unrelated SD reads and writes on the common path back into the book
Return to sleep An identical same-day automatic statistics backup is not rewritten, and the panel controller switches off as soon as its localized refresh completes Avoids an unnecessary SD rewrite and stops powering the display electronics earlier

These changes reduce, rather than eliminate, SD activity. Progress, statistics, cached-section reads, and the state
writes that protect against a failed-resume boot loop remain. Missing or stale caches retain the normal render and
indexing fallback. X4 also retains its existing startup behavior.

Quick Resume continues to avoid the full-screen black synchronization pass. Its small loading marker is removed with a
localized no-flash update, while waking from an image-based sleep screen restores the pre-sleep framebuffer instead of
showing the normal splash.

An X3 waking from a book-cover sleep image into the current reading page
GIF preview of the latest X3 Cover-wake recording from the hardware test session. Download the unedited original MP4.

One hardware recording per configuration produced the following indicative timings. Each measurement starts at the
physical Power click and ends when the loading dots are replaced by the battery indicator; timing uncertainty is about
+/- 0.1 s.

Wake path YACP 1.6 Previous firmware Difference
Quick Resume to retained page ~1.3 s ~1.8 s ~0.5 s faster (~27% less delay)
Cover sleep image to reader ~2.8 s ~3.4 s ~0.6 s faster (~19% less delay)

These are single-run observations, not a formal benchmark or a battery-life claim. The code removes about 742 ms of
fixed X3 startup waits, but some of that time overlaps other startup work and should not be added directly to the
end-to-end figures.

No-flash maintenance with antialiased text

The X3 OEM black-and-white reinforcement waveform can now maintain text-only EPUB and TXT pages even when font
anti-aliasing is enabled. Dense font-stroke pixels stay black while only the lighter edge pixels use gray, preserving
text contrast without forcing every antialiased page onto the flashing cleanup path.

The safety rules remain conservative: pages containing images, indexing or popup residue, manual full refreshes,
wake/sleep transitions that require cleanup, and non-X3 devices still use the stronger full refresh.

This extends the existing no-flash page-maintenance path; it does not change image rendering or remove explicit full
refreshes.

Smarter saved Wi-Fi selection

When several networks are saved, Join Network now scans once, sorts the visible saved SSIDs by signal strength, and
silently tries the next candidate if the first one cannot connect. The scan's channel and BSSID are passed directly to
the connection attempt so the Wi-Fi driver does not need a second scan. A single saved network keeps the faster direct
path.

The previous failure dialog and credential-deletion prompt are no longer shown merely because the last-used access
point is absent. Pressing Show interrupts the automatic attempts and opens the normal network list immediately.

Previous and updated saved Wi-Fi selection paths when the last-used network is unavailable
The updated path advances through available saved networks without an error or credential-deletion prompt. Download the MP4.

Other additions

  • X3 Safe Home: hold physical front button No. 1, the leftmost in portrait, while pressing Power to bypass Quick Resume
    and open through the normal splash and Home path.
  • Direct Join Network / File Transfer: hold the right side button while pressing Power on X3 or X4.
  • Autonomy now counts successfully displayed EPUB, TXT, and XTC reader pages during the current battery cycle, forward
    and backward. The count stays in RAM and is persisted with the existing sleep-state save, with no per-page SD write.
  • X3 can optionally show average battery current in mA in the reader status bar for power-measurement sessions.
  • New user-facing labels are available in every language shipped by the firmware.

Boot chords use physical positions and are not changed by custom reader button mappings. The existing left side button

  • Power shortcut still opens firmware update.

Fixes

  • Opening Reading Stats with a long-press OK shortcut no longer closes the view when the held button is released. The
    release event is sampled once and cannot be interpreted again by the newly opened activity.
  • Adaptive sleep-image tone mapping now selects a valid percentile sample for very small images.

Upgrade notes

No settings reset is required. Safe Home is available if a retained Quick Resume state or book cache needs to be
bypassed during diagnosis.

Release binaries and checksums are attached for the usual tiny and xlarge font-size variants.

Validation

  • X3 Tiny: the wake/sleep, no-flash text, saved Wi-Fi, and statistics fixes were tested on hardware during development.
  • Tiny and XLarge: final 1.6.0-yacp release builds completed successfully on 2026-08-05.
  • Embedded versions were verified as 1.6.0-yacp-tiny and 1.6.0-yacp-xlarge before upload.
  • Both images fit the OTA application partition, with 958,944 bytes free for Tiny and 1,096,032 bytes free for XLarge.
  • X4 hardware was not retested specifically for this release; X4 keeps its existing startup behavior and both release
    variants compile with the shared guarded code paths.

Don't miss a new YACP release

NewReleases is sending notifications on new releases.