Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32 compiler warnings / errors #57

Closed
ImpulseAdventure opened this issue Oct 14, 2018 · 1 comment
Closed

ESP32 compiler warnings / errors #57

ImpulseAdventure opened this issue Oct 14, 2018 · 1 comment
Labels
device_esp Devices: ESP32 / ESP8266 / M5stack waiting confirm Believed to be fixed / OK. Waiting on confirmation.

Comments

@ImpulseAdventure
Copy link
Owner

From @imalipusram #48:

Hi Calvin!

Got a new ESP32 (NodeMCU-32S) and tested the examples (ILI9341 w/o touchscreen, waiting for an ILI9488 with touchscreen to arrive) and did some tests:

Examples 1..4 compile and seem to run ok as far as I can see.

Example 2 has warnings:

/home/wo/Arduino/libraries/GUIslice/arduino/gslc_ex02_ard/gslc_ex02_ard.ino: In function 'void setup()':
/home/wo/Arduino/libraries/GUIslice/arduino/gslc_ex02_ard/gslc_ex02_ard.ino:57:19: warning: unused variable 'bOk' [-Wunused-variable]
   bool            bOk = true;
                   ^

Examples 1..4 have these warnings:

/home/wo/Arduino/libraries/GUIslice/src/GUIslice_ex.c: In function 'gslc_ElemXCheckboxFindChecked':
/home/wo/Arduino/libraries/GUIslice/src/GUIslice_ex.c:792:18: warning: comparison is always true due to limited range of data type [-Wtype-limits]
     if (nCurType != GSLC_TYPEX_CHECKBOX) {
                  ^
/home/wo/Arduino/libraries/GUIslice/src/GUIslice_ex.c: In function 'gslc_ElemXTextboxDraw':
/home/wo/Arduino/libraries/GUIslice/src/GUIslice_ex.c:2187:21: warning: variable 'bEncUtf8' set but not used [-Wunused-but-set-variable]
   bool              bEncUtf8;
                     ^

Example 5 yields an error:

gslc_ex05_ard:63: error: 'gslc_tsXSelNum' does not name a type
 gslc_tsXSelNum              m_sXSelNum[3];
 ^
/home/wo/Arduino/libraries/GUIslice/arduino/gslc_ex05_ard/gslc_ex05_ard.ino: In function 'bool InitOverlays()':
gslc_ex05_ard:152: error: 'm_sXSelNum' was not declared in this scope
   pElemRef = gslc_ElemXSelNumCreate(&m_gui,E_ELEM_COMP1,E_PG_MAIN,&m_sXSelNum[0],
                                                                    ^
gslc_ex05_ard:153: error: 'gslc_ElemXSelNumCreate' was not declared in this scope
     (gslc_tsRect){160,60,120,50},E_FONT_BTN);

Example 6 yields errors, too:

/home/wo/Arduino/libraries/GUIslice/arduino/gslc_ex06_ard/gslc_ex06_ard.ino: In function 'bool CbDrawScanner(void*, void*, gslc_teRedrawType)':
gslc_ex06_ard:118: error: narrowing conversion of '(((int)nX) + -30)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFrameRect(pGui,(gslc_tsRect){nX-30,nY-20,60,40},GSLC_COL_BLUE_DK2);
                                           ^
gslc_ex06_ard:118: error: narrowing conversion of '(((int)nY) + -20)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFrameRect(pGui,(gslc_tsRect){nX-30,nY-20,60,40},GSLC_COL_BLUE_DK2);
                                                 ^
gslc_ex06_ard:123: error: narrowing conversion of '(((int)nX) + 1)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX+1,nY+1,10,10},GSLC_COL_RED_DK2);
                                          ^
gslc_ex06_ard:123: error: narrowing conversion of '(((int)nY) + 1)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX+1,nY+1,10,10},GSLC_COL_RED_DK2);
                                               ^
gslc_ex06_ard:124: error: narrowing conversion of '(((int)nX) + 1)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX+1,nY-10,10,10},GSLC_COL_GREEN_DK2);
                                          ^
gslc_ex06_ard:124: error: narrowing conversion of '(((int)nY) + -10)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX+1,nY-10,10,10},GSLC_COL_GREEN_DK2);
                                               ^
gslc_ex06_ard:125: error: narrowing conversion of '(((int)nX) + -10)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX-10,nY+1,10,10},GSLC_COL_BLUE_DK2);
                                          ^
gslc_ex06_ard:125: error: narrowing conversion of '(((int)nY) + 1)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX-10,nY+1,10,10},GSLC_COL_BLUE_DK2);
                                                ^
gslc_ex06_ard:126: error: narrowing conversion of '(((int)nX) + -10)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX-10,nY-10,10,10},GSLC_COL_YELLOW);
                                          ^
gslc_ex06_ard:126: error: narrowing conversion of '(((int)nY) + -10)' from 'int' to 'int16_t {aka short int}' inside { } [-Werror=narrowing]
   gslc_DrawFillRect(pGui,(gslc_tsRect){nX-10,nY-10,10,10},GSLC_COL_YELLOW);
                                                ^
cc1plus: some warnings being treated as errors

Example 7 compiles and runs,
Example 10 compiles and runs.

Best regards,
Wolfgang

Originally posted by @imalipusram in #48 (comment)

@ImpulseAdventure
Copy link
Owner Author

Hi @imalipusram -- I think all of the errors/warnings have been addressed in my latest repo update (ad3feba). Most of these warnings don't show up when compiling in the Arduino IDE with the "Default" compiler warnings setting, but do appear when using the "More" setting.

Note that the gslc_tsXSelNum error is because GSLC_FEATURE_COMPOUND needs to be enabled in your configuration for this particular example (certain advanced elements are not enabled by default to conserve program memory). I do have a note at the top of gslc_ex05_ard, but it can easily be missed. I have now updated the GUIslice troubleshooting wiki page to also flag this message in case others run into it.

I believe this issue has been addressed, but if you have an opportunity to re-test and confirm, that would be great.

@ImpulseAdventure ImpulseAdventure added the waiting confirm Believed to be fixed / OK. Waiting on confirmation. label Oct 14, 2018
@ImpulseAdventure ImpulseAdventure added the device_esp Devices: ESP32 / ESP8266 / M5stack label Jul 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
device_esp Devices: ESP32 / ESP8266 / M5stack waiting confirm Believed to be fixed / OK. Waiting on confirmation.
Projects
None yet
Development

No branches or pull requests

1 participant