BRT Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

Welcome to the Bridgetek Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ Bridgetek Support

Please refer to our website for detailed information on all our products - Bridgetek - Bridging Technology

Author Topic: problem with API_COLOR_RGB / display settings  (Read 12686 times)

rsc

  • Newbie
  • *
  • Posts: 10
    • View Profile
problem with API_COLOR_RGB / display settings
« on: May 23, 2019, 09:26:48 AM »

hi,

we are using FT813 and pic32mz... on own app-board for our application.
Used display is AT070MP01

timing parameters:
// AT070MP01
    lcdWidth   = 800;                                                           // Active width of LCD display
    lcdHeight  = 480;                                                           // Active height of LCD display
    lcdHcycle  = 960;                                                           // Total number of clocks per line
    lcdHoffset = 88;   // lcdHoffset < (lcdHcycle - lcdWidth)                   // Start of active line
    lcdHsync0  = 0;                                                             // Start of horizontal sync pulse
    lcdHsync1  = 48;                                                            // End of horizontal sync pulse
    lcdVcycle  = 528;                                                           // Total number of lines per screen
    lcdVoffset = 32;   // lcdVoffset < (lcdVcycle - lcdHeight)                  // Start of active screen
    lcdVsync0  = 0;                                                             // Start of vertical sync pulse
    lcdVsync1  = 3;                                                             // End of vertical sync pulse
    lcdPclk    = 2;                                                             // Pixel Clock
    lcdSwizzle = 0;                                                             // Define RGB output pins
    lcdPclkpol = 0;                                                             // Define active edge of PCLK

For quick start we are using code from Application Note BRT_AN_014,
FT81X examples using the Microchip PIC microcontroller as the SPI master
with API_Layer, EVE_Layer and MCU_Layer.

Displayd App-Code:
void RSC_Text(void)                                                         
{
    API_LIB_BeginCoProList();                                                   // Begin new screen
    API_CMD_DLSTART();                                                          // Tell co-processor to create new Display List
       
    API_CLEAR_COLOR_RGB(0, 0, 0);                                               // Specify color to clear screen to
    API_CLEAR(1,1,1);                                                           // Clear color, stencil, and tag buffer
   
    API_COLOR_RGB(255, 255, 255);                                               // Set color to white
    API_CMD_TEXT(80, 30, 30, 0, "1) This is a test string! what is going wrong?");                                      // Draw the text string
   
    API_COLOR_RGB(180, 180, 180);                                               // Set color to white
    API_CMD_TEXT(80, 80, 30, 0, "2) This is a test string! what is going wrong?");                                      // Draw the text string
   
    API_COLOR_RGB(180, 180, 0);                                               // Set color to white
    API_CMD_TEXT(80, 130, 30, 0, "3) This is a test string! what is going wrong?");                                      // Draw the text string
   
    API_COLOR_RGB(0, 180, 180);                                               // Set color to white
    API_CMD_TEXT(80, 180, 30, 0, "4) This is a test string! what is going wrong?");
   
    API_COLOR_RGB(191, 191, 191);                                               // Set color to white
    API_CMD_TEXT(80, 230, 30, 0, "5) This is a test string! what is going wrong?");
   
    API_COLOR_RGB(0, 180, 0);                                               // Set color to white
    API_CMD_TEXT(80, 280, 30, 0, "6) This is a test string! what is going wrong?");
   
    API_COLOR_RGB(180, 0, 0);                                               // Set color to white
    API_CMD_TEXT(80, 330, 30, 0, "7) This is a test string! what is going wrong?");
   
    API_COLOR_RGB(200, 191, 190);                                               // Set color to white
    API_CMD_TEXT(80, 380, 30, 0, "8) This is a test string! what is going wrong?");
   
    API_COLOR_RGB(0, 0, 180);                                               // Set color to white
    API_CMD_TEXT(80, 430, 30, 0, "9) This is a test string! what is going wrong?");
     
 
    API_DISPLAY();                                                              // Tell EVE that this is end of list
    API_CMD_SWAP();                                                             // Swap buffers in EVE to make this list active

    API_LIB_EndCoProList();                                                     // Finish the co-processor list burst write
    API_LIB_AwaitCoProEmpty();                                                  // Wait until co-processor has consumed all commands

    //APP_SnapShot2PPM();                                                       // Un-comment to take snapshot (see BRT_AN_014)
   
    while(1)
    {
    }
}

After successfully init we display same strings on display with different
text colors (see appendix).

Problem: if R > 190, G > 190, B > 190 there are distortions in the text to see with
API_COLOR_RGB( R, G, B );
Distortions on displayd lines 1), 5).

Does anyone have any hints?

Best regards
rsc
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 742
    • View Profile
Re: problem with API_COLOR_RGB / display settings
« Reply #1 on: May 27, 2019, 02:47:04 PM »

Hi,

We will test it out here on one of our modules and see if we can reproduce the issue.

Best Regards, BRT Community
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 742
    • View Profile
Re: problem with API_COLOR_RGB / display settings
« Reply #2 on: May 29, 2019, 03:44:10 PM »

Hi,

We tested it here with ME813A module but we were unable to see the issue. The text was all displaying correctly. Could you post an image of the corruption which you saw (or send to support.emea@brtchip.com if you prefer) ?     It might be something in the display settings - do all items (such as points and lines) also show corruption when any of the colours is greater than 190?

Best Regards,
BRT Community



Logged

rsc

  • Newbie
  • *
  • Posts: 10
    • View Profile
Re: problem with API_COLOR_RGB / display settings
« Reply #3 on: June 03, 2019, 08:32:05 AM »

Hi,

corruption on screen if colours >190 on own board with ft813 and pic32mz2048efm144.

1)   Text APP_Text example with changes for a better indication of the error

API_COLOR_RGB(255,255,255); // terrible
API_COLOR_RGB(190,190,190); // ok

>> do all items (such as points and lines) also show corruption when any of the colours is greater than 190? <<
-   it looks like it's just in connection with text

Thank you in advance.

Best regards,
rsc
Logged

rsc

  • Newbie
  • *
  • Posts: 10
    • View Profile
Re: problem with API_COLOR_RGB / display settings
« Reply #4 on: June 04, 2019, 09:23:13 AM »

Hi,

I solved the problem. PCLK for LCD LVDS driver requires a R_pullup or R_pulldown to use rising/falling edge triggered clocking. Both were placed on PCB. I removed R_pulldown and it works.

Best regards
rsc
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 742
    • View Profile
Re: problem with API_COLOR_RGB / display settings
« Reply #5 on: June 05, 2019, 11:21:28 AM »

Hi,

We're pleased that you found the issue and have resolved it.

Just a few points to note if anyone else sees colour-dependent issues:

  • This is often related to display settings and so check your display's RGB timings/polarity/PCLK rate in the display datasheet
  • Check the Swizzle setting in case your board uses the RGB lines in a different order (Swizzle allows you to set various options for bit order and R/G/B colour order on the RGB pins to make PCB layout easier)
  • If displaying bitmaps/images check that you have set COLOR_RGB to 255/255/255 before displaying the image as other colour settings will have a similar effect to looking at the image through coloured glass.

 Best Regards, BRT Community
Logged