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: Screen updates  (Read 4712 times)

koyocik88

  • Newbie
  • *
  • Posts: 2
    • View Profile
Screen updates
« on: March 11, 2024, 10:32:59 AM »

Hello!

I'm trying to find a way how to update part of displayed screen (i.e. change only some values on displayed screen or status of displayed button). I don't want each time send whole display list. I found a document "APPLICATION NOTE AN_340 FT800_Optimising screen updates with Macro and Append" given by Bridgtech.
In my example I want change only values for displayed labels. Could you advise me if gives other possibility how to update choose parts of the showed screen ?

Code: [Select]
void showScreen ()
{
uint32_t coordinates = Gpu_Hal_Rd32(phost, REG_TOUCH_SCREEN_XY);
uint8_t Read_tag = Gpu_Hal_Rd8(phost, REG_TOUCH_TAG);
uint16_t x_coordinate, y_coordinate;

x_coordinate = (coordinates >> 16);
y_coordinate = coordinates;

Gpu_CoCmd_Dlstart(phost); //Start the display list

App_WrCoCmd_Buffer(phost, CLEAR(1, 1, 1)); //Command CLEAR is recommended to be used before any other drawing operation,
//in order to put the graphics engine in a known state.
//The end of the display list is always flagged with the command DISPLAY


Gpu_CoCmd_Gradient(phost,0, 0, 0x636363UL, 0, DispHeight, 0x222222UL);

Gpu_CoCmd_Number(phost, 20, 20, 28 , 0, coordinates);
Gpu_CoCmd_Number(phost, 20, 40, 28 , 0, x_coordinate);
Gpu_CoCmd_Number(phost, 20, 60, 28 , 0, y_coordinate);
Gpu_CoCmd_Number(phost, 20, 80, 28 , 0, Read_tag);

App_WrCoCmd_Buffer(phost, DISPLAY()); //instruct the graphics processor to show the list
Gpu_CoCmd_Swap(phost); //make this list active
App_Flush_Co_Buffer(phost);
Gpu_Hal_WaitCmdfifo_empty(phost);
}

Thank you in advance!
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 746
    • View Profile
Re: Screen updates
« Reply #1 on: March 11, 2024, 11:18:00 AM »

Hello,

Yes, the append technique in AN_340 is one of the best ways to do this,

Which EVE device do you use? The BT817/8 also have a more advanced version of this where you can store sections of command list (as well as section of display list) and this can make it even easier

However, the Append can be used on all EVE devices in any case if you use other models apart from BT817/8.

We also have an example of the same technique as AN_340 where we draw the chart line and the numerical values here using append whilst the other static items are stored:
https://brtchip.com/wp-content/uploads/Support/Documentation/Application_Notes/Modules/EVE/AN_356-FT800-Interfacing-I2C-Sensor-to-VM800P.pdf

Best Regards, BRT Community
Logged

koyocik88

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Screen updates
« Reply #2 on: March 27, 2024, 09:13:56 AM »

Hello,

I tested append technique, as you suggested. It is really the best way.

Thank you!
Logged

BRT Community

  • Administrator
  • Hero Member
  • *****
  • Posts: 746
    • View Profile
Re: Screen updates
« Reply #3 on: March 29, 2024, 09:57:48 AM »

Hello,

Great to hear that it helped and thanks for letting us know,

Best Regards, BRT Community
Logged