gLCD (SSD1306) I2C missing bottom 9 lines/pixel rows

Any bugs you encounter with Flowcode should be discussed here.
Post Reply
ilikejam
Posts: 3
http://meble-kuchenne.info.pl
Joined: Thu Feb 11, 2021 9:46 pm

Flowcode v10 gLCD (SSD1306) I2C missing bottom 9 lines/pixel rows

Post by ilikejam »

I have encountered a problem when trying to use the whole of the display of the 128*64 gLCD (SSD1306) I2C. The bottom 9 rows from coordinates X1, Y55 to X128, Y64 don't display anything with Flowcode 10. I have tried using a different display module, using text, number and draw macros, changing interlacing, refresh mode, offsets, baud rate and the component library is up to date. Using the Command component macro with a value of 0xA5 does turn on all the pixels including the missing area (to test the display).

A simple program in Flowcode 8 calling a component macro to display a rectangle in the affected area does display correctly (see SSD1306 Flowcode 8.jpg), but the same program in Flowcode 10 only displays the very top of the rectangle (see SSD 1306 Flowcode 10.jpg). The simulation draws the rectangle in the 2D display when the flowchart is run in Flowcode 10.

The target device is a pic16F18857 and the compiler is the XC8 version in the pic8 toolchain installer from the Flowcode website and everything compiles ok.
Attachments
16F18857_24FC512_ssd1306.fcfx
(12.38 KiB) Downloaded 28 times
Display missing at bottom Flowcode 10
Display missing at bottom Flowcode 10
SSD1306 Flowcode 10.jpg (143.5 KiB) Viewed 1022 times
Displaying correctly Flowcode 8
Displaying correctly Flowcode 8
SSD1306 Flowcode 8.jpg (142.64 KiB) Viewed 1022 times

RTJNair
Posts: 7
Joined: Sat Dec 19, 2020 5:35 am

Re: gLCD (SSD1306) I2C missing bottom 9 lines/pixel rows

Post by RTJNair »

True, had the same problem. The last line in the 1.3" SSD1306 was missing and also it was very very slow. It is defenitely some bug within the new glcd component because the old program bin file worked fine.This happened when I tried few small changes for the display readout using the current glcd component Ver17.

The solution that I found in one of the forum discussion was to roll-back the glcd ssd1306-i2c to Ver13 (current one is 17).

I did that and the OLED display worked fine.

BenR
Matrix Staff
Posts: 1936
Joined: Mon Dec 07, 2020 10:06 am
Has thanked: 506 times
Been thanked: 688 times

Re: gLCD (SSD1306) I2C missing bottom 9 lines/pixel rows

Post by BenR »

Hello,

Thanks for letting us know on this. I've looked at the code and I can't see why this would be happening. I only have a 32-pixel high display so hard for me to replicate at the moment.

If you draw a line from 0,0 to 127,63 then what does that look like?

Are you using the new Refresh Mode Property (fast) or are you using the legacy draw mode? Would be interesting if this makes a difference and if the problem only exists in one mode. Note when Refresh Mode is set to Yes you need to add a RefreshDisplay macro call to update the display with things you have drawn.

Post Reply