Skip to content

Conversation

@finger563
Copy link
Contributor

@finger563 finger563 commented Dec 18, 2025

Description

  • Update m5stack-tab5 component to support different hardware configurations with different display drivers
  • Add st7123 display driver

Motivation and Context

Closes #573

How has this been tested?

Build m5stack-tab5/example

I can't run this on a tab5 with the st7123 as I don't have one of those 😅

I have run it on my tab5 and it's working still, so that's good :)

@CarbonNeuron said that it's working on the updated tab5 (with worse performance sadly)

Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):

tab5-udpate.mp4
image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update
  • Hardware (schematic, board, system design) change
  • Software change

Checklist:

  • My change requires a change to the documentation.
  • I have added / updated the documentation related to this change via either README or WIKI

Software

  • I have added tests to cover my changes.
  • I have updated the .github/workflows/build.yml file to add my new test to the automated cloud build github action.
  • All new and existing tests passed.
  • My code follows the code style of this project.

Copilot AI review requested due to automatic review settings December 18, 2025 03:45
@finger563 finger563 self-assigned this Dec 18, 2025
@finger563 finger563 added bug Something isn't working enhancement New feature or request display drivers m5stack tab5 labels Dec 18, 2025
@github-actions
Copy link

✅Static analysis result - no issues found! ✅

Copy link
Contributor

Copilot AI left a comment

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 adds automatic display controller detection for the M5Stack Tab5 to support hardware variants with different MIPI-DSI display controllers (ILI9881 vs ST7123). The BSP now attempts to initialize with the ILI9881 driver first, and falls back to ST7123 if detection fails, allowing the same firmware to work across different hardware revisions.

Key changes:

  • Added new ST7123 display driver with initialization sequences compatible with M5Stack Tab5
  • Implemented controller auto-detection logic that tries ILI9881 first, then ST7123
  • Added API methods to query the detected display controller type

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
components/display_drivers/include/st7123.hpp New display driver for ST7123 controller with DSI/DCS command interface and initialization sequence
components/m5stack-tab5/include/m5stack-tab5.hpp Added DisplayController enum and getter methods for querying detected controller type
components/m5stack-tab5/src/video.cpp Updated LCD initialization to detect and initialize appropriate display controller, removed hardcoded ILI9881C reference from log message
components/m5stack-tab5/README.md Documented the auto-detection feature with usage examples and explained support for both ILI9881 and ST7123 controllers

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@finger563 finger563 merged commit 35428fb into main Dec 19, 2025
101 of 102 checks passed
@finger563 finger563 deleted the fix/573-tab5-display-controller branch December 19, 2025 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working display drivers enhancement New feature or request m5stack tab5

Projects

None yet

Development

Successfully merging this pull request may close these issues.

m5stack tab5 ST7123 display not working

2 participants