Since the class "MainMenu" was used within a static variable the
initialization of the object (constructor call) was done before Arduino
library startup. It always caused a crash when using AVRStudio with
JTAG debugger (caused from calling the LCD initialization / the lot of
I/O work / the stack used during this calls). By moving the LCD_INIT
out of the constructor and using an explicit call inside of Arduino
setup() implementation immediately fixed all problems and the JTAG
debugger runs fine.
st_init(); // Initialize stepper;
wd_init();
setup_photpin();
+
+ LCD_INIT;
}
char *ftostr3(const float &x);
-
+ #define LCD_INIT lcd_init();
#define LCD_MESSAGE(x) lcd_status(x);
#define LCD_MESSAGEPGM(x) lcd_statuspgm(MYPGM(x));
#define LCD_STATUS lcd_status()
#else //no lcd
+ #define LCD_INIT
#define LCD_STATUS
#define LCD_MESSAGE(x)
#define LCD_MESSAGEPGM(x)
void lcd_init()
{
//beep();
+ #ifdef ULTIPANEL
+ buttons_init();
+ #endif
byte Degree[8] =
{
displayStartingRow=0;
activeline=0;
force_lcd_update=true;
- #ifdef ULTIPANEL
- buttons_init();
- #endif
- lcd_init();
linechanging=false;
tune=false;
}