2019-12-19 03:52 AM
TouchGFX generates incorrect code that will not compile.
Even though a small fix is indicated, I cannot get touchGFX to leave the correct code alone and compile the project.
The error I get is
In file included from TouchGFX/generated/gui_generated/src/screen1_screen/Screen1ViewBase.cpp:4:0:
TouchGFX/generated/gui_generated/include/gui_generated/screen1_screen/Screen1ViewBase.hpp:12:38: warning: extra tokens at end of #include directive
#include <touchgfx/widgets/Image.hpp>#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
Where it is simple to ascertain that there is a missing carriage return between the #include directives.
Removing write protection (ha ha) and fixing did not provide me with any solution as 'RunTarget' overwrites the change. The client, who was with me designing his forms was not amused.
I have tried several examples, all of which claim to run on the F769 Discovery board I am currently using, but all of which fail for various reasons - often the graphics are configured incorrectly and I get coloured bars on the LCD.
I gave up on touchgfx several months ago as a result of similar problems, and tried it out today as I was hoping that sufficient progresss had been made on quality control to enable me to usee it.
Alas,many of the problems could be identified merely by running regression tests on the supplied examples.
So, quck fix ....... can I get to your template and fix the offending line, or will you be able to update the tool within the hour?
Are we likely to see the benefits of regression test in the near future?
Is there an error reporting site such as Jira?
thanks
Chris Rowse
^
2019-12-19 04:44 AM
The issue seems to arise if you override the size of the buffer from the designer. This has already been fixed in the upcoming Week2 release of 4.13.0.
"Base"classes will be re-generated by designer, yes, so that's not a good solution. What you can do is to not override the size of the buffer from the designer, but do it manually in code (non-"*Base" class files).
//touchgfx::CanvasWidgetRenderer::setupBuffer(canvasBuffer, CANVAS_BUFFER_SIZE);
You don't have access to anything like a public issue tracker, but anything you leave here that can be verifid will be turned into tickets internally.
As for your issues with examples. How are you running them? From the designer? Do you have ST-Link installed which is required to program the external flash? If you don't, then you'll just see garbage memory in place of images.
/Martin
2019-12-19 04:51 AM
Hi Martin,
Thanks for the prompt answer!
I was not aware that I had overridden anything, as I tried to make a 'plain vanilla' to get the basics working.
Where do I insert the //touchgfx:: directive?
Is there a document I should read?
Thanks again
Chris