DLO-138 icon indicating copy to clipboard operation
DLO-138 copied to clipboard

Blank screen (lii9325)

Open AlivE-git opened this issue 1 year ago • 7 comments

Hi. I have a white screen issue. "afio_cfg_debug_ports(AFIO_DEBUG_NONE)" and "disableDebugPorts()" don't help. But the factory firmware works fine. Also, the serial port works fine, so the problem is definitely with the display. I tried to build the firmware from the sources, as well as precompiled binaries from the repository. Perhaps some hardware modification is needed?

AlivE-git avatar Jun 10 '23 20:06 AlivE-git

So, in my case, the display controller is lii9325. If I change it in the tft.display function it starts working, but it looks like fillScreen is not working properly. I tried the examples taken from the Adafruit_TFTLCD_8bit_STM32 library repository, they also do not work correctly. photo_2023-06-12_16-44-07

AlivE-git avatar Jun 12 '23 13:06 AlivE-git

I think I have the same display or variant. Looking at the ribbon cable under the screen it says CL9325-115. TFT board is PN 109-13700-00A1.

I tried adding #include "src/TFTLib/ili932x.h" to DLO-138 and put tft.begin(0x9325); in display; I get some upside down images not quite drawn correctly. Well, it is better than just white screen.

kittenarmy avatar Oct 29 '23 19:10 kittenarmy

After updating to Adafruit GFX 1.2.7 library I get some waveform too. But still upside down and draw problems.

IMG_0531

Setting getrotate to landscape 3 to flip it, also uncommented the breakout since we don't have breakout board on DSO-138, now I can see some more text (sampling), but still some small text is not visible i.e. when it boots it only displays "DLO-138" and the bottom row with voltage etc never displays.

IMG_0535

I may try SPI instead as the TFT and later Adafruit supports it, however already I notice how slow the oscilloscope feels compared to stock firmware.

kittenarmy avatar Oct 29 '23 22:10 kittenarmy

So, in my case, the display controller is lii9325. If I change it in the tft.display function it starts working, but it looks like fillScreen is not working properly. I tried the examples taken from the Adafruit_TFTLCD_8bit_STM32 library repository, they also do not work correctly. photo_2023-06-12_16-44-07

Comparing this project code to Adafruit_TFTLCD_8bit_STM32 there's sections that could be causing some elements to display upside down like in your second picture. Additionally there is some 8bit or 32bit vs originally 16bit variables that could be messing with display.

kittenarmy avatar Nov 12 '23 18:11 kittenarmy

I haven't looked into the project for a long time, but the screen has worked for me. I replaced "tft.begin(0x9341)" with "tft.begin(0x9325)", "tft.setRotation(LANDSCAPE)" with "tft.setRotation(3)", "tft.full Screen(ILI9341_BLACK)" with "tft.fillRect(0, 0, TFT_WIDTH, TFT_HEIGHT, ILI9341_BLACK);". But the oscilloscope was not working correctly. The values on the display were updated only by pressing the keys. There may be a problem with interrupts.

AlivE-git avatar Nov 12 '23 19:11 AlivE-git

I've been poring over the code and it seems like the main problem is fillScreen GFX function isn't working. Everything else is drawing correctly. It's just a mess without fillScreen. But there is a snag, fillScreen function seems to rely on setAddrWindow but for me I can't call it directly or it crashes.

kittenarmy avatar Nov 14 '23 12:11 kittenarmy

I replaced fillScreen with fillRect and that helped, but I'm still missing a lot of the size1 text. foto_no_exif(4)

Not sure why the text isn't working, I can get these functions to work fine in a simple sketch. I see on your pics this small text from banner is displaying, whereas I only get DLO-138 in a box.

kittenarmy avatar Dec 21 '23 23:12 kittenarmy