Zephyr ssd16xx driver and epaper refresh

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.

Parents Reply Children
No Data
Related