Skip to content

Fix L1 E-Ink InkHUD issues#10804

Merged
thebentern merged 5 commits into
developfrom
L1_Eink_Fix
Jun 28, 2026
Merged

Fix L1 E-Ink InkHUD issues#10804
thebentern merged 5 commits into
developfrom
L1_Eink_Fix

Conversation

@HarukiToreda

Copy link
Copy Markdown
Contributor

Summary

This PR fixes three L1 E-Ink InkHUD issues:

  1. Battery voltage was not being read correctly, so InkHUD showed 0.00V.
  2. The free-text keyboard layout was stretched/misaligned on the non-touch L1 after the touch keyboard changes for T5S3.
  3. The device could not be woken back up after entering deep sleep shutdown.

Problem

On the seeed_wio_tracker_L1_eink-inkhud target:

  • Battery voltage never updated correctly in InkHUD because the L1 battery divider enable path was not wired into the shared battery read logic.
  • The non-touch L1 was using sizing/behavior that had been introduced for touchscreen keyboards, which broke the original joystick-driven keyboard layout.
  • Entering shutdown/deep sleep left no usable wake source configured for the L1 hardware.

What changed

Battery voltage fix

  • Hooked the L1 battery divider control pin into the existing battery measurement flow by defining:
    • ADC_CTRL
    • ADC_CTRL_ENABLED
  • Updated the L1 E-Ink InkHUD env to inherit from the proper seeed_wio_tracker_L1_eink environment so it picks up the correct board-specific configuration.

Non-touch keyboard restore

  • Restored the original non-touch InkHUD keyboard behavior for devices without touch input.
  • Kept the newer touch keyboard behavior for touch-enabled devices such as the T5S3.
  • This makes the L1 use the original joystick-friendly keyboard layout again, without affecting touch devices.

Wake from shutdown

  • Added L1 variant shutdown handling so the L1 configures its hardware button as a wake source before entering nRF52 SYSTEMOFF.
  • This allows the L1 to wake back up after shutdown/deep sleep.

Why this is safe

  • The keyboard behavior is now split by capability:
    • touch enabled devices keep the touch keyboard
    • non touch devices use the legacy keyboard
  • The battery fix uses the board’s existing hardware control path instead of introducing a new battery read implementation.
  • The shutdown wake logic is variant-specific to the L1.

@github-actions

github-actions Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

⚡ Try this PR in the Web Flasher

Flash this PR in the Web Flasher

firmware commit boards expires

Warning

This is an automated, unreviewed CI test build. Back up your device configuration
before flashing, and only flash devices you are able to recover.

Supported boards built by this PR (25)
Device Board Platform
Crowpanel Adv 3.5 TFT elecrow-adv-35-tft esp32-s3
Heltec HT62 heltec-ht62-esp32c3-sx1262 esp32-c3
Heltec Mesh Node 096 heltec-mesh-node-t096 nrf52840
Heltec Mesh Node T1 heltec-mesh-node-t1 nrf52840
Heltec Mesh Node T114 heltec-mesh-node-t114 nrf52840
Heltec V3 heltec-v3 esp32-s3
Heltec V4 heltec-v4 esp32-s3
Raspberry Pi Pico pico rp2040
Raspberry Pi Pico W picow rp2040
RAK WisMesh Tag rak_wismeshtag nrf52840
RAK WisBlock 11200 rak11200 esp32
RAK WisBlock 11310 rak11310 rp2040
RAK3312 rak3312 esp32-s3
RAK WisBlock 4631 rak4631 nrf52840
Seeed Wio Tracker L1 seeed_wio_tracker_L1 nrf52840
Seeed Xiao NRF52840 Kit seeed_xiao_nrf52840_kit nrf52840
Seeed Xiao ESP32-S3 seeed-xiao-s3 esp32-s3
Station G2 station-g2 esp32-s3
Station G3 station-g3 esp32-s3
LILYGO T-Deck t-deck-tft esp32-s3
LILYGO T-Echo t-echo nrf52840
LILYGO T-Echo Plus t-echo-plus nrf52840
LILYGO T-Impulse Plus t-impulse-plus nrf52840
LilyGo T3-C6 tlora-c6 esp32-c6
Seeed SenseCAP T1000-E tracker-t1000-e nrf52840

Build artifacts expire on 2026-07-28. Updated for b360016.

@github-actions github-actions Bot added the bugfix Pull request that fixes bugs label Jun 28, 2026
@HarukiToreda HarukiToreda self-assigned this Jun 28, 2026
@HarukiToreda HarukiToreda added hardware-support Hardware related: new devices or modules, problems specific to hardware InkHUD Issues directly related to InkHUD UI labels Jun 28, 2026
@HarukiToreda HarukiToreda changed the title Fixes Fix L1 E-Ink InkHUD issues Jun 28, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses three device-specific issues on the seeed_wio_tracker_L1_eink-inkhud target: battery voltage reporting, non-touch InkHUD keyboard layout behavior, and wake-from-shutdown on nRF52 by adding variant-specific wake configuration.

Changes:

  • Hook the L1 battery divider control into the shared battery ADC enable/disable path via ADC_CTRL/ADC_CTRL_ENABLED, and update the InkHUD env to inherit the proper base environment.
  • Split InkHUD keyboard behavior based on touch capability, restoring the legacy joystick-friendly keyboard for non-touch devices.
  • Add L1/L1_eink variant_shutdown() to configure the program button as a wake source prior to nRF52 SYSTEMOFF.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
variants/nrf52840/seeed_wio_tracker_L1/variant.h Defines ADC_CTRL/ADC_CTRL_ENABLED for battery divider control.
variants/nrf52840/seeed_wio_tracker_L1/variant.cpp Adds L1 variant_shutdown() wake-on-button configuration for SYSTEMOFF.
variants/nrf52840/seeed_wio_tracker_L1_eink/variant.h Defines ADC_CTRL/ADC_CTRL_ENABLED for battery divider control (E-Ink variant).
variants/nrf52840/seeed_wio_tracker_L1_eink/variant.cpp Adds L1 E-Ink variant_shutdown() wake-on-button configuration.
variants/nrf52840/seeed_wio_tracker_L1_eink/platformio.ini Makes InkHUD env inherit from env:seeed_wio_tracker_L1_eink to pick up correct variant config.
src/graphics/niche/InkHUD/Applets/System/Keyboard/KeyboardApplet.h Adds legacy keyboard definitions and helpers for non-touch builds.
src/graphics/niche/InkHUD/Applets/System/Keyboard/KeyboardApplet.cpp Implements legacy keyboard rendering/input/navigation paths and touch/non-touch switching.

Comment thread variants/nrf52840/seeed_wio_tracker_L1/variant.h Outdated
Comment thread variants/nrf52840/seeed_wio_tracker_L1_eink/variant.h Outdated
Comment thread variants/nrf52840/seeed_wio_tracker_L1/variant.h Outdated
thebentern and others added 3 commits June 28, 2026 07:08
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Firmware Size Report

22 targets | vs develop: 22 increased, net +176,268 (+172.1 KB)

Target Size vs develop
heltec-vision-master-e213-inkhud 2,229,744 📈 +13,616 (+13.3 KB)
heltec-v4 2,277,216 📈 +9,600 (+9.4 KB)
t-eth-elite 2,491,408 📈 +9,520 (+9.3 KB)
elecrow-adv-35-tft 3,416,544 📈 +9,456 (+9.2 KB)
heltec-ht62-esp32c3-sx1262 2,134,960 📈 +8,816 (+8.6 KB)
Show 17 more target(s)
Target Size vs develop
heltec-v3 2,264,000 📈 +8,784 (+8.6 KB)
tlora-c6 2,368,256 📈 +8,704 (+8.5 KB)
rak11200 1,860,544 📈 +8,560 (+8.4 KB)
seeed-xiao-s3 2,276,064 📈 +8,320 (+8.1 KB)
rak3312 2,272,160 📈 +8,256 (+8.1 KB)
station-g2 2,266,256 📈 +8,064 (+7.9 KB)
station-g3 2,266,272 📈 +8,064 (+7.9 KB)
picow 1,244,776 📈 +7,776 (+7.6 KB)
t-deck-tft 3,810,592 📈 +7,424 (+7.2 KB)
pico2w 1,220,420 📈 +7,352 (+7.2 KB)
pico 782,608 📈 +7,344 (+7.2 KB)
seeed_xiao_rp2040 780,808 📈 +7,344 (+7.2 KB)
rak11310 805,344 📈 +7,176 (+7.0 KB)
pico2 769,696 📈 +6,904 (+6.7 KB)
seeed_xiao_rp2350 767,840 📈 +6,904 (+6.7 KB)
rak3172 186,296 📈 +4,188 (+4.1 KB)
wio-e5 238,556 📈 +4,096 (+4.0 KB)

Updated for edff68b

@thebentern thebentern merged commit 29b3cfa into develop Jun 28, 2026
91 checks passed
@thebentern thebentern deleted the L1_Eink_Fix branch June 28, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix Pull request that fixes bugs hardware-support Hardware related: new devices or modules, problems specific to hardware InkHUD Issues directly related to InkHUD UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants