cancel
Showing results for 
Search instead for 
Did you mean: 

Font_verdana_20_4bpp_0.cpp: No such file or directory in TouchGFX Designer Tutorial 3 app

Louie88
Associate III

I am using STM32H747I-DISCO board, and this is the selected board in TouchGFX Designer.

I created the Tutorial 3 Applications with multiple Screens in TouchGFX Designer called DigitalClock app. I added Clock displays and UP/DOWN arrows with its virtual functions. The app works fine in Simulator, hours and minutes can be set to any value between 0-23 and 0-59 range. Overflows are handled right.

Even the DigitalClock runs fine in Visual Studio 2022 (C:\TouchGFXProjects\DigitalClock\CM7\TouchGFX\simulator\msvs\Application.sln). I can set breakpoints, check value of display buffers. It is amazing job guys. Congrats!

The problem begins when I connect the STM32H747I-DISCO board to my PC and I click Program and Run Target in TouchGFX Designer. It fails with a funny "No such file or directory" as the first error (There are other errors and all are related to generating fonts. The first error is

 

arm-none-eabi-g++: error: CM7/TouchGFX/generated/fonts/src/Font_verdana_20_4bpp_0.cpp: No such file or directory.

 

But I checked it. The file exists, it is readable and its content looks good to me. I attached the whole log what I got during executing Program and Run Target function in TouchGFX Designer.

I think I am not experienced enough (yet) to resolve this problem.

Best regards,
Louis

7 REPLIES 7
GaetanGodart
ST Employee

Hello @Louie88 ,

 

At which step are you trying to flash?

Are you able to create an empty project, add a textArea and flash?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
Louie88
Associate III

Hi Gaetan!

Thanks for watching this topic and thanks for your question.

The problem begins after I modify the typography or text of a used TextArea control, like changing font size or adding Wildcard Ranges to 0-9 or changing "New text" to "<value>". After these mods the app still "generates code", it runs in Simulator, but it won't run in the target board because of the describer error.

However, I think that I found that the problem is the cached FONTS and/or TEXTs. So, if I delete all the files from: 

 

../DigitalClock/CM7/TouchGFX/generated/fonts/cache
../DigitalClock/CM7/TouchGFX/generated/texts/cache

 

then the app compiles, it flashes and runs in the target board just fine. 

I guess that pressing the Program and run Target button should clean the Cache folders if the typography or text have been changed... Or the Code menu might need a Clear Cache Folders command... Or you know better solution than I...

Best regards,

Louis

 

Hello @Louie88 ,

 

I have only been able to replicate the issue when I add a wildcard without setting an ID to it.
If I set its ID it works fine.
If I change the font size it works fine.

Can you tell me which version of TouchGFX you are using?
Can you also check the reasons causing the issue.

If the only way of replicating the issue is when having a wildcard that look like "<value>" without ID, I guess it is normal, I am not sure what you would do with such wildcard.

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
Louie88
Associate III

Hi Gaetan,

I confirm that changing either font size or adding wildcard without ID (in Typography) causes the issue. I just followed ST's Tutorial 3, in which the Wildcard was used without ID and with <Value> text. Check it out!

In Screen1 when Hour Up button is clicked:

 

 

// DigitalClock
void Screen1View::buttonHourUpClicked()
{
    hour = (hour + 1) % 24; // Keep new value in range 0..23
    Unicode::snprintf(textAreaHourBuffer, TEXTAREAHOUR_SIZE, "%02d", hour);
    textAreaHour.invalidate();
}

 

 

Best regards,

Louis

PS: Sorry, I forgot it, I am using TouchGFX 4.24.2.

 

Hello @Louie88 ,

 

We will look into that.

Have you been able to find a work around to be able to develop your application?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
Louie88
Associate III

Hi Gaetan,

No, not really, but clearing the font and text caches always helps.

Best regards,

Louis

Hello @Louie88 ,

 

We have identified the reason for this wrong behavior and we will fix it a future release.

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)