This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Display with st7735

Hi,

I want to display a picture with a screen (80x160) with st7735 and sdk 15.3 (segger embedded.) 

I have some problems.

I use the function nrf_gfx_bmp565_draw, so I need to convert my picture into an array (16bit per pixel). For that, I use ImageConverter565 v2. Then, I transmit this array to the third parameter of nrf_grx_bmb565_draw. I can see my picture on the screen but it's returned, like this:

 (p61, data sheet st7735). I don't understand why because I left the default setting of st7735.c, so I have:

#define ST7735_MADCTL  0x36
[...]
#define ST7735_MADCTL_MY 0x80
#define ST7735_MADCTL_MX 0x40
#define ST7735_MADCTL_MV 0x20
#define ST7735_MADCTL_ML 0x10
#define ST7735_MADCTL_RGB 0x00
#define ST7735_MADCTL_BGR 0x08
#define ST7735_MADCTL_MH 0x04
 

Plus, the colors are not correct. RGB is replaced by Cyan Yellow and Magenta. So I reversed the colors with this line:

nrf_gfx_invert(p_lcd, true);

I can see red green and blue but red and blue are reversed. So, I try to change ST7735_MADCTL  to 0x00, but nothing changes and I don't understand why.

I use LH096T-IG11 (screen) so its size is 80x160. I changed ST7735_WIDTH in sfk_config:

#define ST7735_WIDTH 80 

But the picture doesn't display on the upper left corner, there is an offset about 20px on the horizontal axis.

I don't know how can I solve these issues. 

Thanks, 

Lydie

Related