clockwise icon indicating copy to clipboard operation
clockwise copied to clipboard

Display issue when flashing through PlatformIO

Open chihebdev opened this issue 2 months ago • 5 comments

I'm having a small issue setting up the display when I burn the firmware through the web it works but using PlatformIO no matter what theme I use it gives me two lines of LED and the rest blank see attached picture.

I cloned the repo and every time I just copy the clockfaces to the lib no major changes done for wiring I used the same here with a 64*64 RGB hub75 display

Image

chihebdev avatar Oct 15 '25 00:10 chihebdev

It can be related with the "E" pin, these two lines are the two blocks that E pin controls. There is some new code in codebase as well, I will take a look today evening

jnthas avatar Oct 15 '25 12:10 jnthas

@chihebdev Did you figure this issue out?

krzimmer avatar Oct 24 '25 18:10 krzimmer

@krzimmer I haven’t pinned down the exact issue yet, but removing the following code made the display work again for now.

Basically, I commented out the sections related to:

displaySetup(...) → the dynamic pin and driver configuration logic

automaticBrightControl() → the LDR-based brightness adjustment

all Wi-Fi, NTP, and web-related setup (wifi.begin(), cwDateTime.begin(), ClockwiseWebServer::getInstance()->handleHttpRequest())

After stripping those out and using a simplified displaySetup() with fixed pin assignments, the HUB75 panel initialized and displayed correctly.

So it seems the problem is somewhere in that display configuration or brightness control code, but removing it gets it running for now.

chihebdev avatar Oct 26 '25 06:10 chihebdev

I found a way that when I comment out // pinMode (ClockwiseParams:: getInstance() ->ldrPin, INPUT); in the main.cpp, no other code needs to be modified and the screen works properly. I have not connected to LDR and cannot find the reason why this code is affecting work. And I tried the main branch, version 1.4.2, and e701d4a branch, but the original code did not work properly after being compiled on the platform. After executing the above modifications, everything can function normally.

KayXin avatar Oct 29 '25 06:10 KayXin

displaySetup(ClockwiseParams::getInstance()->swapBlueGreen, ClockwiseParams::getInstance()->swapBlueRed, ClockwiseParams::getInstance()->displayBright, ClockwiseParams::getInstance()->displayRotation, driver, i2cSpeed, E_pin);
clockface = new Clockface(dma_display);

autoBrightEnabled = (ClockwiseParams::getInstance()->autoBrightMax > 0);

if (autoBrightEnabled && ClockwiseParams::getInstance()->ldrPin > 0) {
pinMode(ClockwiseParams::getInstance()->ldrPin, INPUT);
}

StatusController::getInstance()->clockwiseLogo();
delay(1000);

I have modified the code again, and once the LDR is delivered, I will test the functionality of the current code

KayXin avatar Oct 29 '25 06:10 KayXin