2020-01-23 03:56 PM
Run Simulator
Generate
Done
Generate Assets
make -f simulator/gcc/Makefile assets -j10
Converting images
Done
Post Generate
touchgfx update_project --project-file=../EWARM/STM32F7508_DISCO.ewp --gui-group-name=Application/User/TouchGFX/gui --generated-group-name=Application/User/TouchGFX/generated && touchgfx update_project --project-file=simulator/msvs/Application.vcxproj
Done
Compile
make -f simulator/gcc/Makefile -j10
Converting images
Compiling gui/src/pressurescreen_screen/PressureScreenView.cpp
gui/src/pressurescreen_screen/PressureScreenView.cpp: In member function 'virtual void PressureScreenView::UpButtonClicked()':
gui/src/pressurescreen_screen/PressureScreenView.cpp:27:23: error: 'textCounterBuffer' was not declared in this scope
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~~
gui/src/pressurescreen_screen/PressureScreenView.cpp:27:23: note: suggested alternative: 'IRpcChannelBuffer'
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~~
IRpcChannelBuffer
gui/src/pressurescreen_screen/PressureScreenView.cpp:27:42: error: 'TEXTCOUNTER_SIZE' was not declared in this scope
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~
gui/src/pressurescreen_screen/PressureScreenView.cpp:27:42: note: suggested alternative: 'PERF_COUNTER_TIMER'
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~
PERF_COUNTER_TIMER
gui/src/pressurescreen_screen/PressureScreenView.cpp:29:5: error: 'textCounter' was not declared in this scope
textCounter.invalidate();
^~~~~~~~~~~
gui/src/pressurescreen_screen/PressureScreenView.cpp:29:5: note: suggested alternative: 'PMCCounter'
textCounter.invalidate();
^~~~~~~~~~~
PMCCounter
gui/src/pressurescreen_screen/PressureScreenView.cpp: In member function 'virtual void PressureScreenView::DownButtonClicked()':
gui/src/pressurescreen_screen/PressureScreenView.cpp:40:23: error: 'textCounterBuffer' was not declared in this scope
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~~
gui/src/pressurescreen_screen/PressureScreenView.cpp:40:23: note: suggested alternative: 'IRpcChannelBuffer'
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~~
IRpcChannelBuffer
gui/src/pressurescreen_screen/PressureScreenView.cpp:40:42: error: 'TEXTCOUNTER_SIZE' was not declared in this scope
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~
gui/src/pressurescreen_screen/PressureScreenView.cpp:40:42: note: suggested alternative: 'PERF_COUNTER_TIMER'
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
^~~~~~~~~~~~~~~~
PERF_COUNTER_TIMER
gui/src/pressurescreen_screen/PressureScreenView.cpp:42:5: error: 'textCounter' was not declared in this scope
textCounter.invalidate();
^~~~~~~~~~~
gui/src/pressurescreen_screen/PressureScreenView.cpp:42:5: note: suggested alternative: 'PMCCounter'
textCounter.invalidate();
^~~~~~~~~~~
PMCCounter
simulator/gcc/Makefile:220: recipe for target 'build/MINGW32_NT-6.2/gui/src/pressurescreen_screen/PressureScreenView.o' failed
make[2]: *** [build/MINGW32_NT-6.2/gui/src/pressurescreen_screen/PressureScreenView.o] Error 1
make[1]: *** [generate_assets] Error 2
simulator/gcc/Makefile:182: recipe for target 'generate_assets' failed
simulator/gcc/Makefile:40: recipe for target 'all' failed
make: *** [all] Error 2
Failed
Failed
This is my error message and below is the lines where it is causing the error. I know I have to declare these variables somewhere but in the tutorial it never had me declare these Unicode things. I am unfamiliar with this.
Thank you
void PressureScreenView::UpButtonClicked()
{
touchgfx_printf("UpButtonClicked\n");
//if (pressureVal < 43)
{
counter = counter + 1;
}
touchgfx_printf("%d\n", counter);
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
//Invalidate text area
textCounter.invalidate();
}
void PressureScreenView::DownButtonClicked()
{
touchgfx_printf("DownButtonClicked\n");
//if (pressureVal > 21)
{
counter = counter - 1;
}
touchgfx_printf("%d", counter);
Unicode::snprintf(textCounterBuffer, TEXTCOUNTER_SIZE, "%d", counter);
//Invalidate text area
textCounter.invalidate();
}
Solved! Go to Solution.
2020-02-06 08:24 AM
OK so the problem was I was naming the Text Area item "counter" and my counter was named "counter" it's fixed now. The whole problem was I missed the step to name the Text Area "textCounter"
2020-01-24 01:29 AM
Which tutorial is this?
2020-01-24 05:20 AM
2020-01-27 05:06 AM
I'm pretty sure this buffer should have been generated for you if you selected the TextArea to have a wildcard (which is the instruction in the tutorial).
2020-01-27 05:57 AM
What happens then is that the designer will generate a declaration ofr Unicode::UnicodeChar[<nr of chars>] textCounterBuffer; in your Generated base class. This means it'll be available to you in your concrete class PressureScreenView.
/Martin
2020-02-06 08:17 AM
Ok so it is compiling. I didn't label my item "textCounter", i just labeled it "counter". So it fixed that issue, but now it is telling me
Compiling simulator/main.cpp
gui/src/main_screen/mainView.cpp: In member function 'virtual void mainView::buttonUpClicked()':
gui/src/main_screen/mainView.cpp:24:13: error: request for member 'invalidate' in '((mainView*)this)->mainView::counter', which is of non-class type 'int'
counter.invalidate();
^~~~~~~~~~
gui/src/main_screen/mainView.cpp: In member function 'virtual void mainView::buttonDownClicked()':
gui/src/main_screen/mainView.cpp:33:13: error: request for member 'invalidate' in '((mainView*)this)->mainView::counter', which is of non-class type 'int'
counter.invalidate();
^~~~~~~~~~
generated/simulator/gcc/Makefile:190: recipe for target 'build/MINGW32_NT-6.2/gui/src/main_screen/mainView.o' failed
make[2]: *** [build/MINGW32_NT-6.2/gui/src/main_screen/mainView.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [generate_assets] Error 2
generated/simulator/gcc/Makefile:149: recipe for target 'generate_assets' failed
make: *** [all] Error 2
simulator/gcc/Makefile:32: recipe for target 'all' failed
Failed
2020-02-06 08:24 AM
OK so the problem was I was naming the Text Area item "counter" and my counter was named "counter" it's fixed now. The whole problem was I missed the step to name the Text Area "textCounter"
2020-02-07 01:36 AM
Okay, glad you solved it :)