Skip to content

feat(variants): add L1 Pro 1W battery curve and brightness levels - #11972

Merged
caveman99 merged 1 commit into
developfrom
seeed-l1-pro-1w-update
Sep 25, 2026
Merged

caveman99 merged 1 commit into
developfrom
seeed-l1-pro-1w-update

Conversation

@caveman99

@caveman99 caveman99 commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #11542 with the remaining changes from Seeed's 2.7 vendor branch for the Wio Tracker L1 Pro 1W.

  • Add OCV_ARRAY for the L1 Pro 1W battery.
  • Brightness menu levels can be overridden per variant via SCREEN_BRIGHTNESS_LEVEL_MEDIUM / _HIGH / _VERY_HIGH. Defaults (64/128/255) are unchanged.
  • L1 Pro 1W uses 100/160/255.
  • Drop USE_SSD1306 from the L1 Pro 1W variant. USE_SH1106 is already set in configuration.h and takes precedence.

Testing

Flashed to an L1 Pro 1W. Boots and the display works. Brightness menu levels not yet checked on the device. TX power measured with an ImmersionRC RF meter (direct and through a 10 dB pad): output tracks the configured value within 0.9 dB from 10 to 30 dBm on US, and reads about 1 dB low on EU_868.

Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

Seeed Wio Tracker L1 Pro 1W

Summary by CodeRabbit

  • New Features
    • Brightness options now use levels tailored for this device, with medium, high, and very high settings.
    • Battery voltage reference values are now provided for this device’s battery level reporting.

- Add OCV_ARRAY for the L1 Pro 1W battery.
- Let variants override the brightness menu levels via
  SCREEN_BRIGHTNESS_LEVEL_{MEDIUM,HIGH,VERY_HIGH}; defaults unchanged.
- Set L1 Pro 1W brightness levels to 100/160/255.
- Drop USE_SSD1306 from the L1 Pro 1W variant; USE_SH1106 is set in
  configuration.h.
@github-actions

Copy link
Copy Markdown
Contributor

⚡ Try this PR in the Web Flasher

Note

Building this pull request… the flash button, badges and supported-board
list will appear here automatically once CI finishes.

@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: meshtastic/firmware/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 5c5e2c16-899f-45cf-8025-aaa5dd078863

📥 Commits

Reviewing files that changed from the base of the PR and between 2028484 and 8206eed.

📒 Files selected for processing (2)
  • src/graphics/draw/MenuHandler.cpp
  • variants/nrf52840/seeed_wio_tracker_L1_Pro_1W/variant.h

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The brightness picker now uses variant-overridable brightness levels. The Seeed Wio Tracker L1 Pro 1W variant sets those levels to 100, 160, and 255, removes USE_SSD1306, and adds an OCV array with 11 voltage values.

Changes

Screen brightness

Layer / File(s) Summary
Variant brightness levels and picker
variants/nrf52840/seeed_wio_tracker_L1_Pro_1W/variant.h, src/graphics/draw/MenuHandler.cpp
The variant defines medium, high, and very-high brightness levels as 100, 160, and 255. The picker uses overrideable macros for its selection thresholds and assigned values. The variant no longer defines USE_SSD1306.

Battery voltage configuration

Layer / File(s) Summary
Variant OCV values
variants/nrf52840/seeed_wio_tracker_L1_Pro_1W/variant.h
The variant adds an OCV_ARRAY with 11 descending battery voltage values from 4200 to 3100.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Feature

Suggested reviewers: xaositek

Merge Risk: ⚪ Minimal · up to 8206e

The L1 Pro 1W brightness and battery settings follow their consumer contracts, and its display backend remains selected. The existing menu-label mismatch is unchanged by this PR; no actionable merge risk remains.

Architecture Summary

Architecture risk: 🟡 Medium · up to 8206e

The change affects 2 systems.

Changed systems: src, variants

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — src (service) was modified; 1 changed file maps to changed impact.
  • observed — variants (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in src/graphics/draw/MenuHandler.cpp: Adds overrideable brightness-level defaults of 64, 128, and 255, and uses the Very High and High macros to determine the initial selection.
  • observed — Modified behavior in src/graphics/draw/MenuHandler.cpp: Replaces the hard-coded brightness values 64, 128, and 255 assigned for Medium, High, and Very High with their corresponding macros.
  • observed — Modified behavior in variants/nrf52840/seeed_wio_tracker_L1_Pro_1W/variant.h: Removed the USE_SSD1306 definition and added three screen brightness level constants: medium 100, high 160, and very high 255.
  • observed — Modified behavior in variants/nrf52840/seeed_wio_tracker_L1_Pro_1W/variant.h: Added an OCV_ARRAY containing 11 descending battery voltage values from 4200 to 3100.

Reliability and maintainability

  • inferred — Risk-relevant change factors for src: blast_radius_1; direct_dependents_1
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
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 The description clearly explains the battery curve, brightness overrides, and display configuration changes. It includes implementation details, testing results, hardware limitations, and completed at…
Title check ✅ Passed The title clearly identifies the main changes: the L1 Pro 1W battery curve and brightness levels.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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

Comment @coderabbitai help to get the list of available commands.

@caveman99 caveman99 added the hardware-support Hardware related: new devices or modules, problems specific to hardware label Sep 25, 2026
@caveman99 caveman99 added this to the 2.8.1 milestone Sep 25, 2026
@caveman99
caveman99 merged commit 09e5146 into develop Sep 25, 2026
72 of 75 checks passed
@caveman99
caveman99 deleted the seeed-l1-pro-1w-update branch September 25, 2026 18:10
t-miura pushed a commit to t-miura/firmware that referenced this pull request Sep 27, 2026
…shtastic#11972)

- Add OCV_ARRAY for the L1 Pro 1W battery.
- Let variants override the brightness menu levels via
  SCREEN_BRIGHTNESS_LEVEL_{MEDIUM,HIGH,VERY_HIGH}; defaults unchanged.
- Set L1 Pro 1W brightness levels to 100/160/255.
- Drop USE_SSD1306 from the L1 Pro 1W variant; USE_SH1106 is set in
  configuration.h.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hardware-support Hardware related: new devices or modules, problems specific to hardware

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants