DOGLCD and LCD_PROGRESS_BAR to coexist
Small changes (and formatting to confuse the diff’er) which first allows DOGLCD and LCD_PROGRESS_BAR to be enabled in tandem, then a #warning (rather than error) that the extra progress bar / message options don’t apply to graphical displays at this time. This leaves open perhaps combining the progress bar and message area in some future (or forked custom) graphical LCD display arrangement (at which time the relevant variables may be moved into ultralcd.cpp with externs in ultralcd.h). I also added a conditional error that the progress bar and the filament display may not work well together.
This commit is contained in:
parent
6e8e9bb41e
commit
326b925557
@ -297,7 +297,7 @@
|
|||||||
// using:
|
// using:
|
||||||
//#define MENU_ADDAUTOSTART
|
//#define MENU_ADDAUTOSTART
|
||||||
|
|
||||||
// Show a progress bar on the LCD when printing from SD?
|
// Show a progress bar on HD44780 LCDs for SD printing
|
||||||
//#define LCD_PROGRESS_BAR
|
//#define LCD_PROGRESS_BAR
|
||||||
|
|
||||||
#ifdef LCD_PROGRESS_BAR
|
#ifdef LCD_PROGRESS_BAR
|
||||||
@ -309,6 +309,12 @@
|
|||||||
#define PROGRESS_MSG_EXPIRE 0
|
#define PROGRESS_MSG_EXPIRE 0
|
||||||
// Enable this to show messages for MSG_TIME then hide them
|
// Enable this to show messages for MSG_TIME then hide them
|
||||||
//#define PROGRESS_MSG_ONCE
|
//#define PROGRESS_MSG_ONCE
|
||||||
|
#ifdef DOGLCD
|
||||||
|
#warning LCD_PROGRESS_BAR does not apply to graphical displays at this time.
|
||||||
|
#endif
|
||||||
|
#ifdef FILAMENT_LCD_DISPLAY
|
||||||
|
#error LCD_PROGRESS_BAR and FILAMENT_LCD_DISPLAY are not fully compatible. Comment out this line to use both.
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
|
// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
|
||||||
|
@ -11,9 +11,10 @@
|
|||||||
* License: http://opensource.org/licenses/BSD-3-Clause
|
* License: http://opensource.org/licenses/BSD-3-Clause
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef DOGM_LCD_IMPLEMENTATION_H
|
||||||
|
#define DOGM_LCD_IMPLEMENTATION_H
|
||||||
|
|
||||||
#ifndef ULTRA_LCD_IMPLEMENTATION_DOGM_H
|
#define MARLIN_VERSION "1.0.2"
|
||||||
#define ULTRA_LCD_IMPLEMENTATION_DOGM_H
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of the LCD display routines for a DOGM128 graphic display. These are common LCD 128x64 pixel graphic displays.
|
* Implementation of the LCD display routines for a DOGM128 graphic display. These are common LCD 128x64 pixel graphic displays.
|
||||||
@ -85,17 +86,21 @@ U8GLIB_NHD_C12864 u8g(DOGLCD_CS, DOGLCD_A0);
|
|||||||
U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0
|
U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void lcd_implementation_init()
|
static void lcd_implementation_init() {
|
||||||
{
|
|
||||||
#ifdef LCD_PIN_BL
|
#ifdef LCD_PIN_BL
|
||||||
pinMode(LCD_PIN_BL, OUTPUT); // Enable LCD backlight
|
pinMode(LCD_PIN_BL, OUTPUT); // Enable LCD backlight
|
||||||
digitalWrite(LCD_PIN_BL, HIGH);
|
digitalWrite(LCD_PIN_BL, HIGH);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
u8g.setContrast(lcd_contrast);
|
u8g.setContrast(lcd_contrast);
|
||||||
|
|
||||||
|
/*
|
||||||
// Uncomment this if you have the first generation (V1.10) of STBs board
|
// Uncomment this if you have the first generation (V1.10) of STBs board
|
||||||
// pinMode(17, OUTPUT); // Enable LCD backlight
|
|
||||||
// digitalWrite(17, HIGH);
|
pinMode(17, OUTPUT); // Enable LCD backlight
|
||||||
|
digitalWrite(17, HIGH);
|
||||||
|
|
||||||
|
//*/
|
||||||
|
|
||||||
u8g.firstPage();
|
u8g.firstPage();
|
||||||
do {
|
do {
|
||||||
@ -105,55 +110,30 @@ static void lcd_implementation_init()
|
|||||||
u8g.setColorIndex(1);
|
u8g.setColorIndex(1);
|
||||||
} while( u8g.nextPage() );
|
} while( u8g.nextPage() );
|
||||||
|
|
||||||
#ifdef LCD_SCREEN_ROT_90
|
#if defined(LCD_SCREEN_ROT_90)
|
||||||
u8g.setRot90(); // Rotate screen by 90°
|
u8g.setRot90(); // Rotate screen by 90°
|
||||||
#endif
|
#elif defined(LCD_SCREEN_ROT_180)
|
||||||
|
|
||||||
#ifdef LCD_SCREEN_ROT_180
|
|
||||||
u8g.setRot180(); // Rotate screen by 180°
|
u8g.setRot180(); // Rotate screen by 180°
|
||||||
#endif
|
#elif defined(LCD_SCREEN_ROT_270)
|
||||||
|
|
||||||
#ifdef LCD_SCREEN_ROT_270
|
|
||||||
u8g.setRot270(); // Rotate screen by 270°
|
u8g.setRot270(); // Rotate screen by 270°
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
u8g.firstPage();
|
u8g.firstPage();
|
||||||
do {
|
do {
|
||||||
// RepRap init bmp
|
// RepRap init bmp
|
||||||
u8g.drawBitmapP(7,7,START_BMPBYTEWIDTH,START_BMPHEIGHT,start_bmp);
|
u8g.drawBitmapP(7,7,START_BMPBYTEWIDTH,START_BMPHEIGHT,start_bmp);
|
||||||
// Welcome message
|
// Welcome message
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
u8g.setFont(u8g_font_5x8);
|
u8g.setFont(u8g_font_5x8);
|
||||||
u8g.drawStr(7,51,"V1.0.2 - marlin.reprap.org");
|
u8g.drawStr(7, 51, "V" MARLIN_VERSION " - marlin.reprap.org");
|
||||||
|
|
||||||
} while( u8g.nextPage() );
|
} while( u8g.nextPage() );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lcd_implementation_clear()
|
static void lcd_implementation_clear() { } // Automatically cleared by Picture Loop
|
||||||
{
|
|
||||||
// NO NEED TO IMPLEMENT LIKE SO. Picture loop automatically clears the display.
|
|
||||||
//
|
|
||||||
// Check this article: http://arduino.cc/forum/index.php?topic=91395.25;wap2
|
|
||||||
//
|
|
||||||
// u8g.firstPage();
|
|
||||||
// do {
|
|
||||||
// u8g.setColorIndex(0);
|
|
||||||
// u8g.drawBox (0, 0, u8g.getWidth(), u8g.getHeight());
|
|
||||||
// u8g.setColorIndex(1);
|
|
||||||
// } while( u8g.nextPage() );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
|
/* Arduino < 1.0.0 is missing a function to print PROGMEM strings, so we need to implement our own */
|
||||||
static void lcd_printPGM(const char* str)
|
static void lcd_printPGM(const char* str) {
|
||||||
{
|
|
||||||
char c;
|
char c;
|
||||||
while((c = pgm_read_byte(str++)) != '\0')
|
while ((c = pgm_read_byte(str++))) u8g.print(c);
|
||||||
{
|
|
||||||
u8g.print(c);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _draw_heater_status(int x, int heater) {
|
static void _draw_heater_status(int x, int heater) {
|
||||||
@ -176,8 +156,7 @@ static void _draw_heater_status(int x, int heater) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lcd_implementation_status_screen()
|
static void lcd_implementation_status_screen() {
|
||||||
{
|
|
||||||
|
|
||||||
static unsigned char fan_rot = 0;
|
static unsigned char fan_rot = 0;
|
||||||
|
|
||||||
@ -192,30 +171,26 @@ static void lcd_implementation_status_screen()
|
|||||||
u8g.drawBox(50,44,2,5);
|
u8g.drawBox(50,44,2,5);
|
||||||
u8g.drawFrame(42,49,10,4);
|
u8g.drawFrame(42,49,10,4);
|
||||||
u8g.drawPixel(50,43);
|
u8g.drawPixel(50,43);
|
||||||
// Progress bar
|
|
||||||
|
// Progress bar frame
|
||||||
u8g.drawFrame(54,49,73,4);
|
u8g.drawFrame(54,49,73,4);
|
||||||
|
|
||||||
// SD Card Progress bar and clock
|
// SD Card Progress bar and clock
|
||||||
u8g.setFont(FONT_STATUSMENU);
|
u8g.setFont(FONT_STATUSMENU);
|
||||||
|
|
||||||
if (IS_SD_PRINTING)
|
if (IS_SD_PRINTING) {
|
||||||
{
|
// Progress bar solid part
|
||||||
// Progress bar
|
u8g.drawBox(55, 50, (unsigned int)(71.f * card.percentDone() / 100.f), 2);
|
||||||
u8g.drawBox(55,50, (unsigned int)( (71 * card.percentDone())/100) ,2);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// do nothing
|
|
||||||
}
|
}
|
||||||
|
|
||||||
u8g.setPrintPos(80,47);
|
u8g.setPrintPos(80,47);
|
||||||
if(starttime != 0)
|
if (starttime != 0) {
|
||||||
{
|
|
||||||
uint16_t time = millis()/60000 - starttime/60000;
|
uint16_t time = millis()/60000 - starttime/60000;
|
||||||
|
|
||||||
u8g.print(itostr2(time/60));
|
u8g.print(itostr2(time/60));
|
||||||
u8g.print(':');
|
u8g.print(':');
|
||||||
u8g.print(itostr2(time%60));
|
u8g.print(itostr2(time%60));
|
||||||
}else{
|
}
|
||||||
|
else {
|
||||||
lcd_printPGM(PSTR("--:--"));
|
lcd_printPGM(PSTR("--:--"));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -242,7 +217,6 @@ static void lcd_implementation_status_screen()
|
|||||||
u8g.print("---");
|
u8g.print("---");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// X, Y, Z-Coordinates
|
// X, Y, Z-Coordinates
|
||||||
u8g.setFont(FONT_STATUSMENU);
|
u8g.setFont(FONT_STATUSMENU);
|
||||||
u8g.drawBox(0,29,128,10);
|
u8g.drawBox(0,29,128,10);
|
||||||
@ -282,11 +256,10 @@ static void lcd_implementation_status_screen()
|
|||||||
#ifndef FILAMENT_LCD_DISPLAY
|
#ifndef FILAMENT_LCD_DISPLAY
|
||||||
u8g.print(lcd_status_message);
|
u8g.print(lcd_status_message);
|
||||||
#else
|
#else
|
||||||
if(message_millis+5000>millis()){ //Display both Status message line and Filament display on the last line
|
if (millis() < message_millis + 5000) { //Display both Status message line and Filament display on the last line
|
||||||
u8g.print(lcd_status_message);
|
u8g.print(lcd_status_message);
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
{
|
|
||||||
lcd_printPGM(PSTR("dia:"));
|
lcd_printPGM(PSTR("dia:"));
|
||||||
u8g.print(ftostr12ns(filament_width_meas));
|
u8g.print(ftostr12ns(filament_width_meas));
|
||||||
lcd_printPGM(PSTR(" factor:"));
|
lcd_printPGM(PSTR(" factor:"));
|
||||||
@ -294,35 +267,31 @@ static void lcd_implementation_status_screen()
|
|||||||
u8g.print('%');
|
u8g.print('%');
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, char pre_char, char post_char)
|
static void lcd_implementation_drawmenu_generic(uint8_t row, const char* pstr, char pre_char, char post_char) {
|
||||||
{
|
|
||||||
char c;
|
char c;
|
||||||
|
|
||||||
uint8_t n = LCD_WIDTH - 1 - 2;
|
uint8_t n = LCD_WIDTH - 1 - 2;
|
||||||
|
|
||||||
if ((pre_char == '>') || (pre_char == LCD_STR_UPLEVEL[0] ))
|
if ((pre_char == '>') || (pre_char == LCD_STR_UPLEVEL[0] )) {
|
||||||
{
|
|
||||||
u8g.setColorIndex(1); // black on white
|
u8g.setColorIndex(1); // black on white
|
||||||
u8g.drawBox (0, row*DOG_CHAR_HEIGHT + 3, 128, DOG_CHAR_HEIGHT);
|
u8g.drawBox (0, row*DOG_CHAR_HEIGHT + 3, 128, DOG_CHAR_HEIGHT);
|
||||||
u8g.setColorIndex(0); // following text must be white on black
|
u8g.setColorIndex(0); // following text must be white on black
|
||||||
} else u8g.setColorIndex(1); // unmarked text is black on white
|
}
|
||||||
|
else {
|
||||||
|
u8g.setColorIndex(1); // unmarked text is black on white
|
||||||
|
}
|
||||||
|
|
||||||
u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT);
|
u8g.setPrintPos(0 * DOG_CHAR_WIDTH, (row + 1) * DOG_CHAR_HEIGHT);
|
||||||
u8g.print(pre_char == '>' ? ' ' : pre_char); // Row selector is obsolete
|
u8g.print(pre_char == '>' ? ' ' : pre_char); // Row selector is obsolete
|
||||||
|
|
||||||
|
while((c = pgm_read_byte(pstr))) {
|
||||||
while( (c = pgm_read_byte(pstr)) != '\0' )
|
|
||||||
{
|
|
||||||
u8g.print(c);
|
u8g.print(c);
|
||||||
pstr++;
|
pstr++;
|
||||||
n--;
|
n--;
|
||||||
}
|
}
|
||||||
while(n--){
|
while(n--) u8g.print(' ');
|
||||||
u8g.print(' ');
|
|
||||||
}
|
|
||||||
|
|
||||||
u8g.print(post_char);
|
u8g.print(post_char);
|
||||||
u8g.print(' ');
|
u8g.print(' ');
|
||||||
@ -391,8 +360,7 @@ static void _drawmenu_setting_edit_generic(uint8_t row, const char* pstr, char p
|
|||||||
#define lcd_implementation_drawmenu_setting_edit_callback_bool_selected(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
#define lcd_implementation_drawmenu_setting_edit_callback_bool_selected(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, '>', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
||||||
#define lcd_implementation_drawmenu_setting_edit_callback_bool(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
#define lcd_implementation_drawmenu_setting_edit_callback_bool(row, pstr, pstr2, data, callback) lcd_implementation_drawmenu_setting_edit_generic_P(row, pstr, ' ', (*(data))?PSTR(MSG_ON):PSTR(MSG_OFF))
|
||||||
|
|
||||||
void lcd_implementation_drawedit(const char* pstr, char* value)
|
void lcd_implementation_drawedit(const char* pstr, char* value) {
|
||||||
{
|
|
||||||
u8g.setPrintPos(0 * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW );
|
u8g.setPrintPos(0 * DOG_CHAR_WIDTH_LARGE, (u8g.getHeight() - 1 - DOG_CHAR_HEIGHT_LARGE) - (1 * DOG_CHAR_HEIGHT_LARGE) - START_ROW );
|
||||||
u8g.setFont(u8g_font_9x18);
|
u8g.setFont(u8g_font_9x18);
|
||||||
lcd_printPGM(pstr);
|
lcd_printPGM(pstr);
|
||||||
@ -445,13 +413,10 @@ static void _drawmenu_sd(uint8_t row, const char* pstr, const char* filename, ch
|
|||||||
#define lcd_implementation_drawmenu_function_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, '>', ' ')
|
#define lcd_implementation_drawmenu_function_selected(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, '>', ' ')
|
||||||
#define lcd_implementation_drawmenu_function(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', ' ')
|
#define lcd_implementation_drawmenu_function(row, pstr, data) lcd_implementation_drawmenu_generic(row, pstr, ' ', ' ')
|
||||||
|
|
||||||
static void lcd_implementation_quick_feedback()
|
static void lcd_implementation_quick_feedback() {
|
||||||
{
|
|
||||||
|
|
||||||
#if BEEPER > -1
|
#if BEEPER > -1
|
||||||
SET_OUTPUT(BEEPER);
|
SET_OUTPUT(BEEPER);
|
||||||
for(int8_t i=0;i<10;i++)
|
for(int8_t i=0; i<10; i++) {
|
||||||
{
|
|
||||||
WRITE(BEEPER,HIGH);
|
WRITE(BEEPER,HIGH);
|
||||||
delay(3);
|
delay(3);
|
||||||
WRITE(BEEPER,LOW);
|
WRITE(BEEPER,LOW);
|
||||||
@ -459,6 +424,5 @@ static void lcd_implementation_quick_feedback()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif//ULTRA_LCD_IMPLEMENTATION_DOGM_H
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif //__DOGM_LCD_IMPLEMENTATION_H
|
||||||
|
@ -195,7 +195,7 @@ static void lcd_goto_menu(menuFunc_t menu, const uint32_t encoder=0, const bool
|
|||||||
if (feedback) lcd_quick_feedback();
|
if (feedback) lcd_quick_feedback();
|
||||||
|
|
||||||
// For LCD_PROGRESS_BAR re-initialize the custom characters
|
// For LCD_PROGRESS_BAR re-initialize the custom characters
|
||||||
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
|
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) && !defined(DOGLCD)
|
||||||
lcd_set_custom_characters(menu == lcd_status_screen);
|
lcd_set_custom_characters(menu == lcd_status_screen);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -204,7 +204,7 @@ static void lcd_goto_menu(menuFunc_t menu, const uint32_t encoder=0, const bool
|
|||||||
/* Main status screen. It's up to the implementation specific part to show what is needed. As this is very display dependent */
|
/* Main status screen. It's up to the implementation specific part to show what is needed. As this is very display dependent */
|
||||||
static void lcd_status_screen()
|
static void lcd_status_screen()
|
||||||
{
|
{
|
||||||
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
|
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) && !defined(DOGLCD)
|
||||||
uint16_t mil = millis();
|
uint16_t mil = millis();
|
||||||
#ifndef PROGRESS_MSG_ONCE
|
#ifndef PROGRESS_MSG_ONCE
|
||||||
if (mil > progressBarTick + PROGRESS_BAR_MSG_TIME + PROGRESS_BAR_BAR_TIME) {
|
if (mil > progressBarTick + PROGRESS_BAR_MSG_TIME + PROGRESS_BAR_BAR_TIME) {
|
||||||
@ -236,11 +236,12 @@ static void lcd_status_screen()
|
|||||||
lcd_status_update_delay--;
|
lcd_status_update_delay--;
|
||||||
else
|
else
|
||||||
lcdDrawUpdate = 1;
|
lcdDrawUpdate = 1;
|
||||||
if (lcdDrawUpdate)
|
|
||||||
{
|
if (lcdDrawUpdate) {
|
||||||
lcd_implementation_status_screen();
|
lcd_implementation_status_screen();
|
||||||
lcd_status_update_delay = 10; /* redraw the main screen every second. This is easier then trying keep track of all things that change on the screen */
|
lcd_status_update_delay = 10; /* redraw the main screen every second. This is easier then trying keep track of all things that change on the screen */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
|
|
||||||
bool current_click = LCD_CLICKED;
|
bool current_click = LCD_CLICKED;
|
||||||
@ -265,7 +266,7 @@ static void lcd_status_screen()
|
|||||||
{
|
{
|
||||||
lcd_goto_menu(lcd_main_menu);
|
lcd_goto_menu(lcd_main_menu);
|
||||||
lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
|
lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
|
||||||
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
|
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) && !defined(DOGLCD)
|
||||||
currentMenu == lcd_status_screen
|
currentMenu == lcd_status_screen
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
@ -1191,7 +1192,7 @@ void lcd_update()
|
|||||||
lcdDrawUpdate = 2;
|
lcdDrawUpdate = 2;
|
||||||
lcd_oldcardstatus = IS_SD_INSERTED;
|
lcd_oldcardstatus = IS_SD_INSERTED;
|
||||||
lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
|
lcd_implementation_init( // to maybe revive the LCD if static electricity killed it.
|
||||||
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
|
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) && !defined(DOGLCD)
|
||||||
currentMenu == lcd_status_screen
|
currentMenu == lcd_status_screen
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
@ -1294,7 +1295,7 @@ void lcd_finishstatus() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
lcd_status_message[LCD_WIDTH] = '\0';
|
lcd_status_message[LCD_WIDTH] = '\0';
|
||||||
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT)
|
#if defined(LCD_PROGRESS_BAR) && defined(SDSUPPORT) && !defined(DOGLCD)
|
||||||
#if PROGRESS_MSG_EXPIRE > 0
|
#if PROGRESS_MSG_EXPIRE > 0
|
||||||
messageTick =
|
messageTick =
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user