cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX Code generating and Simulator error

fpgiovanini
Associate II

Dear Mr Martin

In touchGFX I can generate the code but I can´t simulate with this error:

Compiling generated/gui_generated/src/screen_screen/screenViewBase.cpp
gui/src/model/Model.cpp:4:10: fatal error: stm32f4XX_hal.h: No such file or directory
#include "stm32f4XX_hal.h"//obrigado declarar
^~~~~~~~~~~~~~~~~
compilation terminated.

I already reinstall TouchGFX, I already rebuilt all my project in STM32CUBEIDE and nothing.

This library is present in the Stm32cubeIDE path project.

Do you have any idea of what is causing this error: thanks, Best regards.

PS:TouchGFX 4.22.0-STM32F429

1 ACCEPTED SOLUTION

Accepted Solutions

Hello

Still cannot see the East sliding transition between screens if 'none' is selected. I import your GUI to empty F769i-DK template, so I could run it also in target.

For moving textareas I would do something like this, it seems to work OK:

textArea1_1.invalidate();
textArea1_1.setPosition(119, current_bargraph_value, 80, 46);
textArea1_1.invalidate();

So just in case invalidate it before and after moving. Then also add

textArea1.resizeToCurrentText();

After the changing the textarea content, it looks nice then horizontally also.

In attached project there is used 'moveTo' function for other text area (textArea1).

I make to model.cpp simple sender to send different values and bar sizes.

You can test it if you want, just open touchgfx file, you can run it on simulator. It only simulates the bar/text area changes, just set the switch on 👍. All target specific stuff is #ifndef away since there wasnt .ioc file in your packet. 

Due the 3 x 5MB limitation here  the target (F769DK) dont work, only simulator.

View solution in original post

7 REPLIES 7
JTP1
Lead

Hello

Im not Martin but lets try :D

Sounds that you must use #ifndef directive to remove that like this in model.cpp:

 

#include <gui/model/Model.hpp>
#include <gui/model/ModelListener.hpp>

#ifndef SIMULATOR
#include "stm32f4XX_hal.h"
#endif

 

You might need to remove same way also all other target-specific .c/.h  externed code in model.cpp.

You can also use this other way around, for example to generate some test calls from model.cpp to presenter when running simulator

 

void Model::tick()
{
#ifdef SIMULATOR
	tickCounter++;
	if(tickCounter>=60) // 1 sec ?
	{
		tickCounter=0;
		modelListener->doSomething(someValue);
	}
#endif
}

 

 

Hi Mr.JTP1

Could you please tell me how can I report bugs in Touchgfx 4.22.0?

I´m having more problems in my project (stm32f429 Touchgfx4.22.0 stm32cubeIDE  1.12.1 ) than effectives results.

I´m not doing simple applications, like change color of the screen or blink led and so on.......).

For example, when I chose "NONE" transition in interaction change screen the result is a slider East transition.

When I change the text area position the result is clipping characters in the display.

well.....Another question:Where I can find documentations about flex button?

Which are the equivament command for getState and forceState for FLEXBUTTON?

THANKS A LOT, BEST REGARDS

Dear Mr.JTP1

 

This proposal solution :

#include <gui/model/Model.hpp>
#include <gui/model/ModelListener.hpp>

#ifndef SIMULATOR
#include "stm32f4XX_hal.h"
#endif

Didn´t make any effect in the Touchgfx error messages.

Could you please think in another one? thanks

Hello

Some comments on green:


@fpgiovanini wrote:

Hi Mr.JTP1

Could you please tell me how can I report bugs in Touchgfx 4.22.0?

One (and maybe only) way is to report bugs here with clear instructions how to reproduce it. Maybe even small example project helps if its difficult to repeat.

I´m having more problems in my project (stm32f429 Touchgfx4.22.0 stm32cubeIDE  1.12.1 ) than effectives results.

I´m not doing simple applications, like change color of the screen or blink led and so on.......).

For example, when I chose "NONE" transition in interaction change screen the result is a slider East transition.

Weird, with quick test it seems to work in 4.22.0 OK. Can you share your project or TGFX part from it ?

When I change the text area position the result is clipping characters in the display.

How do you change the text area position ? I guess best way is to use MoveTo command, then its not needed to invalidate anything.

well.....Another question:Where I can find documentations about flex button?

https://support.touchgfx.com/docs/development/ui-development/ui-components/buttons/flex-button

Which are the equivament command for getState and forceState for FLEXBUTTON?

You can use getPressed and setPressed to read and set the state.

If you set trigger as toggle, you can use also forceState.

JTP1_0-1688487511568.png

 

Hi Mr.JTP1

Weird, with quick test it seems to work in 4.22.0 OK. Can you share your project or TGFX part from it ?

Attached!

How do you change the text area position ? I guess best way is to use MoveTo command, then its not needed to invalidate anything.

Besides moving the textarea Position I need to update the value and the "line" widget on line.(see the application please).

Unicode::snprintfFloat(textArea1Buffer, TEXTAREA1_SIZE, "%02.2f", voltage_finalData);
textArea1.invalidate();

 

textArea1.invalidate();
textArea1.setPosition(15, voltage_bargraph_value, 83, 46);
 
line1.invalidate();//serve como uma reinderização do display
line1.setStart(5,voltage_bargraph_value);

 

Hello

Still cannot see the East sliding transition between screens if 'none' is selected. I import your GUI to empty F769i-DK template, so I could run it also in target.

For moving textareas I would do something like this, it seems to work OK:

textArea1_1.invalidate();
textArea1_1.setPosition(119, current_bargraph_value, 80, 46);
textArea1_1.invalidate();

So just in case invalidate it before and after moving. Then also add

textArea1.resizeToCurrentText();

After the changing the textarea content, it looks nice then horizontally also.

In attached project there is used 'moveTo' function for other text area (textArea1).

I make to model.cpp simple sender to send different values and bar sizes.

You can test it if you want, just open touchgfx file, you can run it on simulator. It only simulates the bar/text area changes, just set the switch on 👍. All target specific stuff is #ifndef away since there wasnt .ioc file in your packet. 

Due the 3 x 5MB limitation here  the target (F769DK) dont work, only simulator.

fpgiovanini
Associate II

Dear Mr.JTP1

IT REALLY SOLVE THE PROBLEM!!!THANKS