Skip to content

Fix Seeed E1003 BLE upload hang and 4bpp white background#48

Open
davelee98 wants to merge 1 commit into
OpenDisplay:mainfrom
davelee98:release-1.81
Open

Fix Seeed E1003 BLE upload hang and 4bpp white background#48
davelee98 wants to merge 1 commit into
OpenDisplay:mainfrom
davelee98:release-1.81

Conversation

@davelee98

Copy link
Copy Markdown
Contributor

Summary

  • Seeed E1003 BLE upload hang (regression since 1.73): configureDisplayPinsLowPower() drove RST LOW unconditionally during pwrmgm(false). On Seeed E1003 panels (types 3000/3001) with no pwr_pin, the IT8951 TCON stays powered via ite_enable/tft_enable. RST LOW puts the IT8951 into hardware reset, holding BUSY LOW. The tconWaitForReady() call inside wake() at the start of every BLE upload then blocked for the full 15-second timeout — long enough for the BLE connection to drop before the initial ACK was sent. Fix: gate configureDisplayPinsLowPower() on pwr_pin != 0xFF (no power rail being cut = no reason to drive lines low), and add RST de-assertion to the Seeed pwrmgm(true) branch for devices that do have a power pin.
  • 4bpp gray white background fix: Added kSchemeWhiteValue to enumerate the correct white pixel value per color scheme for the boot screen. Replaced magic numbers with named constants for color_scheme throughout.

Test plan

  • BLE image upload to Seeed E1003 (panel type 3000 or 3001) completes without timeout — ACK 0x00 0x70 received within 1 second of upload start command
  • Boot screen renders correct white background on 4bpp gray panels
  • Non-Seeed panel BLE upload unaffected
  • Deep sleep current unchanged on hardware with pwr_pin set (configureDisplayPinsLowPower still runs for those)

🤖 Generated with Claude Code

…cheme for bootscreen routine, fixing white background for 4bpp gray. Used the new named #DEFINE constants for color_Scheme everwhere there were magic numbers. Also fixed bug since 1.73 where SEEED E1003 panels (display type 3000/3001) were getting stuck and never updating on BLE update due to reset pin being held low due to power saving and causing timesouts.
@davelee98 davelee98 requested a review from jonasniesner as a code owner June 30, 2026 04:08
@davelee98

Copy link
Copy Markdown
Contributor Author

fixed two separate issues as per claude. more complete fix on dealing with the white background on 4bpp panel, but generalized to all color schemes. Also fixed E1003 not working from 1.73 onwards due to power saving logic failing on SEEED driver branch (when combined with 10" panel.) Need to make sure this doesn't break anything else, (it shouldn't.) as it shouldn't touch the NRF driver path.

@davelee98

Copy link
Copy Markdown
Contributor Author

probably need to also test whether power saving still works.

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.

1 participant