Skip to content

How i should run a LCDMENU in Arduino #330

Description

@mrzfx-96

hello everybody, I'm using this following code from Forntohs website and it doesn't work because of this error pleas help me to solve this problem.

In file included from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\lgt8fx8p/pins_arduino.h:36:0,
from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\cores\lgt8f/Arduino.h:626,
from C:\Users\Reza\AppData\Local\arduino\sketches\DAF94D33E26C690D96FDC586EC29A7BB\sketch\sketch_jan28a.ino.cpp:1:
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:126:12: error: expected identifier before numeric constant
#define C0 14
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:54:9: note: in expansion of macro 'C0'
C0,
^~
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:126:12: error: expected '}' before numeric constant
#define C0 14
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:54:9: note: in expansion of macro 'C0'
C0,
^~
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:126:12: error: expected unqualified-id before numeric constant
#define C0 14
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:54:9: note: in expansion of macro 'C0'
C0,
^~
In file included from C:\Users\Reza\AppData\Local\Temp.arduinoIDE-unsaved2025028-8428-znllj3.a6n4\sketch_jan28a\sketch_jan28a.ino:4:0:
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:95:5: error: 'CodeSet' does not name a type
CodeSet codeSet = CodeSet::C0;
^~~~~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h: In function 'void reset()':
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:119:9: error: 'codeSet' was not declared in this scope
codeSet = CodeSet::C0;
^~~~~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:119:19: error: 'CodeSet' has not been declared
codeSet = CodeSet::C0;
^~~~~~~
In file included from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\lgt8fx8p/pins_arduino.h:36:0,
from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\cores\lgt8f/Arduino.h:626,
from C:\Users\Reza\AppData\Local\arduino\sketches\DAF94D33E26C690D96FDC586EC29A7BB\sketch\sketch_jan28a.ino.cpp:1:
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:126:12: error: expected unqualified-id before numeric constant
#define C0 14
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:119:28: note: in expansion of macro 'C0'
codeSet = CodeSet::C0;
^~
In file included from C:\Users\Reza\AppData\Local\Temp.arduinoIDE-unsaved2025028-8428-znllj3.a6n4\sketch_jan28a\sketch_jan28a.ino:4:0:
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h: In function 'void handleIdle()':
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:140:17: error: 'menu' was not declared in this scope
menu->process(ENTER);
^~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:140:17: note: suggested alternative: 'min'
menu->process(ENTER);
^~~~
min
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h: In function 'void handleReceived(unsigned char)':
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:153:17: error: 'codeSet' was not declared in this scope
switch (codeSet) {
^~~~~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:154:18: error: 'CodeSet' has not been declared
case CodeSet::C0:
^~~~~~~
In file included from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\lgt8fx8p/pins_arduino.h:36:0,
from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\cores\lgt8f/Arduino.h:626,
from C:\Users\Reza\AppData\Local\arduino\sketches\DAF94D33E26C690D96FDC586EC29A7BB\sketch\sketch_jan28a.ino.cpp:1:
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:126:12: error: expected unqualified-id before numeric constant
#define C0 14
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:154:27: note: in expansion of macro 'C0'
case CodeSet::C0:
^~
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:126:12: error: expected ':' before numeric constant
#define C0 14
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:154:27: note: in expansion of macro 'C0'
case CodeSet::C0:
^~
In file included from C:\Users\Reza\AppData\Local\Temp.arduinoIDE-unsaved2025028-8428-znllj3.a6n4\sketch_jan28a\sketch_jan28a.ino:4:0:
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:154:29: error: expected ';' before ':' token
case CodeSet::C0:
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:175:18: error: 'CodeSet' has not been declared
case CodeSet::C1:
^~~~~~~
In file included from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\lgt8fx8p/pins_arduino.h:36:0,
from C:\Users\Reza\AppData\Local\Arduino15\packages\lgt8fx\hardware\avr\2.0.7\cores\lgt8f/Arduino.h:626,
from C:\Users\Reza\AppData\Local\arduino\sketches\DAF94D33E26C690D96FDC586EC29A7BB\sketch\sketch_jan28a.ino.cpp:1:
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:127:12: error: expected unqualified-id before numeric constant
#define C1 15
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:175:27: note: in expansion of macro 'C1'
case CodeSet::C1:
^~
c:\users\reza\appdata\local\arduino15\packages\lgt8fx\hardware\avr\2.0.7\variants\standard\pins_arduino.h:127:12: error: expected ':' before numeric constant
#define C1 15
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:175:27: note: in expansion of macro 'C1'
case CodeSet::C1:
^~
In file included from C:\Users\Reza\AppData\Local\Temp.arduinoIDE-unsaved2025028-8428-znllj3.a6n4\sketch_jan28a\sketch_jan28a.ino:4:0:
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:175:29: error: expected ';' before ':' token
case CodeSet::C1:
^
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:185:18: error: 'CodeSet' has not been declared
case CodeSet::C2_CSI:
^~~~~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:189:29: error: 'menu' was not declared in this scope
menu->process(UP);
^~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:189:29: note: suggested alternative: 'min'
menu->process(UP);
^~~~
min
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h: At global scope:
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:236:3: error: expected unqualified-id before 'public'
public:
^~~~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:240:20: error: virt-specifiers in 'observe' not allowed outside a class definition
void observe() override {
^~~~~~~~
c:\Users\Reza\Documents\Arduino\libraries\LcdMenu\src/input/KeyboardAdapter.h:251:1: error: expected declaration before '}' token
};
^

exit status 1

Compilation error: exit status 1

`#include <LcdMenu.h>
#include <MenuScreen.h>
#include <display/LiquidCrystal_I2CAdapter.h>
#include <input/KeyboardAdapter.h>
#include <renderer/CharacterDisplayRenderer.h>

#define LCD_ROWS 2
#define LCD_COLS 16

// Initialize the main menu items
// clang-format off
MENU_SCREEN(mainScreen, mainItems,
ITEM_BASIC("Start service"),
ITEM_BASIC("Connect to WiFi"),
ITEM_BASIC("Settings"),
ITEM_BASIC("Blink SOS"),
ITEM_BASIC("Blink random"));
// clang-format on

LiquidCrystal_I2C lcd(0x27, LCD_COLS, LCD_ROWS);
CharacterDisplayRenderer renderer(new LiquidCrystal_I2CAdapter(&lcd), LCD_COLS, LCD_ROWS);
LcdMenu menu(renderer);
KeyboardAdapter keyboard(&menu, &Serial);

void setup() {
Serial.begin(9600);
// Initialize LcdMenu with the menu items
renderer.begin();
menu.setScreen(mainScreen);
}

void loop() {
keyboard.observe();
}`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions