FlexColor M565 and SSD1963

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • 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 Source Code

    1. pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0);
    2. GUIDRV_FlexColor_SetReadFunc66720_B16( pDevice, GUIDRV_FLEXCOLOR_READ_FUNC_II );
    3. GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66720, GUIDRV_FLEXCOLOR_M16C0B16);


    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 :)
  • 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