Thank you for this video. TGFX4.13 now includes a .ioc file that makes this more straight forward. One can just develop the UI and then open the ioc to enable extra hardware. I would love to see a video showing how to code in the GUI to interface with the hardware (backend). That is the part that is most confusing to many. Thanks again.
Well done example of using X-Cube-TouchGFX with the STM32F7 Disco. For the touch screen functionality, I just used the code for the STM32Touchcontroller.cpp from the second TouchGFX Application that was created as well as the TS_I2C_ADDRESS variable in the .hpp file. I also added the the Components and BSP folders from the Drivers folder to the project and added a C++ Include path the the Components->ft5336 folder. After this, the project built and the touch functionality worked when loaded on the board. Thanks!
Your tutorials have been a great help. THANK YOU! I had a tough time achieving success on my system with this video. The problem has been isolated. Blindly expecting backward compatibility, I had upgraded to ToughGFX 4.14.0 and STMCubeIDE 1.4.0, this resulted in the same black screen that you mention even after updating USER CODE in main.c from the TouchGFX Applicaiton Template. Looking closer to the TouchGFX Application Template, I found a sublte note in the TouchGFX Application Template Description for the STM32F746G stating "Application Template is only supported from TouchGFX 4.13.0". After reverting to TouchGFX 4.13 and STMCubeIDE 1.3.0 my screen successfully rendered.
Hi, Im using stm32H7B3I-Dk board and trying to interface custom TFT 5" display using SPI protocol. i have created a project from cube MX with default peripherals configuration and I have develop simple UI from Touch GFX. When I try to debug the code Hardfault error is occurring. But when I try dumping the code generated from the Touch GFX the UI run. Can u pls suggest a solution for this
There is a HUGEEEE thing that u didnt say , The LTDC interrupts must be turned on , i was stuck for a whole week , thanks for the video though it was very helpful
Brilliant video, thank you for such a great explanation. I wish ST/TGFX would do more explainers like this, their integration seems quite messy and very unfriendly to new users. I'm looking forward to more of your videos! Also looking forward to more V3 application templates in tgfx ie: F469 discovery, H747 discovery...
the process can seem a little convoluted, yes. But keep in mind that the CubeMX is only intended for the HW setup - pins and port directions and basic timing options. If you want a ready-to-go solution you can start a project directly from the TouchGFX designer. yeah - a lot of people are waiting for more application templates!
when I click on TOUCHGFX under additionl software and then click the check box , "graphics application" nothing appears on the user settings it only says "this ip has no settings to be configured" then i generate code and there is no touchgfx file or reference at all to it
I have a problem ... in 10:37 you show files generated by TouchGFX. When I create a new project in TocuhGFX, I choose the hardware platform (in my case STM32F469), in the TouchGFXProjects folder I don't have .ioc file, core folder containing main.c etc. What could be the problem? I have TouchGFX 4.13
@@banjohat Thanks for sharing this video with everyone. We have currently upgraded the following Application templates to include an CubeMX file for accessing and using TouchGFX Generator: STM32F746, STM32F769, STM32H7B3, STM32H750. We are currently working on adding more.
@@STMicroelectronicsTouchGFX Hi, are you planning to prepare templates also for STM32H745I-DISCO board? This video helps me a lot, but I am still not able to make alive TouchGFX on my board. Thanks.
Great video, thanks. However I had to include a Board Support Package in order to get the external RAM to work. The user code macros etc. used here did not show up in the auto-generated code.
If I understand correctly there is a support pacakge to the devkit? Smart! I didn't know that! It makes sense to have the initialization code somewhere accesible. But when building a custom board I don't think a support package will be of much help.
@@banjohat It's basically a neat way of organising stuff. Makes it easier to port code and interchange it in between applications. One way or another you have to write custom drivers at some point. Hopefully not for a too complicated peripheral :)
At the point when I double click .touchgfx.part it opens the GUI software but screen size is set to 800x480 and is greyed out so cannot change it, what's wrong?
Great Video, could give me one help or suggest some place to see any information to use an internal flash to make a simple demo custom project with this platform, i'm trying a lot and nothing.
Hi, Thanks you for the tutorial. Could you help me to do the same with STM32F429ZI-DISC1. I only get a blak screen even if my framebuffer (starting from 0xD0000000) is filled correctly. Thanks!
hi , is there something wrong with IDE1.3? i am not getting anything in the LCD , i only use 1.3 so i am not sure if other versions work properly , did u fix it ?
I got stuck at touch controller cpp file, I watched your previous video for that, but that is via BSP and slight different than TouchGFX design 4.13.0 generates. I was so close. Can you help me? I'm in a hurry building a touch interface for diy ventilator to have a open source plan b for the enormous amount of hospital ventilator shortage caused by COVID-19 worldwide. Thanks in advance.
Hai sir, tq for share this video. i am using 32f428i-disco. i have problem in touchgfx generate code. that is Post Generate Target touchgfx update_project --project-file=../touchgfx_with_codemx_test1.ioc --platform=m4 unsupported toolchain: TrueSTUDIO ProjectManager.ToolChainLocation Failed Failed how can i fix it. i am waiting for your Ans.
@@banjohat i have change in the CubeIDE, it showed OK, but when i using Touch it seem run not smoothly when slide to the other page..how can i increase frequency sweep
Hi, when i open the ApplicationTemplate.touchgfx.part forthe first time , its pop up this message -> The path C:\Users\Name\Desktop\Folder\test_1\TouchGFX contains spaces, this can result in erroneous behaviour while compiling i press OK, and when i want to generate my code its give this error -> Generate Assets make -f simulator/gcc/Makefile assets -j8 simulator/gcc/Makefile:20: *** Spaces not allowed in path. Stop. Failed Failed Can you help me please? i'm newbie on this
Great video. I have a similar problem as someone has already mentioned. @10:37 After generating additional TouchGFX project (for STM32F429I-DISCO in my case), I have a slightly different directory structure and the file MyApplication\Project\Core\Src\main.cpp does not contain additional code.
@@banjohat As someone advised me, partly the problem was solved by using BSP drivers for 429I-DISCO evalboard. But still it's rather work in progress than a ready solution.
I am finding the same problem, the latest TouchGFX now creates a ver slim main.cpp and apears to be formatted diferently. I am using a hotmcu SOM-STM32F429IG with a 10 inch display and after a month I have the screen reseting and the backlight coming on. I was so excited when I saw your video as I started to realise that I had to write more code. But they have made tis video already obsolete. I wil have to try and work out from the example code that I have written in Keil 5.15 for stemwin, and see if I can back engineer it. Thanks for your great videos. Cheers greg.
Hello Embryonic.dk, Your videos are very helpful. But i am really looking for displaying camera data on LCD via touch gfx. Can you please post a video or any support link. Looking forward for your reply. Thanks, Upender.
Sorry, don't have any links for projects that use the camera.. My project don't need the camera so I'm not going to explore that much. I hope you find what you're looking for!
@@SahilAhmadkalka Hey, How did you do it? I followed the instruction on video and did it same with STM32F429 project from touchGFX but the screen is still blank. Can you help me, please? I can send my code if necessary.
@@SahilAhmadkalka If you're talking about FMC part yes I added and changed bank1s to bank2 because in my code generated by CubeMX I'm using bank2. But when I debug I can't see anything on 0xC0000000 and 0xD0000000 addresses. So my problem is probably on SDRAM part.
Hi. Very nice document, but I have F429-DISCO and I haven't run it yet. Unfortunately, driving a TFTs is a difficult discipline and not for everyone. :(
yeah, it seems quite complicated at first. for the 429 I don't think it has the external RAM (i might be wrong) but the support for that board should be here soon!
Hello Embryonic.dk... First of all Thanks for creating a such a great video... I can see where St are looking to go with this integration of Touchgfx, CubeMX and CubeIDE but at the moment there are quite a few bugs to sort out.. In your video 13:23 you say that cubeMx has no knowledge of the kind of memory chip in the board… Well it did in previous versions and even in this version you choose the board when starting the project so it should figure all this out.. Also when creating the project with Touchgfx as the starting point you get to choose the template for the board and everything is hunky-dory. However that template is not available when you open the touchgfx while creating the custom project like you did..why why why??
because CubeMX is ambigous.. It took me some time to understand but CubeMX ONLY knows the hardware configuration that you tell it. nothing else. Granted, ST have put some knowledge of 'soft-configuration' into the generator but its basically the same situation as with the QSPI a while ago. CubeMX doesn't know all chips in the world (nor should it). We all agree that when using a board and the box 'use default settings' comes up it only makes for confusion. but the thing is that cubeMX is only for HW config and not the configuration done after the pin setup. we're all just used to that being done for us..
thanks :) Wow, that is very specific (and very advanced). Well, The theory should be to accept a new image file through packets and then point to a bootloader that can copy the new code over the original. I think. I am currently looking into the USB DFU loader that does its trick somewhere along the lines i described. Running through ethernet should be.... possible ;)
@@banjohat sorry i do not understand your link very well. Do you mean to work with previous versions? I have checked the stm32TouchController.cpp file in the current version. and it is differs from previous versions of TouchGFX. i added a touch driver but its not working.
@@banjohat Thank you for your reply. I did. But I got an error. Error about file ft5336.h. I've added this file header. But this file is not recognized.
There could be a number of causes - make sure you have a non-black background. the QSPI is not configured so make sure all graphical assets can fit into the internal flash. also, did you copy the soft-config of the SDRAM?
Thank you for this video. TGFX4.13 now includes a .ioc file that makes this more straight forward. One can just develop the UI and then open the ioc to enable extra hardware. I would love to see a video showing how to code in the GUI to interface with the hardware (backend). That is the part that is most confusing to many. Thanks again.
Well done example of using X-Cube-TouchGFX with the STM32F7 Disco.
For the touch screen functionality, I just used the code for the STM32Touchcontroller.cpp from the second TouchGFX Application that was created as well as the TS_I2C_ADDRESS variable in the .hpp file. I also added the the Components and BSP folders from the Drivers folder to the project and added a C++ Include path the the Components->ft5336 folder. After this, the project built and the touch functionality worked when loaded on the board. Thanks!
Great video, but having audio in left channel only. Drives me crazy when listening on earphones!!
Hello, please go on and let all these confusions go away. very helpfull
Your tutorials have been a great help. THANK YOU! I had a tough time achieving success on my system with this video. The problem has been isolated. Blindly expecting backward compatibility, I had upgraded to ToughGFX 4.14.0 and STMCubeIDE 1.4.0, this resulted in the same black screen that you mention even after updating USER CODE in main.c from the TouchGFX Applicaiton Template. Looking closer to the TouchGFX Application Template, I found a sublte note in the TouchGFX Application Template Description for the STM32F746G stating "Application Template is only supported from TouchGFX 4.13.0". After reverting to TouchGFX 4.13 and STMCubeIDE 1.3.0 my screen successfully rendered.
where on earth do you find v4.14 if on st website it on has v4.13
Hi, Im using stm32H7B3I-Dk board and trying to interface custom TFT 5" display using SPI protocol. i have created a project from cube MX with default peripherals configuration and I have develop simple UI from Touch GFX. When I try to debug the code Hardfault error is occurring. But when I try dumping the code generated from the Touch GFX the UI run. Can u pls suggest a solution for this
There is a HUGEEEE thing that u didnt say , The LTDC interrupts must be turned on , i was stuck for a whole week , thanks for the video though it was very helpful
The training was complete and practical. Thank you very much
The touchgfx tab gives me some error of dependencies and asks me to enable CRC IP.
Brilliant video, thank you for such a great explanation. I wish ST/TGFX would do more explainers like this, their integration seems quite messy and very unfriendly to new users. I'm looking forward to more of your videos! Also looking forward to more V3 application templates in tgfx ie: F469 discovery, H747 discovery...
the process can seem a little convoluted, yes. But keep in mind that the CubeMX is only intended for the HW setup - pins and port directions and basic timing options.
If you want a ready-to-go solution you can start a project directly from the TouchGFX designer. yeah - a lot of people are waiting for more application templates!
when I click on TOUCHGFX under additionl software and then click the check box , "graphics application" nothing appears on the user settings it only says "this ip has no settings to be configured" then i generate code and there is no touchgfx file or reference at all to it
I have a problem ... in 10:37 you show files generated by TouchGFX. When I create a new project in TocuhGFX, I choose the hardware platform (in my case STM32F469), in the TouchGFXProjects folder I don't have .ioc file, core folder containing main.c etc. What could be the problem? I have TouchGFX 4.13
the new application template is so far only available for the 746 platform. that could explain the missing files
@@banjohat Thanks for sharing this video with everyone.
We have currently upgraded the following Application templates to include an CubeMX file for accessing and using TouchGFX Generator: STM32F746, STM32F769, STM32H7B3, STM32H750. We are currently working on adding more.
@@STMicroelectronicsTouchGFX Hi, are you planning to prepare templates also for STM32H745I-DISCO board? This video helps me a lot, but I am still not able to make alive TouchGFX on my board. Thanks.
@@JarousovaVidea Hello Trestj, Please write me at touchgfx-info@st.com ,
Best regards
Soren
@@STMicroelectronicsTouchGFX thanks for the acknowledge :) It means a lot!
Great video, thanks. However I had to include a Board Support Package in order to get the external RAM to work. The user code macros etc. used here did not show up in the auto-generated code.
If I understand correctly there is a support pacakge to the devkit? Smart! I didn't know that! It makes sense to have the initialization code somewhere accesible. But when building a custom board I don't think a support package will be of much help.
@@banjohat It's basically a neat way of organising stuff. Makes it easier to port code and interchange it in between applications. One way or another you have to write custom drivers at some point. Hopefully not for a too complicated peripheral :)
At the point when I double click .touchgfx.part it opens the GUI software but screen size is set to 800x480 and is greyed out so cannot change it, what's wrong?
So easy a hardware engineer can do it ;) thank you!
Hahaha, Indeed - I'm also a hardware engineer :D
Great Video, could give me one help or suggest some place to see any information to use an internal flash to make a simple demo custom project with this platform, i'm trying a lot and nothing.
Hi,
Thanks you for the tutorial. Could you help me to do the same with STM32F429ZI-DISC1. I only get a blak screen even if my framebuffer (starting from 0xD0000000) is filled correctly.
Thanks!
I'm having the same problem with the stm32f769I-disco
Thank you so much!
It worked for me too.
(After CubeIDE 1.3.0 upgrade my board is not worked at all)
hi , is there something wrong with IDE1.3? i am not getting anything in the LCD , i only use 1.3 so i am not sure if other versions work properly , did u fix it ?
I got stuck at touch controller cpp file, I watched your previous video for that, but that is via BSP and slight different than TouchGFX design 4.13.0 generates. I was so close. Can you help me? I'm in a hurry building a touch interface for diy ventilator to have a open source plan b for the enormous amount of hospital ventilator shortage caused by COVID-19 worldwide. Thanks in advance.
how can i change/modify variable's values while code runinng ?
Havnt fulled fixed mine on (on latest version but they've seemed to changed up a few things),
the drivers as well are ommitted so i've added those in
Great video. Please do a video on the new X-NUCLEO-GX01M1 board.
Sure, if you can get me one :)
Thank you for the video, could you please share a video on how to integrate the custom touch?
Update on the TouchController - Read this post: community.st.com/s/question/0D50X0000C0yG0rSQE/where-did-the-touch-driver-code-go?t=1579889494947
Does it work with Nucleo boards? I have the STM32F767NI Nucleo which has LTDC
Thank you, it helped me a lot.
Hai sir,
tq for share this video. i am using 32f428i-disco. i have problem in touchgfx generate code. that is
Post Generate Target
touchgfx update_project --project-file=../touchgfx_with_codemx_test1.ioc --platform=m4
unsupported toolchain: TrueSTUDIO
ProjectManager.ToolChainLocation
Failed
Failed
how can i fix it. i am waiting for your Ans.
it might be a little late , but Truestudio is not supported in TouchGFX , use STMCUBEIDE
Hi.. If i replace TFT on STM32F746-Disco by TFT 7inch (TFT have same Pin number), so how can i custom them
you just change the values in you CubeIDE project
@@banjohat i have change in the CubeIDE, it showed OK, but when i using Touch it seem run not smoothly when slide to the other page..how can i increase frequency sweep
Hi, when i open the ApplicationTemplate.touchgfx.part forthe first time , its pop up this message ->
The path C:\Users\Name\Desktop\Folder\test_1\TouchGFX contains spaces, this can result in erroneous behaviour while compiling
i press OK, and when i want to generate my code its give this error ->
Generate Assets
make -f simulator/gcc/Makefile assets -j8
simulator/gcc/Makefile:20: *** Spaces not allowed in path. Stop.
Failed
Failed
Can you help me please? i'm newbie on this
I´m using STM32 IDE 1.3.0 & TouchGFX 4.13.0 Designer
sorry, wrong post. ignore below. thanks!
Great video. I have a similar problem as someone has already mentioned. @10:37 After generating additional TouchGFX project (for STM32F429I-DISCO in my case), I have a slightly different directory structure and the file MyApplication\Project\Core\Src\main.cpp does not contain additional code.
Unfortunately I don't have access to the 429 board but it would be interesting to look into this!
@@banjohat As someone advised me, partly the problem was solved by using BSP drivers for 429I-DISCO evalboard. But still it's rather work in progress than a ready solution.
I am finding the same problem, the latest TouchGFX now creates a ver slim main.cpp and apears to be formatted diferently. I am using a hotmcu SOM-STM32F429IG with a 10 inch display and after a month I have the screen reseting and the backlight coming on. I was so excited when I saw your video as I started to realise that I had to write more code. But they have made tis video already obsolete. I wil have to try and work out from the example code that I have written in Keil 5.15 for stemwin, and see if I can back engineer it. Thanks for your great videos. Cheers greg.
Hi, I'm trying to get 32F469 DISCO board. But seems like your video doesn't match to this. Is there any way to get around?
I haven't tried on that board. I've heard quite a few people having trouble but I really can't say what is is..
@@hanspeterhaastrup-nielsen8446 Thanks for reply. I guess just find another way around.
Hello ! Nice vidéo but I still can't manage to make my STM32F769I-eval work. Always this black screen... Do you have some ideas ?
Have you made absolutely sure that you added the SDRAM config code to your init function?
@@banjohat Hi, I made just as you but yeah the problem comes from the ram. When i check the memory there is nothing in :/
Hello Embryonic.dk,
Your videos are very helpful.
But i am really looking for displaying camera data on LCD via touch gfx.
Can you please post a video or any support link. Looking forward for your reply.
Thanks,
Upender.
Sorry, don't have any links for projects that use the camera.. My project don't need the camera so I'm not going to explore that much. I hope you find what you're looking for!
@@banjohat
Thank you for the quick response Embryonic,
I will look into that, no worries!
But thank you for the videos once again.
thank you very much
Thank you.
Great video, really helpfull ! :)
I am able to build project for STM32F429 DISCO board, but screen is blank, can you please help!
There are some bits that need to be changed for that platform that I'm not completely sure of yet. I'll try and make a video when I have the time
@@banjohat I am able to do it now, tomorrow I'll try to work on touchpanel
@@SahilAhmadkalka Hey, How did you do it? I followed the instruction on video and did it same with STM32F429 project from touchGFX but the screen is still blank. Can you help me, please? I can send my code if necessary.
@@ersahatmaca5531 I think you skipped something, did you added additional code generated by touchgfx?
@@SahilAhmadkalka If you're talking about FMC part yes I added and changed bank1s to bank2 because in my code generated by CubeMX I'm using bank2. But when I debug I can't see anything on 0xC0000000 and 0xD0000000 addresses. So my problem is probably on SDRAM part.
Hi. Very nice document, but I have F429-DISCO and I haven't run it yet.
Unfortunately, driving a TFTs is a difficult discipline and not for everyone. :(
yeah, it seems quite complicated at first. for the 429 I don't think it has the external RAM (i might be wrong) but the support for that board should be here soon!
@@banjohat Hello, il have the same probleme with F429 Discovery :(
@@banjohat Board 429 has RAM IS42S16400J.
Hello Embryonic.dk... First of all Thanks for creating a such a great video...
I can see where St are looking to go with this integration of Touchgfx, CubeMX and CubeIDE but at the moment there are quite a few bugs to sort out..
In your video 13:23 you say that cubeMx has no knowledge of the kind of memory chip in the board… Well it did in previous versions and even in this version you choose the board when starting the project so it should figure all this out..
Also when creating the project with Touchgfx as the starting point you get to choose the template for the board and everything is hunky-dory. However that template is not available when you open the touchgfx while creating the custom project like you did..why why why??
because CubeMX is ambigous.. It took me some time to understand but CubeMX ONLY knows the hardware configuration that you tell it. nothing else. Granted, ST have put some knowledge of 'soft-configuration' into the generator but its basically the same situation as with the QSPI a while ago. CubeMX doesn't know all chips in the world (nor should it).
We all agree that when using a board and the box 'use default settings' comes up it only makes for confusion. but the thing is that cubeMX is only for HW config and not the configuration done after the pin setup. we're all just used to that being done for us..
Hi, Great channel! Could you make a video on programming the stm32 with ethernet please?
thanks :) Wow, that is very specific (and very advanced). Well, The theory should be to accept a new image file through packets and then point to a bootloader that can copy the new code over the original. I think. I am currently looking into the USB DFU loader that does its trick somewhere along the lines i described. Running through ethernet should be.... possible ;)
Hi.
Thanks for your good video.
Do you have solution to touch screen problem?
I got it working - if you see the description I have a link to my solution
@@banjohat sorry i do not understand your link very well.
Do you mean to work with previous versions?
I have checked the stm32TouchController.cpp file in the current version. and it is differs from previous versions of TouchGFX.
i added a touch driver but its not working.
@@javadkhani9741 The easiest way is to copy existing code from a template project and insert it into yours. Remember to copy the drivers as well
@@banjohat Thank you for your reply.
I did. But I got an error. Error about file ft5336.h.
I've added this file header. But this file is not recognized.
It’s very cool!
But why my screen stay black? 🙄
There could be a number of causes - make sure you have a non-black background. the QSPI is not configured so make sure all graphical assets can fit into the internal flash. also, did you copy the soft-config of the SDRAM?
Thank you!!!~~~