Forum: System Workbench for STM32

BSP_TS_Init and StemWin ..

Hi guys
know this is a trivial quistion but i can simply not see the failure

I make a new workspace
i import from stm32f7cube the stemwin exsample and it compile in first shot..

Then want to call BSP_TS_Init because now i am fair to the graphich stemwin and now need the mouse..
But the compiler can not find...of course i #include “stm32746g_discovery_ts.h” in then main.c ....but it van not find..
Then i open the included main.h file and #include “stm32746g_discovery_ts.h” there !!
And just to check i did ctrl+H and it show me that it can find BSP_TS_Init where it is define in ...stm32746g_discovery_ts.h

why can the compiler not see BSP_TS_Init ?

see atached print screen..

Please a hint

Hjalmar

Hi Hjalmar,

I just did import the example project. The “stm32746g_discovery_ts.c” and the “Components” directory (maybe other file for more features) are also missing from this example project.

To add “stm32746g_discovery_ts.c”, on your project, in Drivers\BSP\STM32746G_DISCOVERY, in the menu, click on New > File > Advanced, check “Link to file in the file system” then browse the “stm32746g_discovery_ts.c” file from the firmware (which should be in ....STM32Cube_FW_F7_V1.1.0\Drivers\BSP\STM32746G-Discovery)

To add the components, just copy paste the components directory (in ....STM32Cube_FW_F7_V1.1.0\Drivers\BSP\Components) into the project, in Drivers\BSP

Hope it solve your problem.

Kevin.


HI Kevin
Thanks for your post ...
I did find that solution my self, but really not understand couse if you take a look on the include dir in the project proberties in c/c++ general / path and symbols you will find that the directory with these files are in the include..

Why do we also need them in the project folder ?

BUT ...my bsp touch are now working together with StemWin so now i will make my cool project ;o)

Hjalmar


France

Hi Hjalmar,

Part of the problem with include files is that CubeMX generated the project using relative path names for the include directories; this is thus only working from Eclipse itself, but not when passed to the compiler as they are then relative to the directory in which the file is compiled (Debug/Applications/Xxxx for example) and this change from file to file so relative path names are really unusable.

To solve correctly this problem, you should (for all include directories in “Project” >> Properties >> C/C++ General >> Paths and Symbols) replace the first ‘..’ by ’${ProjDirPath}’; then all include directives will be absolute and no more relative, thus will work for all source files...

To simplify, you could do this by a global substitute in the .cproject file, but you should first close the project and then reopen it afterwards (by precaution, keep a copy of the original file).

Sorry for the inconvenience,

Bernard


To solve correctly this problem, you should (for all include directories in “Project” >> Properties >> C/C++ General >> Paths and Symbols) replace the first ‘..’ by ’${ProjDirPath}’; then all include directives will be absolute and no more relative, thus will work for all source files...

To simplify, you could do this by a global substitute in the .cproject file, but you should first close the project and then reopen it afterwards (by precaution, keep a copy of the original file).

Please write it carefully. Both cases.