I am not using an UTF-8 code to not extra complicate things.
With this:
Code: [Select]
{
static uint32_t alive = 0;
if(tft_active != 0U)
{
EVE_cmd_dl(CMD_DLSTART);
EVE_cmd_dl(DL_CLEAR_COLOR_RGB | WHITE);
EVE_cmd_dl(DL_CLEAR | CLR_COL | CLR_STN | CLR_TAG);
EVE_color_rgb(BLACK);
for(uint8_t lines = 0; lines < 15; lines++)
{
EVE_cmd_text(10, 10 + lines * 30, 28, 0, "123456789!123456789!123456789!");
EVE_cmd_text(400, 10 + lines * 30, 28, 0, "123456789!123456789!123456789!");
}
EVE_cmd_number(150, 570, 28, 0, alive++);
EVE_color_rgb(BLACK);
EVE_cmd_number(100, EVE_VSIZE - 30, 26, EVE_OPT_RIGHTX, display_list_size); /* number of bytes written to the display-list by the command co-pro */
EVE_cmd_dl(DL_DISPLAY);
EVE_cmd_dl(CMD_SWAP);
EVE_execute_cmd();
}
}
I do get 15 lines of text just fine, no problem.
But I "only" get 5284 printed for the size of the display list.
Increasing the lines to 19 this passes 7000 depending on the value of the alive counter.
And yes, still no issue.
Modifying the loop to this:
Code: [Select]
for(uint8_t lines = 0; lines < 16; lines++)
{
EVE_cmd_text(10, 10 + lines * 30, 28, 0, "123456789!123456789!123456789!123456789!");
EVE_cmd_text(490, 10 + lines * 30, 28, 0, "123456789!123456789!123456789!123456789!");
}
It gets up to 8052 - no issue.
Modifying the alive counter to run from 1000 to 9999 to avoid extra digits and adding one extra line:
EVE_cmd_text(10, 540, 28, 0, "123456789!123");
Results in a display list of 8184 bytes.
So well yes, I need more text to get there, but like this I can really use the full display list.
No flickering, just works this way.