-
Couldn't load subscription status.
- Fork 52
Description
Is there an existing issue for this?
- I have searched the existing issues.
Library version
Yes, from Arduino library manager.
Bug description
switch_focus() and set_focusedLine() functions do not work on ESP32 platform, though the code compiles fine without any issue.
`#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <LiquidMenu.h>
#include <Button.h>
// The I2C LCD object
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Button objects instantiation
const bool pullup = true;
Button left(17);
Button right(16);
Button up(19);
Button down(18);
Button enter(23);
bool focus = false;
LiquidLine welcome_line1(1, 0, "LiquidMenu Q", LIQUIDMENU_VERSION);
LiquidLine welcome_line2(1, 1, "Hello Menu I2C");
LiquidScreen welcome_screen(welcome_line1, welcome_line2);
LiquidLine analogReading_line(1, 0, "Analog: ", analogReading);
LiquidLine DigitalReading_line(1, 1, "Digital: ");
LiquidScreen secondary_screen(analogReading_line, DigitalReading_line);
LiquidMenu menu(lcd);
void setup() {
Serial.begin(115200);
pinMode(analogPin, INPUT);
left.begin();
right.begin();
up.begin();
down.begin();
enter.begin();
lcd.init();
lcd.backlight();
welcome_screen.set_focusPosition(Position::LEFT);
secondary_screen.set_focusPosition(Position::LEFT);
menu.init();
menu.add_screen(welcome_screen);
menu.add_screen(secondary_screen);
menu.update();
Serial.println(menu.get_focusedLine());
}
void loop()
{
if (enter.released()) {
Serial.println("ENTER button pressed");
focus = !focus;
menu.switch_focus(focus);
Serial.print("focus line: "); Serial.println(menu.get_focusedLine());
Serial.print("focus: ");Serial.println(focus);
}
if (left.released()) {
Serial.println("LEFT button pressed");
menu.previous_screen();
}
}
`
Compiler output
WARNING: library LiquidCrystal I2C claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
WARNING: library LiquidMenu claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
In file included from C:\Users\karim\Documents\Arduino\ESP32_I2C_menu_buttons\ESP32_I2C_menu_buttons.ino:32:
C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src/LiquidMenu.h:55:122: note: '#pragma message: LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.'
55 | # pragma message ("LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.")
| ^
In file included from C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidSystem.cpp:30:
C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidMenu.h:55:122: note: '#pragma message: LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.'
55 | # pragma message ("LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.")
| ^
In file included from C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\recognizeType.cpp:7:
C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidMenu.h:55:122: note: '#pragma message: LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.'
55 | # pragma message ("LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.")
| ^
In file included from C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidScreen.cpp:30:
C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidMenu.h:55:122: note: '#pragma message: LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.'
55 | # pragma message ("LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.")
| ^
In file included from C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidMenu.cpp:30:
C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidMenu.h:55:122: note: '#pragma message: LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.'
55 | # pragma message ("LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.")
| ^
In file included from C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidLine.cpp:30:
C:\Users\karim\Documents\Arduino\libraries\LiquidMenu\src\LiquidMenu.h:55:122: note: '#pragma message: LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.'
55 | # pragma message ("LiquidMenu: Selected 'LiquidCrystal_I2C' (I2C) library. Edit 'LiquidMenu_config.h' file to change it.")
| ^
Sketch uses 303925 bytes (23%) of program storage space. Maximum is 1310720 bytes.
Global variables use 21136 bytes (6%) of dynamic memory, leaving 306544 bytes for local variables. Maximum is 327680 bytes.