neu-rah / ArduinoMenu

Arduino generic menu/interactivity system
GNU Lesser General Public License v2.1
929 stars 189 forks source link

U8G2 + CodeCtrl Crash on ESP32: Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited) #437

Open ironlungx opened 2 months ago

ironlungx commented 2 months ago

The menu starts fine, however upon selecting Config. Tanks, it crashes

// Selecting this submenu, causes everything to crash
MENU(tankMenu, "Config. Tanks", Menu::doNothing, Menu::noEvent,
         Menu::wrapStyle,
         OP("Tare Mode", timeSync::setBothTimeFromNTP, Menu::enterEvent),
         FIELD(levelManager::underGround.low, "UG Min. level", "%", 7, 90, 10,
               1, Menu::doNothing, Menu::noEvent, Menu::wrapStyle),
         FIELD(levelManager::underGround.high, "UG Max. level", "%", 70, 100,
               10, 1, Menu::doNothing, Menu::noEvent, Menu::wrapStyle),
         FIELD(levelManager::overGround.low, "OG Min. level", "%", 7, 90, 10, 1,
               Menu::doNothing, Menu::noEvent, Menu::wrapStyle),
         FIELD(levelManager::overGround.high, "OG Max. level", "%", 70, 100, 10,
               1, Menu::doNothing, Menu::noEvent, Menu::wrapStyle),
         EXIT("<Back"))

    MENU(mainMenu, "Menu", Menu::doNothing, Menu::noEvent, Menu::wrapStyle,
         SUBMENU(tankMenu),
         OP("Sync Time", timeSync::setBothTimeFromNTP, Menu::enterEvent),
         OP("Sys. Info", Menu::doNothing, Menu::enterEvent), EXIT("<Back"))

    const colorDef<uint8_t> colors[6] MEMMODE = {
        {{0, 0}, {0, 1, 1}},  // bgColor
        {{1, 1}, {1, 0, 0}},  // fgColor
        {{1, 1}, {1, 0, 0}},  // valColor
        {{1, 1}, {1, 0, 0}},  // unitColor
        {{0, 1}, {0, 0, 1}},  // cursorColor
        {{1, 1}, {1, 0, 0}},  // titleColor
    };

#define fontName u8g2_font_6x12_tr
#define fontX 6
#define fontY 12
#define offsetX 0
#define offsetY 0
#define U8_Width 128
#define U8_Height 64
#define USE_HWI2C
#define MAX_DEPTH 20

    serialIn serial(Serial);
    MENU_INPUTS(in, &serial);

    MENU_OUTPUTS(out, MAX_DEPTH,
                 U8G2_OUT(u8g2, colors, fontX, fontY, offsetX, offsetY,
                          {0, 0, U8_Width / fontX, U8_Height / fontY}),
                 NONE)
    NAVROOT(nav, mainMenu, MAX_DEPTH, in, out);

Below is the output after selecting Config. Tanks

Guru Meditation Error: Core  1 panic'ed (InstrFetchProhibited). Exception was unhandled.

Core  1 register dump:
PC      : 0x00000000  PS      : 0x00060c30  A0      : 0x800e2537  A1      : 0x3ffb38f0  
A2      : 0x3ffb3a52  A3      : 0x3ffb3d94  A4      : 0x00000000  A5      : 0x3ffb3d28  
A6      : 0x00000000  A7      : 0x00000014  A8      : 0x800e2385  A9      : 0x00000000  
A10     : 0x3ffb3a52  A11     : 0x3ffb3d54  A12     : 0x00000000  A13     : 0x3ffb3d28  
A14     : 0x00000000  A15     : 0x00000014  SAR     : 0x00000019  EXCCAUSE: 0x00000014  
EXCVADDR: 0x00000000  LBEG    : 0x40168cdc  LEND    : 0x40168d08  LCOUNT  : 0x00000000  

Backtrace: 0xfffffffd:0x3ffb38f0 0x400e2534:0x3ffb3980 0x400e25bc:0x3ffb39b0 0x400e26e7:0x3ffb39d0 0x400e26fc:0x3ffb39f0 0x400d3d88:0x3ffb3a10 0x400d3e11:0x3ffb3f00