Repository navigation
Use the board detector for ESP32-P4 boards, rename PoE-P4 display output settings to Display Out - #397
Merged
Conversation
BOARD_ID 31 (CoreP4X) and 35 (Tab5X), set by board-specific firmware builds, now apply after cfg.fallback_board and before the detector's candidate. M5GFX reports a StampP4 candidate for any P4 board it cannot confirm, which would otherwise hide the build selection.
Remove the P4 GPIO checks from _check_boardtype() (G32 high: Tab5, G0 high: UnitPoEP4, otherwise StampP4). Both pins can be changed by user wiring; M5GFX now confirms UnitPoEP4 by its Ethernet PHY and reports Tab5 and StampP4 candidates. The P4 package default becomes StampP4 / StampP4X (by chip revision) instead of Tab5.
cfg.unit_poep4_display_out and cfg.external_display.unit_poep4_display_out replace the unit_poep4_hdmi names, which remain as deprecated members. - The two settings structures are separate members. If the deprecated one differs from its defaults it is used, with a warning. - Bit 9 of external_display_value is now unit_poep4_display_out; the deprecated flag moves to bit 10. Clearing either flag disables Display Out. A sketch that zeroes external_display_value and then sets only the deprecated flag no longer enables it.
This was referenced Oct 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Leave ESP32-P4 board identification to the M5GFX board detector (m5stack/M5GFX#343), and rename the PoE-P4 display output settings to Display Out. Requires M5GFX with #343.
Changes
_check_boardtype()(G32 high: Tab5, G0 high: Unit PoE-P4, otherwise Stamp-P4). User wiring can change both pins. M5GFX now confirms Unit PoE-P4 by its Ethernet PHY and reports Tab5 / Stamp-P4 candidates throughgetBoardCandidate().BOARD_ID31 (CoreP4X) and 35 (Tab5X), set by board-specific firmware builds, now apply aftercfg.fallback_boardand before the detector's candidate. Otherwise the Stamp-P4 candidate that M5GFX reports for any unconfirmed P4 board would hide them.cfg.unit_poep4_display_outandcfg.external_display.unit_poep4_display_outreplace theunit_poep4_hdminames, which remain as deprecated members.external_display_valueis nowunit_poep4_display_out; the deprecated flag moves to bit 10. Clearing either flag disables Display Out. A sketch that zeroesexternal_display_valueand then sets only the deprecated flag no longer enables it; use the new name.Tested
M5.getBoard()= 150 / 22 / 148.M5.getBoard()= Tab5 through the candidate.The
dependson M5GFX inlibrary.properties/library.jsonshould be raised to the release that contains M5GFX#343; without it, a newer M5Unified with an older M5GFX silently skips Display Out.