meshnology-w10: define HAS_SPI_TFT so the TFT screen initializes again#11042
meshnology-w10: define HAS_SPI_TFT so the TFT screen initializes again#11042zelo533 wants to merge 1 commit into
Conversation
meshtastic#10803 refactored main.cpp to key SPI-TFT Screen creation on HAS_SPI_TFT instead of the per-controller define list. The W10 variant (meshtastic#10911) was written before that refactor and crossed it mid-air, so it never defines HAS_SPI_TFT and develop builds fall through to the I2C-OLED autodetect branch: no Screen is ever constructed and the display stays dark, while everything else (radio, GPS, BLE) works. Verified on a real W10: with the define, the boot log shows TFTDisplay creation, backlight power-on and the boot screen, and the ST7789 panel renders the UI again.
|
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe meshnology-w10 ESP32-S3 variant now defines ChangesSPI TFT capability
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
@zelo533, Welcome to Meshtastic!Thanks for opening your first pull request. We really appreciate it. We discuss work as a team in discord, please join us in the #firmware channel. Welcome to the team 😄 |
|
Thanks for the PR. Can you please run trunk fmt |
What
One-line fix: the Meshnology W10 variant never defines
HAS_SPI_TFT, so on currentdevelopthe board boots with a dark screen.Why
#10803 refactored
main.cppto key SPI-TFTScreencreation onHAS_SPI_TFTinstead of the long per-controller define list. The W10 variant (#10911) was written before that refactor and the two crossed mid-air: the variant definesUSE_TFTDISPLAY/ST7789_CSbut notHAS_SPI_TFT, so screen creation falls through to the I2C-OLED autodetect branch, finds no I2C display, and never constructs aScreen. Radio/GPS/BLE are unaffected — only the display silently dies, with nothing in the log.Testing
Verified on a real W10 AIOT Dev Kit (ST7789 1.54" panel): without this define the boot log contains no display init at all; with it,
Make TFTDisplay!→Power to TFT Backlight→ boot screen → standard UI frames, and the panel renders correctly. Radio (SX1262 via the MCP23017 expander), GPS, sensors and BLE unchanged.🤝 Attestations
Tested on: Meshnology W10 AIOT Dev Kit. The change is scoped to
variants/esp32s3/meshnology-w10/variant.h, which no other target includes, so other devices are structurally unaffected.🤖 Generated with Claude Code
https://claude.ai/code/session_013ucb95usrWhoUUPZzxi1SJ
Summary by CodeRabbit