Sunday, March 18th 2018, 6:28pm UTC+1

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.



Date of registration: Sep 21st 2015

Posts: 2

Location: Russia


Thursday, September 24th 2015, 8:40pm

FlexColor M565 and SSD1963

Dear all,
I'm working on a STemWin based device with 4.3" 480x272 LCD driven by SSD1963 in M565 mode. The problem is - displayed colors don't match their equivalents in source code. For example, If I want to make my text red (GUI_RED) it's displayed as black and so on. I tried to figure out and found one (in my opinion) mismatch.

Fact #1: I use FlexColor driver configured in following way:

C/C++ Source code

pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0);
GUIDRV_FlexColor_SetReadFunc66720_B16( pDevice, GUIDRV_FLEXCOLOR_READ_FUNC_II );

The documentation (at the very bottom) says that if use use TYPE2 to communicate with SSD1963 then outgoing graphical data will be in R[4:0] G[5:0] B[4:0] format.

Fact #2: The SSD1963 documentation says on page 17/93 (Table 7.1 Pixel Data Format) that in 565-mode it expects to receive the graphical data in the following format: R[5:1] G[5:0] B[5:1].

As you may see R- and B- pixel components are probably being send in wrong format. So the question is: does the FlexColor driver make left shift for both components and it's just a documentation misunderstanding or can it be the source of my errors? If FlexColor is ok what else can I do to make the LCD more colorful?

Thanks in advance :)



Date of registration: Jun 29th 2015

Posts: 6

Location: Russia Khakassia


Monday, September 28th 2015, 5:58pm

I had a similar Problem. I do not set up correctly initialize ssd1963. I did not have a red color. I thought that the screen is defective. My screen ("glass") 24 bit and I set the controller ssd1963 to another mode (18-bit). Check parameter
LcdWriteReg (set_lcd_mode);
A [5]:TFT panel data width (POR = 0)
0 18-bit
1 24-bit

Similar threads