cancel
Showing results for 
Search instead for 
Did you mean: 

How to permanently change the pre-generated TouchGFX project directory structure?

HTD
Senior III

The issue:

The directory structure generated by TouchGFX for 2 core STM32H747 is just very complicated.

By complicated I mean it's not only difficult to navigate for me as a user, but also for IDEs like STM32CubeIDE, VSCode and its various C++ plugins.

Let me explain:

Let's say we have a Startup Screen.

The view source file is located in gui/src/startup_screen/StartupView.cpp file.

The view header file is located in gui/include/gui/startup_screen/StartupView.hpp file.

(The gui directory is located in /CM7/TouchGFX, but that's fine.)

I configured VSCode to see the includes properly and even installed an extension that understands that convoluted folder structure and it's capable of quickly switch between headers and source. However - implementing functions extension can't do the trick, it still can't find the source.

I can manually move the source and header files to whatever location I like and it will compile, however, the TouchGFX will stop cooperating with such modified project 😉

What I'm looking for is internal map used for TouchGFX to generate the folder structure.

I want to learn the process that is happening when a new project for a board is created. I'm just a noob here, so I also want to learn how to create such project without pre-built board setup. Let's say I design my own STM32 based board with custom chips. Let's forget for a while about custom display driver, it's another story. I wonder how could I create a project that TouchGFX Designer could generate the UI for.

My first steps were like this: I created a new project in TouchGFX Designer (I chose my Discovery board from the menu), then configured and developed it in STM32CubeIDE, then designed a GUI for it using TouchGFX Designer. What are the other options?

Could I just start the new project in STM32CubeIDE and then somehow add TouchGFX Designer to it?

How does TouchGFX designer know where it should place its generated files?

I also noticed that it automatically updates LINKS for the STM32CubeIDE. BTW, they are generated in ONE DIRECTORY, that is a great help.

My question is: where is it all configured and what are the options for changing such configuration?

1 ACCEPTED SOLUTION

Accepted Solutions
Osman SOYKURT
ST Employee

Hi HTD,

Starting a project outside TouchGFX Designer is totally possible. You can use STM32CubeMX and start your project from there. Then you will incude TouchGFX component and that will allows you to design your app. We have a video on our Youtube channel that explains it very well, I invite you to have a look at it 😉

"However - implementing functions extension can't do the trick, it still can't find the source.

 I can manually move the source and header files to whatever location I like and it will compile, however, the TouchGFX will stop cooperating with such modified project ;)"

--> Sorry but I didn't understand what you mean here, can you elaborate more please ?

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX

View solution in original post

1 REPLY 1
Osman SOYKURT
ST Employee

Hi HTD,

Starting a project outside TouchGFX Designer is totally possible. You can use STM32CubeMX and start your project from there. Then you will incude TouchGFX component and that will allows you to design your app. We have a video on our Youtube channel that explains it very well, I invite you to have a look at it 😉

"However - implementing functions extension can't do the trick, it still can't find the source.

 I can manually move the source and header files to whatever location I like and it will compile, however, the TouchGFX will stop cooperating with such modified project ;)"

--> Sorry but I didn't understand what you mean here, can you elaborate more please ?

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX