Display issue when flashing through PlatformIO
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
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
@chihebdev Did you figure this issue out?
@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.
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.
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