KrisKasprzak / Adafruit_ILI9341_Menu

Menu code for Adafruit_ILI9341-based displays
26 stars 9 forks source link

Library example will not compile without lots of errors #8

Closed bobcroft closed 2 weeks ago

bobcroft commented 2 weeks ago

I tried this library on a ESP32 Devkit V1 with a 3.5" TFT SPI display using latest Arduino IDE and it compliled with lots of errors. So, I reverted the Arduino to 2.17 still no good. Errors are as below; c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'int EditMenu::addNI(const char*, float, float, float, float, byte, const char*)': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:97:3: error: 'data' was not declared in this scope data[totalID] = Data; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:97:3: note: suggested alternative: 'Data' data[totalID] = Data; ^~~~ Data c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'int EditMenu::addMono(const char, float, float, float, float, byte, const char, const unsigned char, uint8_t, uint8_t)': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:122:3: error: 'data' was not declared in this scope data[totalID] = Data; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:122:3: note: suggested alternative: 'Data' data[totalID] = Data; ^~~~ Data c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'int EditMenu::add565(const char, float, float, float, float, byte, const char, const uint16_t*, uint8_t, uint8_t)': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:151:3: error: 'data' was not declared in this scope data[totalID] = Data; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:151:3: note: suggested alternative: 'Data' data[totalID] = Data; ^~~~ Data c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'void EditMenu::drawItems()': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:517:39: error: 'data' was not declared in this scope d->print(itemtext[i + sr][(int) data[i + sr]]); ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:517:39: note: suggested alternative: 'ditc' d->print(itemtext[i + sr][(int) data[i + sr]]); ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:520:16: error: 'data' was not declared in this scope d->print(data[i + sr], dec[i + sr]); ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:520:16: note: suggested alternative: 'ditc' d->print(data[i + sr], dec[i + sr]); ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'void EditMenu::drawRow(int)': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:700:35: error: 'data' was not declared in this scope d->print(itemtext[ID][(int) data[ID]]); ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:700:35: note: suggested alternative: 'ditc' d->print(itemtext[ID][(int) data[ID]]); ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:703:16: error: 'data' was not declared in this scope d->print(data[ID], dec[ID]); ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:703:16: note: suggested alternative: 'ditc' d->print(data[ID], dec[ID]); ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'void EditMenu::incrementUp()': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:746:10: error: 'data' was not declared in this scope if ((data[currentID] + inc[currentID]) < high[currentID]) { ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:746:10: note: suggested alternative: 'ditc' if ((data[currentID] + inc[currentID]) < high[currentID]) { ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:762:5: error: 'data' was not declared in this scope data[currentID] += inc[currentID]; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:762:5: note: suggested alternative: 'ditc' data[currentID] += inc[currentID]; ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:778:22: error: 'data' was not declared in this scope value[currentID] = data[currentID]; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:778:22: note: suggested alternative: 'ditc' value[currentID] = data[currentID]; ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'void EditMenu::incrementDown()': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:790:10: error: 'data' was not declared in this scope if ((data[currentID] - inc[currentID]) >= low[currentID]) { ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:790:10: note: suggested alternative: 'ditc' if ((data[currentID] - inc[currentID]) >= low[currentID]) { ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:804:5: error: 'data' was not declared in this scope data[currentID] -= inc[currentID]; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:804:5: note: suggested alternative: 'ditc' data[currentID] -= inc[currentID]; ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:820:22: error: 'data' was not declared in this scope value[currentID] = data[currentID]; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:820:22: note: suggested alternative: 'ditc' value[currentID] = data[currentID]; ^~~~ ditc c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp: In member function 'void EditMenu::SetItemValue(int, float)': c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:912:3: error: 'data' was not declared in this scope data[ID] = ItemValue; ^~~~ c:\Users\Bob\OneDrive\Documents\Arduino\libraries\Adafruit_ILI9341_Menu-main\Adafruit_ILI9341_Menu.cpp:912:3: note: suggested alternative: 'ditc' data[ID] = ItemValue; ^~~~ ditc

exit status 1

Compilation error: exit status 1 Do you have any idea what is wrong please. I would really like to use your library, if I could get it to compile on the Arduino IDE I would then try to convert it to use platformIO. Can it be used with the TFT_eSPI library?

KrisKasprzak commented 2 weeks ago

not sure how the variable data was ommited from the .h file, but it's added back and lib compiles w/o errors

you can download the lib and overwrite your current or you can edit the file Adafruit_ILI9341_Menu.h and at line 180 or so add

float data[MAX_OPT+1];

Embarrassing error--really not sure how this line could have been removed since it's core to lib operation.