#ifndef ULTRALCD_H #define ULTRALCD_H #include "Marlin.h" #ifdef ULTRA_LCD #if LANGUAGE_CHOICE == 6 #include "LiquidCrystalRus.h" #define LCD_CLASS LiquidCrystalRus #else #include #define LCD_CLASS LiquidCrystal #endif void lcd_update(); void lcd_init(); void lcd_setstatus(const char* message); void lcd_setstatuspgm(const char* message); void lcd_setalertstatuspgm(const char* message); void lcd_buttons_update(); void lcd_buttons_init(); #define LCD_MESSAGEPGM(x) lcd_setstatuspgm(PSTR(x)) #define LCD_ALERTMESSAGEPGM(x) lcd_setalertstatuspgm(PSTR(x)) #define LCD_UPDATE_INTERVAL 100 #define LCD_TIMEOUT_TO_STATUS 15000 extern volatile uint8_t buttons; //the last checked buttons in a bit array. extern int plaPreheatHotendTemp; extern int plaPreheatHPBTemp; extern int plaPreheatFanSpeed; extern int absPreheatHotendTemp; extern int absPreheatHPBTemp; extern int absPreheatFanSpeed; #ifdef NEWPANEL #define EN_C (1<(LCD_HEIGHT-1+1)*lcdslow) { lineoffset++; curencoderpos=(LCD_HEIGHT-1)*lcdslow; if(lineoffset>(maxlines+1-LCD_HEIGHT)) lineoffset=maxlines+1-LCD_HEIGHT; if(curencoderpos>maxlines*lcdslow) curencoderpos=maxlines*lcdslow; } lastencoderpos=encoderpos=curencoderpos; activeline=curencoderpos/lcdslow; if(activeline<0) activeline=0; if(activeline>LCD_HEIGHT-1) activeline=LCD_HEIGHT-1; if(activeline>maxlines) { activeline=maxlines; curencoderpos=maxlines*lcdslow; } if(lastlineoffset!=lineoffset) force_lcd_update=true; lcd.setCursor(0,activeline);lcd.print((activeline+lineoffset)?'>':'\003'); } } FORCE_INLINE void clearIfNecessary() { if(lastlineoffset!=lineoffset ||force_lcd_update) { force_lcd_update=true; lcd.clear(); } } }; #else //no lcd FORCE_INLINE void lcd_update() {} FORCE_INLINE void lcd_init() {} FORCE_INLINE void lcd_setstatus(const char* message) {} FORCE_INLINE void lcd_buttons_init() {} FORCE_INLINE void lcd_buttons_update() {} #define LCD_MESSAGEPGM(x) #define LCD_ALERTMESSAGEPGM(x) #define CLICKED false #define BLOCK ; #endif char *itostr2(const uint8_t &x); char *itostr31(const int &xx); char *itostr3(const int &xx); char *itostr4(const int &xx); char *ftostr3(const float &x); char *ftostr31(const float &x); char *ftostr32(const float &x); char *ftostr51(const float &x); char *ftostr52(const float &x); #endif //ULTRALCD