Screen updates

FTDI/Bridgetek EVE2 & EVE3 & EVE4 SPI TFT Series by Matrix Orbital

Moderator: Mods

Post Reply
koyocik88
LCD?
Posts: 1
Joined: Thu Mar 07, 2024 12:48 am

Screen updates

Post by koyocik88 »

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 all

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!

Raquel
Matrix Orbital
Matrix Orbital
Posts: 805
Joined: Thu Aug 19, 2004 3:37 pm
Location: MO Office

Re: Screen updates

Post by Raquel »

Hello koyocik88,

Thank you for posting on the forum.

The important thing to note on macros:
The macro feature is only suitable for use with display lists and not as part of a co-processor list, as the co-processor would regard the Macro command parameters as values rather than pointers to the REG_MACRO_x registers.

I imagine what you are trying to change on your display list are the numbers.
Perhaps you may want to check Append instead (in the same application note, they have a sample there).

Hope this helps.
Thank you.
Raquel Malinis
Design and Development
Matrix Orbital

Post Reply