2020-09-07 09:27 AM
I got TouchGFX integrated into the STM32CubeIDE and successfully compiled.
When I get into debugging and start it all I get is white blank screen.
I got it integrated using template method where I create a configured, but a garbage template to use it only once to get files as shown in this video: https://www.youtube.com/watch?v=12KXreXaLp0&t=177s
Board: STM32F429I-DISC1
STM32CubeIDE version: 1.4.2
TouchGFX version: 4.13.0 and 4.14.0
At first, I started with version 4.10.0 of TouchGFX, and when I changed to 4.13.0 and 4.14.0 there was a lot of difference in generation of files.
Here is the important part I was able to edit all gui files like "Screen<number>.cpp" , "Screen<number>base.cpp" or any View files in Keil MDK-ARM in version 4.10.0 but now the generation has become very complicated and not included in MDK-ARM.
Kindly, make it easier to use on any platform so that any beginner like me can understand and keep on with the development. I am just very curious about the potential of the product but I can't manage to keep going.
Solved! Go to Solution.
2020-09-09 06:03 AM
Hello,
In your TouchGFXHAL.cpp and .hpp, you haven't redefined taskEntry()
void TouchGFXHAL::taskEntry()
{
enableLCDControllerInterrupt();
enableInterrupts();
OSWrappers::waitForVSync();
backPorchExited();
LCD_IO_WriteReg(0x29);
for (;;)
{
OSWrappers::waitForVSync();
backPorchExited();
}
}
If you compare your code with the Application Template, you will see it.
/Alexandre
2020-09-08 09:46 AM
Hello,
Could you enclose the project to this post ?
Instead of creating your project from scratch, a possibility would be to start with the Application Template for F429-DISCO board in TouchGFX Designer, and then add your modification from there. Maybe you already did, but just in case.
/Alexandre
2020-09-08 09:36 PM
Yes @Alexandre RENOUX .
2020-09-09 06:03 AM
Hello,
In your TouchGFXHAL.cpp and .hpp, you haven't redefined taskEntry()
void TouchGFXHAL::taskEntry()
{
enableLCDControllerInterrupt();
enableInterrupts();
OSWrappers::waitForVSync();
backPorchExited();
LCD_IO_WriteReg(0x29);
for (;;)
{
OSWrappers::waitForVSync();
backPorchExited();
}
}
If you compare your code with the Application Template, you will see it.
/Alexandre
2020-09-09 10:28 AM
Thank you very much. I will try and let you know.
2020-09-10 09:15 PM
Thank you so much. It worked. I don't know the reason though why did it happen🤷�?♂�?.
I didn't even touch this directory. If you know it let me know.
2020-09-10 11:36 PM
This is mainly due to the line
LCD_IO_WriteReg(0x29);
When configuring the LTDC in main.c, we disable the display. So we need to enable it afterwards if we want to display something. This line is meant to enable the display. And we do this in the task_entry() function that we redefined because it needs to be done after TouchGFX starts.
You can look at the ili9341.c/h driver if you want.
/Alexandre
2020-09-11 12:02 AM
Okay I will see and try to understand ins and outs. Thanks for the light.