‎2019-05-27 04:06 AM
Hello everyone,
Due to an increasing number of people having issues with CubeIDE and TouchGFX Integration i'm attaching a working project for STM32F746G-DISCO for your inspection - There were a good number of things to do before it worked, only some of which i highlighted in my quick-guide and even some of those steps were a bit ambiguous and could be executed in different ways.
I've written down what i've done to get this project working and i will use this in planning a video tutorial - It has to be somewhat official, so i can't simply start up the screencast and start talking. But i'll keep you updated.
/Martin
‎2019-06-11 12:06 AM
Oh, didn't see this reply before answering your previous one 🙂
yes, there's an issue that every time you re-generate code you'll get your modifications overwritten.
I'm not sure what you mean by updating a text value from the default task. Are you updating the text value in your view? Can you show me some code?
Best regards,
Martin
‎2019-06-11 11:51 AM
Hello Martin,
Thanks for your answer, I got the updating working by modifying an example. This basic code works fine with RTOS messaging from main.cpp
Regarding the overwriting issue, would it be possible to have in the Designer an option to disable the generation of the code for the simulator so that it will not "pollute" anymore the CubeIDE project files ?!? (at least it will minimize the manual (re-re-re-re)code excluding and maybe faster than waiting a change from the CubeIDE team ?)
Best Regards, J.
void update_task(void const * argument)
{
/* USER CODE BEGIN update_task */
USARTSendString("Enter UpdateTask.\n");
for(;;)
{
messageInfo++;
uc_i32toa(messageInfo, taskBuffer);
USARTSendString(taskBuffer);
USARTSendString(" - UpdateTask running...\n");
osMessagePut(queueUpdateGUIHandle, messageInfo, 0);
osDelay(100);
}
/* USER CODE END update_task */
}
void Model::tick()
{
// Check for messages from backend, with zero timeout
osEvent evt = osMessageGet(queueUpdateGUIHandle, 0);
if (evt.status == osEventMessage)
{
uint32_t *message = (uint32_t*)evt.value.p;
modelListener->UPDATE_VALUE((int)message);
}
}
void Screen1Presenter::UPDATE_VALUE(int value)
{
view.UPDATE_VALUE(value);
}
void Screen1View::UPDATE_VALUE(int value)
{
Unicode::snprintfFloat(txtVoltBuffer, TXTVOLT_SIZE, "%f", value/100.0);
txtVolt.invalidate();
}
‎2019-06-11 03:10 PM
Hi,
Glad you got something working. About "generating code", then you're in luck, because in 4.12 (we're going to skip 4.11) code generation is a manual thing.
/Martin
‎2019-06-12 08:53 AM
Thanks, waiting impatiently 4.12 then ! ...Linux version also ? =)
‎2019-06-12 02:08 PM
We're building a zip file for all releases that can be used on linux/gcc. Obviously, there's no designer available, but the tools and creating applications for the simulator are working. I'm not sure what the strategy is re: linux release officially, though. I will get back to you.
/Martin
‎2019-06-19 07:12 AM
I am completly new to stm32.
I haved tried to transfer the tutorial to a STM32F769I-DISCO.
Codegeneration in touchgfx is working.
I can't solve the issue "../Middlewares/ST/TouchGFX/touchgfx/framework/include/platform/hal/simulator/sdl2/HALSDL2.hpp:22:10: fatal error: SDL2/SDL_video.h: No such file or directory"
exclude simulator doen't fix it.
What other changes did i need to do?
‎2019-06-20 03:49 AM
Hi,
Can you post your entire error log? There are a number of simulator files/folders to exclude
/Martin
‎2019-07-10 03:37 AM
Please any update on the notes/video timetable?
‎2019-07-10 03:43 AM
BTW is TouchGFX 4.10.0 available for Linux? Cannot seem to install it under wine.
‎2019-07-11 12:50 AM
The designer, at least, is not available for Linux. I'm not sure when and if it will be. What are the issues installing it under Wine?
/Martin