Hi
I use in my project Zephyr ssd16xx driver with Waveshare epaper and LVGL and everything seems to be OK, but there is a strange behavior, when the e-paper works longer period (I saw that first, if I forgot my work in progress project running on my desk over night).
If the image is refreshed, then it is OK on the e-paper, but it starts to fade out after refresh. I take some pictures:
This is somewhat OK image, it has a little gray noise and perfect would it be with no noise (when the display stands off a while and then if I try again, then there is no noise on background)

This is after some sec:

I don't know if that is driver side or LVGL side problem. I use CAF for that project and epaper has its own module, where I refresh the data with timer.
My LVGL config is here:
# Enable SPI CONFIG_SPI=y #Enable display and LVGL CONFIG_DISPLAY=y CONFIG_SSD16XX=y CONFIG_LVGL=y CONFIG_LVGL_DISPLAY_DEV_NAME="SSD16XX" CONFIG_LVGL_HOR_RES_MAX=250 CONFIG_LVGL_VER_RES_MAX=122 CONFIG_LVGL_VDB_SIZE=100 CONFIG_LVGL_BITS_PER_PIXEL=1 CONFIG_LVGL_COLOR_DEPTH_1=y CONFIG_LVGL_ANTIALIAS=y CONFIG_LVGL_USE_LABEL=y CONFIG_LVGL_USE_CONT=y CONFIG_LVGL_FONT_MONTSERRAT_12=y CONFIG_LVGL_FONT_MONTSERRAT_20=y CONFIG_LVGL_FONT_MONTSERRAT_30=y CONFIG_LVGL_FONT_MONTSERRAT_38=y CONFIG_LVGL_FONT_MONTSERRAT_48=y CONFIG_LVGL_LOG_LEVEL_ERR=y
project overlay:
/ {
chosen {
zephyr,display = &ssd16xx;
};
&spi1 {
status = "okay";
sck-pin = <8>;
mosi-pin = <6>;
miso-pin = <15>;
cs-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
ssd16xx: ssd16xxfb@0 {
compatible = "solomon,ssd16xxfb";
label = "SSD16XX";
spi-max-frequency = <4000000>;
reg = <0>;
width = <250>;
height = <122>;
pp-width-bits = <8>;
pp-height-bits = <16>;
dc-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
busy-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
supply-gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
gdv = [03];
sdv = [40 a8 32];
vcom = <0x55>;
border-waveform = <0x03>;
softstart = [D7 D6 9D];
lut-initial = [
80 60 40 00 00 00 00
10 60 20 00 00 00 00
80 60 40 00 00 00 00
10 60 20 00 00 00 00
00 00 00 00 00 00 00
03 03 00 00 02
09 09 00 00 02
03 03 00 00 02
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00
];
lut-default = [
00 00 00 00 00 00 00
80 00 00 00 00 00 00
40 00 00 00 00 00 00
80 00 00 00 00 00 00
00 00 00 00 00 00 00
0A 00 00 00 04
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00
00 00 00 00 00
];
};
};
epaper module is inspired from LVGL example.