fbcp-ili9341 icon indicating copy to clipboard operation
fbcp-ili9341 copied to clipboard

I cant get my 128x128 ssd1351 screen module to work properly

Open jaleck0 opened this issue 3 years ago • 11 comments

I am currenlty trying to get this screen to work: https://www.waveshare.com/1.5inch-rgb-oled-module.htm

my cmake code that i used was:

cmake -DSSD1351=ON -DGPIO_TFT_DATA_CONTROL=25 -DGPIO_TFT_RESET_PIN=24 -DSPI_BUS_CLOCK_DIVISOR=30 -STATISTICS=0 ..

jaleck0 avatar Dec 20 '20 21:12 jaleck0

That looks good, nothing stands out on the command line. If no other troubleshooting items help, try verifying the display using a different driver to double check physical connection.

juj avatar Dec 21 '20 06:12 juj

images of wiring could be helpful, maybe also some information about used hardware/software ?

ozett avatar Dec 21 '20 09:12 ozett

and when i simply boot it with: ./fbcp-ili9341 it only uses the lower part of the screen

jaleck0 avatar Dec 21 '20 20:12 jaleck0

When i start the compiled software it will only show a screen of 128x96 pixels

jaleck0 avatar Dec 22 '20 01:12 jaleck0

may the developer can help? may you tried to set the hmdi screen to the oled size? do this in /boot/config.txt see readme.md for details..

ozett avatar Dec 22 '20 10:12 ozett

This is now in my config.txt:

hdmi_group=2 hdmi_mode=87 hdmi_cvt=128 128 60 1 0 0 0 hdmi_force_hotplug=1

maybe i need to so something in the ssd1351.h or ssd1351.cpp before compiling

jaleck0 avatar Dec 22 '20 13:12 jaleck0

i searched a lot to get my display going. at the end it was only 1 line, but i learned a lot.

maybe try another init from a python lib? https://github.com/rdagger/micropython-ssd1351/blob/master/ssd1351.py#L90

the sd1351.h has some notes, that the cursor starts where it was left off... maybe investigate there? https://github.com/juj/fbcp-ili9341/blob/master/ssd1351.h#L25

i just can make general annotations, i was considering to buy such an oled, but instead i bought 3x tft.. hope you get it going and can post some pictures of the display with animations.. 😄

ozett avatar Dec 22 '20 14:12 ozett

apperently i had to change a certain value within ssd1351.cpp from 95 to 127 but now the screen has rotated 90 degrees and its mirrored

jaleck0 avatar Dec 22 '20 15:12 jaleck0

It reads like you got it going with some pixels at least.

Reading https://github.com/juj/fbcp-ili9341/blob/662e8db76ba16d86cf6fd09d85240adc19e62735/ssd1351.cpp#L36 it suggests there is a vertical swap directive in there. Try changing the 0x34 to 0x24, or maybe to 0x32.

Datasheet is available here: https://www.newhavendisplay.com/app_notes/SSD1351.pdf . It has the following about addressing modes:

Screen Shot 2020-12-23 at 8 36 45 AM Screen Shot 2020-12-23 at 8 36 35 AM

which suggest that if 0x34 is not producing the right addressing for your display, then 0x24 or 0x32 should do it.

juj avatar Dec 23 '20 06:12 juj

Thanks that seemed to work my last question is if there is a way to reduce ghosting and screen tearing

jaleck0 avatar Dec 24 '20 14:12 jaleck0

See the documentation section about Screen Tearing at https://github.com/juj/fbcp-ili9341#about-tearing.

Ghosting is an effect of the voltages and refresh rate timings that the panel is driven at. Some displays have specific controls for operating voltages, others do not. The datasheet for SSD1351 above does list some voltage related commands, you can try playing around with those to see if any of them has an effect.

juj avatar Dec 27 '20 17:12 juj