2020-05-03 01:23 PM
Hi everybody
I'm trying the Tutorial 3 of touchgfx documentation because I have to evaluate touchgfx against another graphic framework.
BOARD: STM32H7B3I-DK
TouchGfx designer 4.13.0
Project created by designer using the board template.
On PC simulator everything works perfectly.
On the board after a while, and not systematically the display stop to update.
No a fault handler, but if I set in pause the program I'm always blocked into the touchgfx::Outline::renderLine every time. If I play the program and pause again I'm in the same function with a different program counter but closer to the previous one.
I really don't know where I could have done a mistake.
I attach an image of the STM32CubeIde call stack crashTouchGfx
I hope you can help me to figure out the problem, or where I could have made a mistake.
Thanks in advance
2020-05-03 01:24 PM
2020-05-05 06:21 AM
Did you define a canvas buffer? If the buffer is infinitely small, a complex figure requires many, many passes to render - Maybe that's whats going on
/Martin
2020-05-05 12:59 PM
Hi Martin
I have checked, the Canvas buffer was 7200... I increased the buffer overriding the size to 32767 as max possible value. The problem still persist the same call stack. No frame are rendered (the blu led of the board is not flashing anymore). The problem happens fast but not in a systematic way. Sometimes the circle is not completly redered, some other time the circle has been drawn for 3-4 times than the operations stop.
I could only place this disassembly. The code continue to run over this lines of code.
But I want to ask you a question: Is there a support of touchgfx as a service by ST, or some partners? If I want to use your framework, due to the fact that I use ST microcontroller since 8 years, but I have no support over this kind of problem, it could be a disaster for my project.
I have also read into your documentation that if the canvas buffer is too short, some drawing operation will not accomplish, drawing partially some widget. But here it seems a never ending loop. So I have no proof to say that I'm right, but I cannot explain the problem better in this situation.
Let me know.
Thanks
Andrea
2020-05-06 01:30 AM
Send me your project and i'll try to have a look. I have the board here.
What you're engaged in right now is community support, which is one way of getting help. The other is contacting an ST FAE in your region who will then submit bugzilla tickets and you'd also reach me - So, any way you want :) haha
Does the problem occur in the simulator?
/Martin
2020-05-06 10:39 AM
Hi Martin
I attached the project in 7z instead o zip, it was half the size.
The simulator is going fine, for hours. I speed up the circle clock speed, in this way it happens fast the problem, just few seconds.
I have only change the arc start and arc end position during the tutorial in function
void Screen2View::handleTickEvent()
to have a copy of my Garmin watch behaviour. For the rest I haven't changed any line.
Thanks in advance
Let me know