I cant get my 128x128 ssd1351 screen module to work properly
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 ..
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.
images of wiring could be helpful, maybe also some information about used hardware/software ?
and when i simply boot it with: ./fbcp-ili9341 it only uses the lower part of the screen
When i start the compiled software it will only show a screen of 128x96 pixels
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..
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
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.. 😄
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
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:
which suggest that if 0x34 is not producing the right addressing for your display, then 0x24 or 0x32 should do it.
Thanks that seemed to work my last question is if there is a way to reduce ghosting and screen tearing
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.