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.
gLCD (SSD1306) I2C missing bottom 9 lines/pixel rows
-
- Posts: 3
- http://meble-kuchenne.info.pl
- Joined: Thu Feb 11, 2021 9:46 pm
gLCD (SSD1306) I2C missing bottom 9 lines/pixel rows
- Attachments
-
- 16F18857_24FC512_ssd1306.fcfx
- (12.38 KiB) Downloaded 28 times
-
- Display missing at bottom Flowcode 10
- SSD1306 Flowcode 10.jpg (143.5 KiB) Viewed 1022 times
-
- Displaying correctly Flowcode 8
- SSD1306 Flowcode 8.jpg (142.64 KiB) Viewed 1022 times
Re: gLCD (SSD1306) I2C missing bottom 9 lines/pixel rows
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.
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.
-
- 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
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.
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.
Regards Ben Rowland - MatrixTSL
Flowcode Online Code Viewer (Beta) - Flowcode Product Page - Flowcode Help Wiki - My YouTube Channel
Flowcode Online Code Viewer (Beta) - Flowcode Product Page - Flowcode Help Wiki - My YouTube Channel