Skip to content

Wio Tracker L2 Pro: software keyboard and full PSRAM for apps - #747

Merged
KenVanHoeylandt merged 4 commits into
TactilityProject:mainfrom
AdaSzi:wio-tracker-l2-fixes
Nov 11, 2026
Merged

KenVanHoeylandt merged 4 commits into
TactilityProject:mainfrom
AdaSzi:wio-tracker-l2-fixes

Conversation

@AdaSzi

@AdaSzi AdaSzi commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

button-control registers a KEYBOARD_TYPE device without is_present, so lvgl_hardware_keyboard_is_available() returned true and text fields never showed the software keyboard (for example the Wi-Fi password in the setup wizard). It now implements is_present and returns false, the buttons work as before. The Waveshare ESP32-S3-Touch-LCD-1.47 uses it the same way. On boards with only buttons and no touch, a focused text field shows the software keyboard again, as before #561 (not tested on those boards).

Tested on a Wio Tracker L2 Pro

Summary by CodeRabbit

  • Bug Fixes
    • Text fields continue to display the software keyboard when the button control module is connected; it is no longer treated as a hardware keyboard.

- button-control reports that it is not a hardware keyboard, so text fields show the software keyboard on touch boards with buttons. Key input from the buttons is unchanged.
- Wio Tracker L2 Pro: hardware.spiRamXipDisabled=true, as on the T-Deck. XIP from PSRAM copied about 4 MB of firmware into the 8 MB PSRAM, so apps that need 8 MB (requires.ram) were hidden.
@coderabbitai

coderabbitai Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The Wio Tracker L2 Pro device properties now set hardware.spiRamXipDisabled to true. The PSRAM boot-fix comment written by device.py now ends with a newline. The button-control module now reports that it is not present. Its README states that text fields continue to show the software keyboard.

Merge Risk: Minimal · up to 627e9

The change restores the software keyboard on the Wio Tracker L2 Pro and frees PSRAM for apps. No actionable merge-blocking risk was found.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the two changes in the PR: a software keyboard fix for the Wio Tracker L2 Pro (button-control is_present returns false so LVGL does not treat a hardware keyboard as present) and the PS…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Full details: Title check

Explanation

The title names the two changes in the PR: a software keyboard fix for the Wio Tracker L2 Pro (button-control is_present returns false so LVGL does not treat a hardware keyboard as present) and the PSRAM change (spiRamXipDisabled=true so apps can use full PSRAM). Both appear in the changeset and objectives, so the title is related to the main change.

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 92bcb8e6-9dd5-4c35-818e-c93a336d19cb
Commits

Reviewing files that changed from the base of the PR and between 692aa30 and 627e9b3.

Files selected for processing: 1

  • device.py

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to GitHub limitations.

⚠️ Outside diff range comments (1)

Major · Add a newline after the PSRAM comment so… · device.properties:262

Devices/seeed-wio-tracker-l2-pro/device.properties:262
Major · Functional Correctness · Quick win

Add a newline after the PSRAM comment so CONFIG_SPIRAM_FETCH_INSTRUCTIONS=n is emitted.

In the disabled branch of write_psram (device.py:262-263), the comment write has no trailing newline. The CONFIG_SPIRAM_FETCH_INSTRUCTIONS=n assignment is appended to the comment line and is not written as a configuration entry. The other two =n assignments are unaffected.

Suggested fix

-            output_file.write("# Fix error \"PSRAM space not enough for the Flash instructions\" on boot:")
+            output_file.write("# Fix error \"PSRAM space not enough for the Flash instructions\" on boot:\n")
Review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0e20882e-b944-4d9f-b217-c92a9358c624
Commits

Reviewing files that changed from the base of the PR and between 5b46f6a and 692aa30.

Files selected for processing: 3

  • Devices/seeed-wio-tracker-l2-pro/device.properties
  • Drivers/button-control-module/README.md
  • Drivers/button-control-module/source/button_control.cpp

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.

hardware.spiRam=true
hardware.spiRamMode=OCT
hardware.spiRamSpeed=80M
hardware.spiRamXipDisabled=true

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.

This doesn't do anything anymore

The comment had no newline, so CONFIG_SPIRAM_FETCH_INSTRUCTIONS=n ended up
inside it and was not set.
Comment thread device.py Outdated
output_file.write("CONFIG_SPIRAM_XIP_FROM_PSRAM=n\n")
apply_fix = get_property_or_default(device_properties, "hardware.spiRamXipDisabled", "false").lower()
if apply_fix == "true":
output_file.write("# Fix error \"PSRAM space not enough for the Flash instructions\" on boot:\n")

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.

I don't understand why this shows up, cause the main branch has this already.

@KenVanHoeylandt
KenVanHoeylandt merged commit 8f81b15 into TactilityProject:main Nov 11, 2026
3 of 22 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