diff --git a/Firmware/LiquidCrystal_Prusa.cpp b/Firmware/LiquidCrystal_Prusa.cpp index 92f666345..444f12719 100644 --- a/Firmware/LiquidCrystal_Prusa.cpp +++ b/Firmware/LiquidCrystal_Prusa.cpp @@ -238,14 +238,14 @@ void LiquidCrystal_Prusa::begin_noclear(uint8_t cols, uint8_t lines, uint8_t dot // set the entry mode command(LCD_ENTRYMODESET | _displaymode); delayMicroseconds(60); - +/* setCursor(8,0); print(" "); setCursor(8,1); print(" "); setCursor(6,2); print(" "); - +*/ } @@ -351,11 +351,11 @@ void LiquidCrystal_Prusa::createChar_P(uint8_t location, const uint8_t* charmap) /*********** mid level commands, for sending data/cmds */ -inline void LiquidCrystal_Prusa::command(uint8_t value) { +void LiquidCrystal_Prusa::command(uint8_t value) { send(value, LOW); } -inline size_t LiquidCrystal_Prusa::write(uint8_t value) { +size_t LiquidCrystal_Prusa::write(uint8_t value) { if (value == '\n') { if (_currline > 3) _currline = -1; @@ -374,7 +374,7 @@ inline size_t LiquidCrystal_Prusa::write(uint8_t value) { //CursorShow "\x1b[?25h" //CursorHide "\x1b[?25l" -inline size_t LiquidCrystal_Prusa::escape_write(uint8_t chr) +size_t LiquidCrystal_Prusa::escape_write(uint8_t chr) { #define escape_cnt (_escape[0]) //escape character counter #define is_num_msk (_escape[1]) //numeric character bit mask @@ -550,170 +550,3 @@ void LiquidCrystal_Prusa::write8bits(uint8_t value) { pulseEnable(); } - -void LiquidCrystal_Prusa::print(const char* s) -{ - while (*s) write(*(s++)); -} - -void LiquidCrystal_Prusa::print(char c, int base) -{ - print((long) c, base); -} - -void LiquidCrystal_Prusa::print(unsigned char b, int base) -{ - print((unsigned long) b, base); -} - -void LiquidCrystal_Prusa::print(int n, int base) -{ - print((long) n, base); -} - -void LiquidCrystal_Prusa::print(unsigned int n, int base) -{ - print((unsigned long) n, base); -} - -void LiquidCrystal_Prusa::print(long n, int base) -{ - if (base == 0) { - write(n); - } else if (base == 10) { - if (n < 0) { - print('-'); - n = -n; - } - printNumber(n, 10); - } else { - printNumber(n, base); - } -} - -void LiquidCrystal_Prusa::print(unsigned long n, int base) -{ - if (base == 0) write(n); - else printNumber(n, base); -} - -void LiquidCrystal_Prusa::print(double n, int digits) -{ - printFloat(n, digits); -} - -void LiquidCrystal_Prusa::println(void) -{ - print('\r'); - print('\n'); -} - -/*void LiquidCrystal_Prusa::println(const String &s) -{ - print(s); - println(); -}*/ - -void LiquidCrystal_Prusa::println(const char c[]) -{ - print(c); - println(); -} - -void LiquidCrystal_Prusa::println(char c, int base) -{ - print(c, base); - println(); -} - -void LiquidCrystal_Prusa::println(unsigned char b, int base) -{ - print(b, base); - println(); -} - -void LiquidCrystal_Prusa::println(int n, int base) -{ - print(n, base); - println(); -} - -void LiquidCrystal_Prusa::println(unsigned int n, int base) -{ - print(n, base); - println(); -} - -void LiquidCrystal_Prusa::println(long n, int base) -{ - print(n, base); - println(); -} - -void LiquidCrystal_Prusa::println(unsigned long n, int base) -{ - print(n, base); - println(); -} - -void LiquidCrystal_Prusa::println(double n, int digits) -{ - print(n, digits); - println(); -} - -void LiquidCrystal_Prusa::printNumber(unsigned long n, uint8_t base) -{ - unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars. - unsigned long i = 0; - - if (n == 0) { - print('0'); - return; - } - - while (n > 0) { - buf[i++] = n % base; - n /= base; - } - - for (; i > 0; i--) - print((char) (buf[i - 1] < 10 ? - '0' + buf[i - 1] : - 'A' + buf[i - 1] - 10)); -} - -void LiquidCrystal_Prusa::printFloat(double number, uint8_t digits) -{ - // Handle negative numbers - if (number < 0.0) - { - print('-'); - number = -number; - } - - // Round correctly so that print(1.999, 2) prints as "2.00" - double rounding = 0.5; - for (uint8_t i=0; i 0) - print("."); - - // Extract digits from the remainder one at a time - while (digits-- > 0) - { - remainder *= 10.0; - int toPrint = int(remainder); - print(toPrint); - remainder -= toPrint; - } -} diff --git a/Firmware/LiquidCrystal_Prusa.h b/Firmware/LiquidCrystal_Prusa.h index 3d5aa82e0..4efbe521a 100644 --- a/Firmware/LiquidCrystal_Prusa.h +++ b/Firmware/LiquidCrystal_Prusa.h @@ -3,7 +3,6 @@ #include #include -//#include "Print.h" // commands #define LCD_CLEARDISPLAY 0x01 @@ -82,34 +81,8 @@ public: void createChar_P(uint8_t, const uint8_t*); void setCursor(uint8_t, uint8_t); -// virtual size_t write(uint8_t); size_t write(uint8_t); void command(uint8_t); - - void print(const char*); - void print(char, int = 0); - void print(unsigned char, int = 0); - void print(int, int = 10); - void print(unsigned int, int = 10); - void print(long, int = 10); - void print(unsigned long, int = 10); - void print(double, int = 2); - -// void println(const String &s); - void println(const char[]); - void println(char, int = 0); - void println(unsigned char, int = 0); - void println(int, int = 10); - void println(unsigned int, int = 10); - void println(long, int = 10); - void println(unsigned long, int = 10); - void println(double, int = 2); - void println(void); - - void printNumber(unsigned long n, uint8_t base); - void printFloat(double number, uint8_t digits); - -// using Print::write; private: void send(uint8_t, uint8_t); void write4bits(uint8_t); diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index ec8535f9b..c7062efb8 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -62,8 +62,6 @@ #define MYSERIAL MSerial #endif -extern FILE _lcdout; -#define lcdout (&_lcdout) #include "lcd.h" extern FILE _uartout; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f0e4b2868..c42e94c7f 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -59,7 +59,6 @@ #include "printers.h" -#include "lcd.h" #include "menu.h" #include "ultralcd.h" @@ -879,7 +878,8 @@ void factory_reset(char level, bool quiet) er_progress = 0; lcd_puts_at_P(3, 3, PSTR(" ")); - lcd_print_at(3, 3, er_progress); + lcd_set_cursor(3, 3); + lcd_print(er_progress); // Erase EEPROM for (int i = 0; i < 4096; i++) { @@ -888,7 +888,8 @@ void factory_reset(char level, bool quiet) if (i % 41 == 0) { er_progress++; lcd_puts_at_P(3, 3, PSTR(" ")); - lcd_print_at(3, 3, er_progress); + lcd_set_cursor(3, 3); + lcd_print(er_progress); lcd_puts_P(PSTR("%")); } @@ -909,13 +910,6 @@ void factory_reset(char level, bool quiet) #include "LiquidCrystal_Prusa.h" extern LiquidCrystal_Prusa lcd; -FILE _lcdout = {0}; - -int lcd_putchar(char c, FILE *stream) -{ - lcd.write(c); - return 0; -} FILE _uartout = {0}; @@ -930,7 +924,7 @@ void lcd_splash() { // lcd_puts_at_P(0, 1, PSTR(" Original Prusa ")); // lcd_puts_at_P(0, 2, PSTR(" 3D Printers ")); -// lcd.print_P(PSTR("\x1b[1;3HOriginal Prusa\x1b[2;4H3D Printers")); +// lcd_puts_P(PSTR("\x1b[1;3HOriginal Prusa\x1b[2;4H3D Printers")); // fputs_P(PSTR(ESC_2J ESC_H(1,1) "Original Prusa i3" ESC_H(3,2) "Prusa Research"), lcdout); lcd_puts_P(PSTR(ESC_2J ESC_H(1,1) "Original Prusa i3" ESC_H(3,2) "Prusa Research")); // lcd_printf_P(_N(ESC_2J "x:%.3f\ny:%.3f\nz:%.3f\ne:%.3f"), _x, _y, _z, _e); @@ -2967,7 +2961,8 @@ bool gcode_M45(bool onlyZ, int8_t verbosity_level) lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER)); KEEPALIVE_STATE(IN_HANDLER); lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1)); - lcd_print_at(0, 2, 1); + lcd_set_cursor(0, 2); + lcd_print(1); lcd_puts_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2)); } // Move the print head close to the bed. @@ -6365,8 +6360,8 @@ Sigma_Exit: } else { counterBeep = 20; //beeper will be inactive during waiting for nozzle preheat - lcd.setCursor(1, 4); - lcd.print(ftostr3(degHotend(active_extruder))); + lcd_set_cursor(1, 4); + lcd_print(ftostr3(degHotend(active_extruder))); } break; diff --git a/Firmware/cardreader.cpp b/Firmware/cardreader.cpp index 52cd148be..06a47a744 100644 --- a/Firmware/cardreader.cpp +++ b/Firmware/cardreader.cpp @@ -4,7 +4,6 @@ #include "stepper.h" #include "temperature.h" #include "language.h" -#include "lcd.h" #ifdef SDSUPPORT @@ -890,7 +889,11 @@ void CardReader::presort() { #if !SDSORT_USES_RAM //show progresss bar only if slow sorting method is used int8_t percent = (counter * 100) / total;//((counter * 100) / pow((fileCnt-1),2)); for (int column = 0; column < 20; column++) { - if (column < (percent / 5)) lcd_print_at(column, 2, "\x01"); //simple progress bar + if (column < (percent / 5)) + { + lcd_set_cursor(column, 2); + lcd_print('\x01'); //simple progress bar + } } counter++; #endif @@ -965,7 +968,11 @@ void CardReader::presort() { sort_count = fileCnt; } #if !SDSORT_USES_RAM //show progresss bar only if slow sorting method is used - for (int column = 0; column <= 19; column++) lcd_print_at(column, 2, "\x01"); //simple progress bar + for (int column = 0; column <= 19; column++) + { + lcd_set_cursor(column, 2); + lcd_print('\x01'); //simple progress bar + } delay(300); lcd_set_degree(); lcd_clear(); diff --git a/Firmware/lcd.cpp b/Firmware/lcd.cpp index ec0e17684..9a7497b49 100644 --- a/Firmware/lcd.cpp +++ b/Firmware/lcd.cpp @@ -6,8 +6,19 @@ #include #include "Timer.h" -extern FILE _lcdout; -#define lcdout (&_lcdout) + +LiquidCrystal_Prusa lcd(LCD_PINS_RS, LCD_PINS_ENABLE, LCD_PINS_D4, LCD_PINS_D5,LCD_PINS_D6,LCD_PINS_D7); //RS,Enable,D4,D5,D6,D7 + + + + +FILE _lcdout = {0}; + +int lcd_putchar(char c, FILE *stream) +{ + lcd_write(c); + return 0; +} void lcd_command(uint8_t value) @@ -62,6 +73,118 @@ int lcd_printf_P(const char* format, ...) +void lcd_print(const char* s) +{ + while (*s) lcd_write(*(s++)); +} + +void lcd_print(char c, int base) +{ + lcd_print((long) c, base); +} + +void lcd_print(unsigned char b, int base) +{ + lcd_print((unsigned long) b, base); +} + +void lcd_print(int n, int base) +{ + lcd_print((long) n, base); +} + +void lcd_print(unsigned int n, int base) +{ + lcd_print((unsigned long) n, base); +} + +void lcd_print(long n, int base) +{ + if (base == 0) + lcd_write(n); + else if (base == 10) + { + if (n < 0) + { + lcd_print('-'); + n = -n; + } + lcd_printNumber(n, 10); + } + else + lcd_printNumber(n, base); +} + +void lcd_print(unsigned long n, int base) +{ + if (base == 0) + lcd_write(n); + else + lcd_printNumber(n, base); +} + +void lcd_print(double n, int digits) +{ + lcd_printFloat(n, digits); +} + + +void lcd_printNumber(unsigned long n, uint8_t base) +{ + unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars. + unsigned long i = 0; + if (n == 0) + { + lcd_print('0'); + return; + } + while (n > 0) + { + buf[i++] = n % base; + n /= base; + } + for (; i > 0; i--) + lcd_print((char) (buf[i - 1] < 10 ? '0' + buf[i - 1] : 'A' + buf[i - 1] - 10)); +} + +void lcd_printFloat(double number, uint8_t digits) +{ + // Handle negative numbers + if (number < 0.0) + { + lcd_print('-'); + number = -number; + } + // Round correctly so that print(1.999, 2) prints as "2.00" + double rounding = 0.5; + for (uint8_t i=0; i 0) + lcd_print('.'); + // Extract digits from the remainder one at a time + while (digits-- > 0) + { + remainder *= 10.0; + int toPrint = int(remainder); + lcd_print(toPrint); + remainder -= toPrint; + } +} + + + + + + + + + @@ -259,7 +382,6 @@ void lcd_buttons_update(void) -LCD_CLASS lcd(LCD_PINS_RS, LCD_PINS_ENABLE, LCD_PINS_D4, LCD_PINS_D5,LCD_PINS_D6,LCD_PINS_D7); //RS,Enable,D4,D5,D6,D7 void lcd_implementation_init(void) @@ -278,76 +400,31 @@ void lcd_implementation_init_noclear(void) -void lcd_print(int8_t i) -{ - lcd.print(i); -} - -void lcd_print_at(uint8_t x, uint8_t y, int8_t i) -{ - lcd.setCursor(x, y); - lcd.print(i); -} - -void lcd_print(int i) -{ - lcd.print(i); -} - -void lcd_print_at(uint8_t x, uint8_t y, int i) -{ - lcd.setCursor(x, y); - lcd.print(i); -} - -void lcd_print(float f) -{ - lcd.print(f); -} - -void lcd_print(const char *str) -{ - lcd.print(str); -} - -void lcd_print_at(uint8_t x, uint8_t y, const char *str) -{ - lcd.setCursor(x, y); - lcd.print(str); -} - - - - - - - - void lcd_drawedit(const char* pstr, char* value) { - lcd.setCursor(1, 1); + lcd_set_cursor(1, 1); lcd_puts_P(pstr); - lcd.print(':'); + lcd_print(':'); #if LCD_WIDTH < 20 - lcd.setCursor(LCD_WIDTH - strlen(value), 1); + lcd_set_cursor(LCD_WIDTH - strlen(value), 1); #else - lcd.setCursor(LCD_WIDTH -1 - strlen(value), 1); + lcd_set_cursor(LCD_WIDTH -1 - strlen(value), 1); #endif - lcd.print(value); + lcd_print(value); } void lcd_drawedit_2(const char* pstr, char* value) { - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); lcd_puts_P(pstr); - lcd.print(':'); + lcd_print(':'); - lcd.setCursor((LCD_WIDTH - strlen(value))/2, 3); + lcd_set_cursor((LCD_WIDTH - strlen(value))/2, 3); - lcd.print(value); - lcd.print(" mm"); + lcd_print(value); + lcd_print(" mm"); } diff --git a/Firmware/lcd.h b/Firmware/lcd.h index 6d0c332e6..0b72ed98a 100644 --- a/Firmware/lcd.h +++ b/Firmware/lcd.h @@ -3,6 +3,28 @@ #define _LCD_H #include +#include + + +//////////////////////////////////// +// Create LCD class instance and chipset-specific information +#include "LiquidCrystal_Prusa.h" +extern LiquidCrystal_Prusa lcd; + + +extern FILE _lcdout; + +#define lcdout (&_lcdout) + + +extern int lcd_putchar(char c, FILE *stream); + +extern void lcd_command(uint8_t value); + +extern uint8_t lcd_write(uint8_t value); + + + #define LCD_UPDATE_INTERVAL 100 @@ -56,6 +78,17 @@ extern int lcd_puts_P(const char* str); extern int lcd_puts_at_P(uint8_t c, uint8_t r, const char* str); extern int lcd_printf_P(const char* format, ...); +extern void lcd_printNumber(unsigned long n, uint8_t base); +extern void lcd_printFloat(double number, uint8_t digits); + +extern void lcd_print(const char*); +extern void lcd_print(char, int = 0); +extern void lcd_print(unsigned char, int = 0); +extern void lcd_print(int, int = 10); +extern void lcd_print(unsigned int, int = 10); +extern void lcd_print(long, int = 10); +extern void lcd_print(unsigned long, int = 10); +extern void lcd_print(double, int = 2); @@ -145,11 +178,6 @@ extern void lcd_buttons_update(void); #define encrot3 1 -//////////////////////////////////// -// Create LCD class instance and chipset-specific information -#include "LiquidCrystal_Prusa.h" -#define LCD_CLASS LiquidCrystal_Prusa -extern LCD_CLASS lcd; //Custom characters defined in the first 8 characters of the LCD @@ -174,14 +202,6 @@ extern void lcd_set_custom_characters_degree(void); extern void lcd_implementation_init(void); extern void lcd_implementation_init_noclear(void); -extern void lcd_print(int8_t i); -extern void lcd_print_at(uint8_t x, uint8_t y, int8_t i); -extern void lcd_print(int i); -extern void lcd_print_at(uint8_t x, uint8_t y, int i); -extern void lcd_print(float f); -extern void lcd_print(const char *str); -extern void lcd_print_at(uint8_t x, uint8_t y, const char *str); - extern void lcd_drawedit(const char* pstr, char* value); extern void lcd_drawedit_2(const char* pstr, char* value); diff --git a/Firmware/menu.cpp b/Firmware/menu.cpp index 615c4cf2e..c3d862216 100644 --- a/Firmware/menu.cpp +++ b/Firmware/menu.cpp @@ -117,13 +117,13 @@ int menu_item_printf_P(char type_char, const char* format, ...) int ret = 0; lcd_set_cursor(0, menu_row); if (lcd_encoder == menu_item) - lcd.print('>'); + lcd_print('>'); else - lcd.print(' '); + lcd_print(' '); int cnt = vfprintf_P(lcdout, format, args); for (int i = cnt; i < 18; i++) - lcd.print(' '); - lcd.print(type_char); + lcd_print(' '); + lcd_print(type_char); va_end(args); return ret; } diff --git a/Firmware/mesh_bed_calibration.cpp b/Firmware/mesh_bed_calibration.cpp index 59ffe261f..48bb20712 100644 --- a/Firmware/mesh_bed_calibration.cpp +++ b/Firmware/mesh_bed_calibration.cpp @@ -2204,7 +2204,8 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level // Don't let the manage_inactivity() function remove power from the motors. refresh_cmd_timeout(); #ifdef MESH_BED_CALIBRATION_SHOW_LCD - lcd_print_at(0, next_line, k + 1); + lcd_set_cursor(0, next_line); + lcd_print(k + 1); lcd_puts_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2)); if (iteration > 0) { @@ -2782,7 +2783,8 @@ bool sample_mesh_and_store_reference() if (next_line > 3) next_line = 3; // display "point xx of yy" - lcd_print_at(0, next_line, 1); + lcd_set_cursor(0, next_line); + lcd_print(1); lcd_puts_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2)); #endif /* MESH_BED_CALIBRATION_SHOW_LCD */ @@ -2828,7 +2830,8 @@ bool sample_mesh_and_store_reference() go_to_current(homing_feedrate[X_AXIS]/60); #ifdef MESH_BED_CALIBRATION_SHOW_LCD // display "point xx of yy" - lcd_print_at(0, next_line, mesh_point+1); + lcd_set_cursor(0, next_line); + lcd_print(mesh_point+1); lcd_puts_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2)); #endif /* MESH_BED_CALIBRATION_SHOW_LCD */ if (!find_bed_induction_sensor_point_z()) //Z crash or deviation > 50um diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index 232aeee7b..2c42ab438 100644 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -30,7 +30,6 @@ #include "Marlin.h" -#include "lcd.h" #include "ultralcd.h" #include "temperature.h" #include "cardreader.h" diff --git a/Firmware/tmc2130.cpp b/Firmware/tmc2130.cpp index 10407120c..987f2ab61 100644 --- a/Firmware/tmc2130.cpp +++ b/Firmware/tmc2130.cpp @@ -414,9 +414,9 @@ void tmc2130_check_overtemp() for (int i = 0; i < 4; i++) { tmc2130_sg_change = false; - lcd.setCursor(0 + i*4, 3); - lcd.print(itostr3(tmc2130_sg_cnt[i])); - lcd.print(' '); + lcd_set_cursor(0 + i*4, 3); + lcd_print(itostr3(tmc2130_sg_cnt[i])); + lcd_print(' '); } } #endif //DEBUG_CRASHDET_COUNTERS diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 00dcf37cb..78189c298 100644 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -299,7 +299,7 @@ static inline void lcd_print_percent_done() { } if (IS_SD_PRINTING || (PRINTER_ACTIVE && (print_percent_done_normal != PRINT_PERCENT_DONE_INIT))) { - lcd.print(itostr3(print_percent_done())); + lcd_print(itostr3(print_percent_done())); } else { @@ -318,16 +318,16 @@ static inline void lcd_print_time() { else if(starttime != 0){ print_t = millis() / 60000 - starttime / 60000; } - lcd.print(LCD_STR_CLOCK[0]); + lcd_print(LCD_STR_CLOCK[0]); if((PRINTER_ACTIVE) && ((print_time_remaining_normal != PRINT_TIME_REMAINING_INIT)||(starttime != 0))) { - lcd.print(itostr2(print_t/60)); - lcd.print(':'); - lcd.print(itostr2(print_t%60)); + lcd_print(itostr2(print_t/60)); + lcd_print(':'); + lcd_print(itostr2(print_t%60)); if (print_time_remaining_normal != PRINT_TIME_REMAINING_INIT) { - lcd.print('R'); - (feedmultiply == 100) ? lcd.print(' ') : lcd.print('?'); + lcd_print('R'); + (feedmultiply == 100) ? lcd_print(' ') : lcd_print('?'); } else { lcd_puts_P(PSTR(" ")); @@ -344,20 +344,20 @@ void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, const char* pstr, int enc_dif = lcd_encoder_diff; uint8_t n = LCD_WIDTH - 1; for(int g = 0; g<4;g++){ - lcd.setCursor(0, g); - lcd.print(' '); + lcd_set_cursor(0, g); + lcd_print(' '); } - lcd.setCursor(0, row); - lcd.print('>'); + lcd_set_cursor(0, row); + lcd_print('>'); int i = 1; int j = 0; char* longFilenameTMP = longFilename; while((c = *longFilenameTMP) != '\0') { - lcd.setCursor(i, row); - lcd.print(c); + lcd_set_cursor(i, row); + lcd_print(c); i++; longFilenameTMP++; if(i==LCD_WIDTH){ @@ -382,20 +382,20 @@ void lcd_implementation_drawmenu_sdfile_selected(uint8_t row, const char* pstr, } } if(c!='\0'){ - lcd.setCursor(i, row); - lcd.print(c); + lcd_set_cursor(i, row); + lcd_print(c); i++; } n=n-i+1; while(n--) - lcd.print(' '); + lcd_print(' '); } void lcd_implementation_drawmenu_sdfile(uint8_t row, const char* pstr, const char* filename, char* longFilename) { char c; uint8_t n = LCD_WIDTH - 1; - lcd.setCursor(0, row); - lcd.print(' '); + lcd_set_cursor(0, row); + lcd_print(' '); if (longFilename[0] != '\0') { filename = longFilename; @@ -403,20 +403,20 @@ void lcd_implementation_drawmenu_sdfile(uint8_t row, const char* pstr, const cha } while( ((c = *filename) != '\0') && (n>0) ) { - lcd.print(c); + lcd_print(c); filename++; n--; } while(n--) - lcd.print(' '); + lcd_print(' '); } void lcd_implementation_drawmenu_sddirectory_selected(uint8_t row, const char* pstr, const char* filename, char* longFilename) { char c; uint8_t n = LCD_WIDTH - 2; - lcd.setCursor(0, row); - lcd.print('>'); - lcd.print(LCD_STR_FOLDER[0]); + lcd_set_cursor(0, row); + lcd_print('>'); + lcd_print(LCD_STR_FOLDER[0]); if (longFilename[0] != '\0') { filename = longFilename; @@ -424,20 +424,20 @@ void lcd_implementation_drawmenu_sddirectory_selected(uint8_t row, const char* p } while( ((c = *filename) != '\0') && (n>0) ) { - lcd.print(c); + lcd_print(c); filename++; n--; } while(n--) - lcd.print(' '); + lcd_print(' '); } void lcd_implementation_drawmenu_sddirectory(uint8_t row, const char* pstr, const char* filename, char* longFilename) { char c; uint8_t n = LCD_WIDTH - 2; - lcd.setCursor(0, row); - lcd.print(' '); - lcd.print(LCD_STR_FOLDER[0]); + lcd_set_cursor(0, row); + lcd_print(' '); + lcd_print(LCD_STR_FOLDER[0]); if (longFilename[0] != '\0') { filename = longFilename; @@ -445,12 +445,12 @@ void lcd_implementation_drawmenu_sddirectory(uint8_t row, const char* pstr, cons } while( ((c = *filename) != '\0') && (n>0) ) { - lcd.print(c); + lcd_print(c); filename++; n--; } while(n--) - lcd.print(' '); + lcd_print(' '); } @@ -599,47 +599,47 @@ static void lcd_implementation_status_screen() int tTarget=int(degTargetHotend(0) + 0.5); //Print the hotend temperature - lcd.setCursor(0, 0); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(itostr3(tHotend)); - lcd.print('/'); - lcd.print(itostr3left(tTarget)); + lcd_set_cursor(0, 0); + lcd_print(LCD_STR_THERMOMETER[0]); + lcd_print(itostr3(tHotend)); + lcd_print('/'); + lcd_print(itostr3left(tTarget)); lcd_puts_P(PSTR(LCD_STR_DEGREE " ")); lcd_puts_P(PSTR(" ")); //Print the Z coordinates - lcd.setCursor(LCD_WIDTH - 8-2, 0); + lcd_set_cursor(LCD_WIDTH - 8-2, 0); #if 1 lcd_puts_P(PSTR(" Z")); if (custom_message_type == 1) { // In a bed calibration mode. lcd_puts_P(PSTR(" --- ")); } else { - lcd.print(ftostr32sp(current_position[Z_AXIS] + 0.00001)); - lcd.print(' '); + lcd_print(ftostr32sp(current_position[Z_AXIS] + 0.00001)); + lcd_print(' '); } #else lcd_puts_P(PSTR(" Queue:")); - lcd.print(int(moves_planned())); - lcd.print(' '); + lcd_print(int(moves_planned())); + lcd_print(' '); #endif //Print the Bedtemperature - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); tHotend=int(degBed() + 0.5); tTarget=int(degTargetBed() + 0.5); - lcd.print(LCD_STR_BEDTEMP[0]); - lcd.print(itostr3(tHotend)); - lcd.print('/'); - lcd.print(itostr3left(tTarget)); + lcd_print(LCD_STR_BEDTEMP[0]); + lcd_print(itostr3(tHotend)); + lcd_print('/'); + lcd_print(itostr3left(tTarget)); lcd_puts_P(PSTR(LCD_STR_DEGREE " ")); lcd_puts_P(PSTR(" ")); #ifdef PLANNER_DIAGNOSTICS //Print Feedrate - lcd.setCursor(LCD_WIDTH - 8-2, 1); - lcd.print(LCD_STR_FEEDRATE[0]); - lcd.print(itostr3(feedmultiply)); + lcd_set_cursor(LCD_WIDTH - 8-2, 1); + lcd_print(LCD_STR_FEEDRATE[0]); + lcd_print(itostr3(feedmultiply)); lcd_puts_P(PSTR("% Q")); { uint8_t queue = planner_queue_min(); @@ -654,10 +654,10 @@ static void lcd_implementation_status_screen() } #else /* PLANNER_DIAGNOSTICS */ //Print Feedrate - lcd.setCursor(LCD_WIDTH - 8-2, 1); + lcd_set_cursor(LCD_WIDTH - 8-2, 1); lcd_puts_P(PSTR(" ")); - lcd.print(LCD_STR_FEEDRATE[0]); - lcd.print(itostr3(feedmultiply)); + lcd_print(LCD_STR_FEEDRATE[0]); + lcd_print(itostr3(feedmultiply)); lcd_puts_P(PSTR("% ")); #endif /* PLANNER_DIAGNOSTICS */ @@ -667,9 +667,9 @@ static void lcd_implementation_status_screen() // if (farm_mode && (custom_message_type == 4)) if (false) { - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(PSTR("P")); - lcd.print(ftostr3(current_temperature_pinda)); + lcd_print(ftostr3(current_temperature_pinda)); lcd_puts_P(PSTR(LCD_STR_DEGREE " ")); print_sd_status = false; } @@ -679,7 +679,7 @@ static void lcd_implementation_status_screen() if (print_sd_status) { //Print SD status - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_print_percent_done(); } @@ -687,13 +687,13 @@ if (print_sd_status) // Farm number display if (farm_mode) { - lcd.setCursor(6, 2); + lcd_set_cursor(6, 2); lcd_puts_P(PSTR(" F")); - lcd.print(farm_no); + lcd_print(farm_no); lcd_puts_P(PSTR(" ")); // Beat display - lcd.setCursor(LCD_WIDTH - 1, 0); + lcd_set_cursor(LCD_WIDTH - 1, 0); if ( (millis() - kicktime) < 60000 ) { lcd_puts_P(PSTR("L")); @@ -706,22 +706,22 @@ if (print_sd_status) else { #ifdef SNMM lcd_puts_P(PSTR(" E")); - lcd.print(get_ext_nr() + 1); + lcd_print(get_ext_nr() + 1); #else - lcd.setCursor(LCD_WIDTH - 8 - 2, 2); + lcd_set_cursor(LCD_WIDTH - 8 - 2, 2); lcd_puts_P(PSTR(" ")); #endif } #ifdef CMD_DIAGNOSTICS - lcd.setCursor(LCD_WIDTH - 8 -1, 2); + lcd_set_cursor(LCD_WIDTH - 8 -1, 2); lcd_puts_P(PSTR(" C")); - lcd.print(buflen); // number of commands in cmd buffer + lcd_print(buflen); // number of commands in cmd buffer if (buflen < 9) lcd_puts_P(" "); #else //Print time - lcd.setCursor(LCD_WIDTH - 8, 2); + lcd_set_cursor(LCD_WIDTH - 8, 2); lcd_print_time(); #endif //CMD_DIAGNOSTICS @@ -730,7 +730,7 @@ if (print_sd_status) #endif //DEBUG_DISABLE_LCD_STATUS_LINE //Print status line - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); // If heating in progress, set flag if (heating_status != 0) { custom_message = true; } @@ -762,16 +762,16 @@ if (print_sd_status) if (card.longFilename[gh] == '\0') { - lcd.setCursor(gh - scrollstuff, 3); - lcd.print(card.longFilename[gh - 1]); + lcd_set_cursor(gh - scrollstuff, 3); + lcd_print(card.longFilename[gh - 1]); scrollstuff = 0; gh = scrollstuff; inters = 1; } else { - lcd.setCursor(gh - scrollstuff, 3); - lcd.print(card.longFilename[gh - 1]); + lcd_set_cursor(gh - scrollstuff, 3); + lcd_print(card.longFilename[gh - 1]); gh++; } @@ -781,7 +781,7 @@ if (print_sd_status) } else { - lcd.print(longFilenameOLD); + lcd_print(longFilenameOLD); } } @@ -799,34 +799,34 @@ if (print_sd_status) { heating_status_counter = 0; } - lcd.setCursor(7, 3); + lcd_set_cursor(7, 3); lcd_puts_P(PSTR(" ")); for (int dots = 0; dots < heating_status_counter; dots++) { - lcd.setCursor(7 + dots, 3); - lcd.print('.'); + lcd_set_cursor(7 + dots, 3); + lcd_print('.'); } switch (heating_status) { case 1: - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_HEATING)); break; case 2: - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_HEATING_COMPLETE)); heating_status = 0; heating_status_counter = 0; custom_message = false; break; case 3: - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_BED_HEATING)); break; case 4: - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_BED_DONE)); heating_status = 0; heating_status_counter = 0; @@ -843,12 +843,12 @@ if (print_sd_status) { if (custom_message_state > 10) { - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(PSTR(" ")); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_CALIBRATE_Z_AUTO)); lcd_puts_P(PSTR(" : ")); - lcd.print(custom_message_state-10); + lcd_print(custom_message_state-10); } else { @@ -861,9 +861,9 @@ if (print_sd_status) } if (custom_message_state > 3 && custom_message_state <= 10 ) { - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(PSTR(" ")); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_i("Calibration done"));////MSG_HOMEYZ_DONE c=0 r=0 custom_message_state--; } @@ -873,36 +873,36 @@ if (print_sd_status) // If loading filament, print status if (custom_message_type == 2) { - lcd.print(lcd_status_message); + lcd_print(lcd_status_message); } // PID tuning in progress if (custom_message_type == 3) { - lcd.print(lcd_status_message); + lcd_print(lcd_status_message); if (pid_cycle <= pid_number_of_cycles && custom_message_state > 0) { - lcd.setCursor(10, 3); - lcd.print(itostr3(pid_cycle)); + lcd_set_cursor(10, 3); + lcd_print(itostr3(pid_cycle)); - lcd.print('/'); - lcd.print(itostr3left(pid_number_of_cycles)); + lcd_print('/'); + lcd_print(itostr3left(pid_number_of_cycles)); } } // PINDA temp calibration in progress if (custom_message_type == 4) { char progress[4]; - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_TEMP_CALIBRATION)); - lcd.setCursor(12, 3); + lcd_set_cursor(12, 3); sprintf(progress, "%d/6", custom_message_state); - lcd.print(progress); + lcd_print(progress); } // temp compensation preheat if (custom_message_type == 5) { - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_i("PINDA Heating"));////MSG_PINDA_PREHEAT c=20 r=1 if (custom_message_state <= PINDA_HEAT_T) { lcd_puts_P(PSTR(": ")); - lcd.print(custom_message_state); //seconds - lcd.print(' '); + lcd_print(custom_message_state); //seconds + lcd_print(' '); } } @@ -912,7 +912,7 @@ if (print_sd_status) else { // Nothing special, print status message normally - lcd.print(lcd_status_message); + lcd_print(lcd_status_message); } } @@ -924,7 +924,7 @@ if (print_sd_status) } else { - lcd.print(' '); + lcd_print(' '); } } @@ -1072,20 +1072,20 @@ static void lcd_status_screen() feedmultiply = 999; /*if (farm_mode && !printer_connected) { - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_i("Printer disconnected"));////MSG_PRINTER_DISCONNECTED c=20 r=1 }*/ //#define FSENS_FACTOR (2580.8/50) //filament sensor factor [steps / encoder counts] //#define FSENS_FACTOR (2580.8/45.3) //filament sensor factor [steps / encoder counts] - //lcd.setCursor(0, 3); + //lcd_set_cursor(0, 3); //lcd_print(" "); - //lcd.setCursor(0, 3); + //lcd_set_cursor(0, 3); //lcd_print(pat9125_x); - //lcd.setCursor(6, 3); + //lcd_set_cursor(6, 3); //lcd_print(pat9125_y); - //lcd.setCursor(12, 3); + //lcd_set_cursor(12, 3); //lcd_print(pat9125_b); } @@ -2292,9 +2292,9 @@ void lcd_unLoadFilament() } else { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); delay(2000); @@ -2308,7 +2308,7 @@ void lcd_change_filament() { lcd_clear(); - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); lcd_puts_P(_i("Changing filament!"));////MSG_CHANGING_FILAMENT c=20 r=0 @@ -2320,13 +2320,13 @@ void lcd_wait_interact() { lcd_clear(); - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); #ifdef SNMM lcd_puts_P(_i("Prepare new filament"));////MSG_PREPARE_FILAMENT c=20 r=1 #else lcd_puts_P(_i("Insert filament"));////MSG_INSERT_FILAMENT c=20 r=0 #endif - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("and press the knob"));////MSG_PRESS c=20 r=0 } @@ -2336,7 +2336,7 @@ void lcd_change_success() { lcd_clear(); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Change success!"));////MSG_CHANGE_SUCCESS c=0 r=0 @@ -2348,17 +2348,17 @@ void lcd_loading_color() { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_i("Loading color"));////MSG_LOADING_COLOR c=0 r=0 - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT)); for (int i = 0; i < 20; i++) { - lcd.setCursor(i, 3); - lcd.print("."); + lcd_set_cursor(i, 3); + lcd_print("."); for (int j = 0; j < 10 ; j++) { manage_heater(); manage_inactivity(true); @@ -2377,16 +2377,16 @@ void lcd_loading_filament() { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_LOADING_FILAMENT)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT)); for (int i = 0; i < 20; i++) { - lcd.setCursor(i, 3); - lcd.print("."); + lcd_set_cursor(i, 3); + lcd_print("."); for (int j = 0; j < 10 ; j++) { manage_heater(); manage_inactivity(true); @@ -2415,26 +2415,26 @@ void lcd_alright() { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_i("Changed correctly?"));////MSG_CORRECTLY c=20 r=0 - lcd.setCursor(1, 1); + lcd_set_cursor(1, 1); lcd_puts_P(_T(MSG_YES)); - lcd.setCursor(1, 2); + lcd_set_cursor(1, 2); lcd_puts_P(_i("Filament not loaded"));////MSG_NOT_LOADED c=19 r=0 - lcd.setCursor(1, 3); + lcd_set_cursor(1, 3); lcd_puts_P(_i("Color not correct"));////MSG_NOT_COLOR c=0 r=0 - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); - lcd.print(">"); + lcd_print(">"); enc_dif = lcd_encoder_diff; @@ -2462,14 +2462,14 @@ void lcd_alright() { if (cursor_pos < 1) { cursor_pos = 1; } - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 1); + lcd_print(" "); + lcd_set_cursor(0, 2); + lcd_print(" "); + lcd_set_cursor(0, 3); + lcd_print(" "); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); enc_dif = lcd_encoder_diff; delay(100); } @@ -2506,9 +2506,9 @@ static void lcd_menu_AutoLoadFilament() { ShortTimer* ptimer = (ShortTimer*)&(menuData.autoLoadFilamentMenu.dummy); if (!ptimer->running()) ptimer->start(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); if (ptimer->expired(2000ul)) menu_back(); } @@ -2530,9 +2530,9 @@ static void lcd_LoadFilament() { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); delay(2000); lcd_clear(); @@ -2659,9 +2659,9 @@ static void lcd_move_e() } else { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); delay(2000); @@ -2698,7 +2698,7 @@ static void lcd_menu_xyz_y_min() ); for (uint8_t i = 0; i < 2; i++) { - lcd.setCursor(11,2+i); + lcd_set_cursor(11,2+i); if (distanceMin[i] >= 200) lcd_puts_P(_N("N/A")); else lcd_printf_P(_N("%6.2fmm"), distanceMin[i]); } @@ -2746,7 +2746,7 @@ static void lcd_menu_xyz_skew() */ static void lcd_menu_xyz_offset() { - lcd.setCursor(0,0); + lcd_set_cursor(0,0); lcd_puts_P(_i("[0;0] point offset"));////MSG_MEASURED_OFFSET c=0 r=0 lcd_puts_at_P(0, 1, separator); lcd_puts_at_P(0, 2, PSTR("X")); @@ -2760,7 +2760,7 @@ static void lcd_menu_xyz_offset() for (int i = 0; i < 2; i++) { lcd_puts_at_P(11, i + 2, PSTR("")); - lcd.print(cntr[i]); + lcd_print(cntr[i]); lcd_puts_at_P((cntr[i] < 0) ? 17 : 16, i + 2, PSTR("mm")); } menu_back_if_clicked(); @@ -2941,14 +2941,14 @@ static void lcd_adjust_bed() void pid_extruder() { lcd_clear(); - lcd.setCursor(1, 0); + lcd_set_cursor(1, 0); lcd_puts_P(_i("Set temperature:"));////MSG_SET_TEMPERATURE c=19 r=1 pid_temp += int(lcd_encoder); if (pid_temp > HEATER_0_MAXTEMP) pid_temp = HEATER_0_MAXTEMP; if (pid_temp < HEATER_0_MINTEMP) pid_temp = HEATER_0_MINTEMP; lcd_encoder = 0; - lcd.setCursor(1, 2); - lcd.print(ftostr3(pid_temp)); + lcd_set_cursor(1, 2); + lcd_print(ftostr3(pid_temp)); if (lcd_clicked()) { lcd_commands_type = LCD_COMMAND_PID_EXTRUDER; lcd_return_to_status(); @@ -2966,18 +2966,18 @@ void lcd_adjust_z() { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_i("Auto adjust Z?"));////MSG_ADJUSTZ c=0 r=0 - lcd.setCursor(1, 1); + lcd_set_cursor(1, 1); lcd_puts_P(_T(MSG_YES)); - lcd.setCursor(1, 2); + lcd_set_cursor(1, 2); lcd_puts_P(_T(MSG_NO)); - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); - lcd.print(">"); + lcd_print(">"); enc_dif = lcd_encoder_diff; @@ -3005,12 +3005,12 @@ void lcd_adjust_z() { if (cursor_pos < 1) { cursor_pos = 1; } - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 1); + lcd_print(" "); + lcd_set_cursor(0, 2); + lcd_print(" "); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); enc_dif = lcd_encoder_diff; delay(100); } @@ -3052,12 +3052,12 @@ bool lcd_wait_for_pinda(float temp) { while (current_temperature_pinda > temp){ lcd_display_message_fullscreen_P(_i("Waiting for PINDA probe cooling"));////MSG_WAITING_TEMP_PINDA c=20 r=3 - lcd.setCursor(0, 4); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(ftostr3(current_temperature_pinda)); - lcd.print("/"); - lcd.print(ftostr3(temp)); - lcd.print(LCD_STR_DEGREE); + lcd_set_cursor(0, 4); + lcd_print(LCD_STR_THERMOMETER[0]); + lcd_print(ftostr3(current_temperature_pinda)); + lcd_print("/"); + lcd_print(ftostr3(temp)); + lcd_print(LCD_STR_DEGREE); delay_keep_alive(1000); serialecho_temperatures(); if (pinda_timeout.expired(8 * 60 * 1000ul)) { //PINDA cooling from 60 C to 35 C takes about 7 minutes @@ -3073,12 +3073,12 @@ bool lcd_wait_for_pinda(float temp) { void lcd_wait_for_heater() { lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING)); - lcd.setCursor(0, 4); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(ftostr3(degHotend(active_extruder))); - lcd.print("/"); - lcd.print(ftostr3(degTargetHotend(active_extruder))); - lcd.print(LCD_STR_DEGREE); + lcd_set_cursor(0, 4); + lcd_print(LCD_STR_THERMOMETER[0]); + lcd_print(ftostr3(degHotend(active_extruder))); + lcd_print("/"); + lcd_print(ftostr3(degTargetHotend(active_extruder))); + lcd_print(LCD_STR_DEGREE); } void lcd_wait_for_cool_down() { @@ -3088,17 +3088,17 @@ void lcd_wait_for_cool_down() { while ((degHotend(0)>MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) { lcd_display_message_fullscreen_P(_i("Waiting for nozzle and bed cooling"));////MSG_WAITING_TEMP c=20 r=3 - lcd.setCursor(0, 4); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(ftostr3(degHotend(0))); - lcd.print("/0"); - lcd.print(LCD_STR_DEGREE); + lcd_set_cursor(0, 4); + lcd_print(LCD_STR_THERMOMETER[0]); + lcd_print(ftostr3(degHotend(0))); + lcd_print("/0"); + lcd_print(LCD_STR_DEGREE); - lcd.setCursor(9, 4); - lcd.print(LCD_STR_BEDTEMP[0]); - lcd.print(ftostr3(degBed())); - lcd.print("/0"); - lcd.print(LCD_STR_DEGREE); + lcd_set_cursor(9, 4); + lcd_print(LCD_STR_BEDTEMP[0]); + lcd_print(ftostr3(degBed())); + lcd_print("/0"); + lcd_print(LCD_STR_DEGREE); lcd_set_custom_characters(); delay_keep_alive(1000); serialecho_temperatures(); @@ -3187,12 +3187,14 @@ calibrated: if(only_z){ lcd_display_message_fullscreen_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1)); - lcd_print_at(0, 3, 1); + lcd_set_cursor(0, 3); + lcd_print(1); lcd_puts_P(_T(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2)); }else{ //lcd_show_fullscreen_message_and_wait_P(_T(MSG_PAPER)); lcd_display_message_fullscreen_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1)); - lcd_print_at(0, 2, 1); + lcd_set_cursor(0, 2); + lcd_print(1); lcd_puts_P(_T(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2)); } @@ -3227,7 +3229,7 @@ static inline bool pgm_is_interpunction(const char *c_addr) */ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, uint8_t &nlines) { - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); const char *msgend = msg; uint8_t row = 0; bool multi_screen = false; @@ -3237,7 +3239,7 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, if (pgm_read_byte(msg) == 0) // End of the message. break; - lcd.setCursor(0, row); + lcd_set_cursor(0, row); uint8_t linelen = min(strlen_P(msg), 20); const char *msgend2 = msg + linelen; msgend = msgend2; @@ -3262,7 +3264,7 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, char c = char(pgm_read_byte(msg)); if (c == '~') c = ' '; - lcd.print(c); + lcd_print(c); } } @@ -3270,9 +3272,9 @@ static const char* lcd_display_message_fullscreen_nonBlocking_P(const char *msg, // Display the "next screen" indicator character. // lcd_set_custom_characters_arrows(); lcd_set_custom_characters_nextpage(); - lcd.setCursor(19, 3); + lcd_set_cursor(19, 3); // Display the down arrow. - lcd.print(char(1)); + lcd_print(char(1)); } nlines = row; @@ -3303,9 +3305,9 @@ void lcd_show_fullscreen_message_and_wait_P(const char *msg) // Until confirmed by a button click. for (;;) { if (!multi_screen) { - lcd.setCursor(19, 3); + lcd_set_cursor(19, 3); // Display the confirm char. - lcd.print(char(2)); + lcd_print(char(2)); } // Wait for 5 seconds before displaying the next text. for (uint8_t i = 0; i < 100; ++ i) { @@ -3332,9 +3334,9 @@ void lcd_show_fullscreen_message_and_wait_P(const char *msg) msg_next = lcd_display_message_fullscreen_P(msg_next); if (msg_next == NULL) { - lcd.setCursor(19, 3); + lcd_set_cursor(19, 3); // Display the confirm char. - lcd.print(char(2)); + lcd_print(char(2)); } } } @@ -3376,16 +3378,16 @@ int8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allo if (abs(enc_dif - lcd_encoder_diff) > 4) { if (msg_next == NULL) { - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); if (enc_dif < lcd_encoder_diff && yes) { lcd_puts_P((PSTR(" "))); - lcd.setCursor(7, 3); + lcd_set_cursor(7, 3); lcd_puts_P((PSTR(">"))); yes = false; } else if (enc_dif > lcd_encoder_diff && !yes) { lcd_puts_P((PSTR(">"))); - lcd.setCursor(7, 3); + lcd_set_cursor(7, 3); lcd_puts_P((PSTR(" "))); yes = true; } @@ -3414,13 +3416,13 @@ int8_t lcd_show_multiscreen_message_yes_no_and_wait_P(const char *msg, bool allo msg_next = lcd_display_message_fullscreen_P(msg_next); } if (msg_next == NULL) { - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); if (yes) lcd_puts_P(PSTR(">")); - lcd.setCursor(1, 3); + lcd_set_cursor(1, 3); lcd_puts_P(_T(MSG_YES)); - lcd.setCursor(7, 3); + lcd_set_cursor(7, 3); if (!yes) lcd_puts_P(PSTR(">")); - lcd.setCursor(8, 3); + lcd_set_cursor(8, 3); lcd_puts_P(_T(MSG_NO)); } } @@ -3432,16 +3434,16 @@ int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow lcd_display_message_fullscreen_P(msg); if (default_yes) { - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(PSTR(">")); lcd_puts_P(_T(MSG_YES)); - lcd.setCursor(1, 3); + lcd_set_cursor(1, 3); lcd_puts_P(_T(MSG_NO)); } else { - lcd.setCursor(1, 2); + lcd_set_cursor(1, 2); lcd_puts_P(_T(MSG_YES)); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(PSTR(">")); lcd_puts_P(_T(MSG_NO)); } @@ -3457,16 +3459,16 @@ int8_t lcd_show_fullscreen_message_yes_no_and_wait_P(const char *msg, bool allow manage_heater(); manage_inactivity(true); if (abs(enc_dif - lcd_encoder_diff) > 4) { - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); if (enc_dif < lcd_encoder_diff && yes) { lcd_puts_P((PSTR(" "))); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P((PSTR(">"))); yes = false; } else if (enc_dif > lcd_encoder_diff && !yes) { lcd_puts_P((PSTR(">"))); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P((PSTR(" "))); yes = true; } @@ -3565,13 +3567,13 @@ void lcd_temp_cal_show_result(bool result) { } static void lcd_show_end_stops() { - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P((PSTR("End stops diag"))); - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); lcd_puts_P((READ(X_MIN_PIN) ^ X_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("X1")) : (PSTR("X0"))); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P((READ(Y_MIN_PIN) ^ Y_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("Y1")) : (PSTR("Y0"))); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P((READ(Z_MIN_PIN) ^ Z_MIN_ENDSTOP_INVERTING == 1) ? (PSTR("Z1")) : (PSTR("Z0"))); } @@ -3828,30 +3830,30 @@ void lcd_pick_babystep(){ lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_i("Pick print"));////MSG_PICK_Z c=0 r=0 - lcd.setCursor(3, 2); + lcd_set_cursor(3, 2); - lcd.print("1"); + lcd_print("1"); - lcd.setCursor(3, 3); + lcd_set_cursor(3, 3); - lcd.print("2"); + lcd_print("2"); - lcd.setCursor(12, 2); + lcd_set_cursor(12, 2); - lcd.print("3"); + lcd_print("3"); - lcd.setCursor(12, 3); + lcd_set_cursor(12, 3); - lcd.print("4"); + lcd_print("4"); - lcd.setCursor(1, 2); + lcd_set_cursor(1, 2); - lcd.print(">"); + lcd_print(">"); enc_dif = lcd_encoder_diff; @@ -3881,21 +3883,21 @@ void lcd_pick_babystep(){ } - lcd.setCursor(1, 2); - lcd.print(" "); - lcd.setCursor(1, 3); - lcd.print(" "); - lcd.setCursor(10, 2); - lcd.print(" "); - lcd.setCursor(10, 3); - lcd.print(" "); + lcd_set_cursor(1, 2); + lcd_print(" "); + lcd_set_cursor(1, 3); + lcd_print(" "); + lcd_set_cursor(10, 2); + lcd_print(" "); + lcd_set_cursor(10, 3); + lcd_print(" "); if (cursor_pos < 3) { - lcd.setCursor(1, cursor_pos+1); - lcd.print(">"); + lcd_set_cursor(1, cursor_pos+1); + lcd_print(">"); }else{ - lcd.setCursor(10, cursor_pos-1); - lcd.print(">"); + lcd_set_cursor(10, cursor_pos-1); + lcd_print(">"); } @@ -4228,7 +4230,7 @@ void lcd_calibrate_pinda() { lcd_clear(); - lcd.setCursor(0, 1); lcd_puts_P(_T(MSG_PLEASE_WAIT)); + lcd_set_cursor(0, 1); lcd_puts_P(_T(MSG_PLEASE_WAIT)); current_position[E_AXIS] += e_shift_calibration; plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], feedrate, active_extruder); st_synchronize(); @@ -4282,9 +4284,9 @@ void lcd_calibrate_pinda() { else { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); delay(2000); lcd_clear(); @@ -4434,12 +4436,12 @@ void lcd_wizard(int state) { while (abs(degHotend(0) - PLA_PREHEAT_HOTEND_TEMP) > 3) { lcd_display_message_fullscreen_P(_T(MSG_WIZARD_HEATING)); - lcd.setCursor(0, 4); - lcd.print(LCD_STR_THERMOMETER[0]); - lcd.print(ftostr3(degHotend(0))); - lcd.print("/"); - lcd.print(PLA_PREHEAT_HOTEND_TEMP); - lcd.print(LCD_STR_DEGREE); + lcd_set_cursor(0, 4); + lcd_print(LCD_STR_THERMOMETER[0]); + lcd_print(ftostr3(degHotend(0))); + lcd_print("/"); + lcd_print(PLA_PREHEAT_HOTEND_TEMP); + lcd_print(LCD_STR_DEGREE); lcd_set_custom_characters(); delay_keep_alive(1000); } @@ -4769,15 +4771,15 @@ void bowden_menu() { int enc_dif = lcd_encoder_diff; int cursor_pos = 0; lcd_clear(); - lcd.setCursor(0, 0); - lcd.print(">"); + lcd_set_cursor(0, 0); + lcd_print(">"); for (int i = 0; i < 4; i++) { - lcd.setCursor(1, i); - lcd.print("Extruder "); - lcd.print(i); - lcd.print(": "); + lcd_set_cursor(1, i); + lcd_print("Extruder "); + lcd_print(i); + lcd_print(": "); EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); - lcd.print(bowden_length[i] - 48); + lcd_print(bowden_length[i] - 48); } enc_dif = lcd_encoder_diff; @@ -4805,16 +4807,16 @@ void bowden_menu() { cursor_pos = 0; } - lcd.setCursor(0, 0); - lcd.print(" "); - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 0); + lcd_print(" "); + lcd_set_cursor(0, 1); + lcd_print(" "); + lcd_set_cursor(0, 2); + lcd_print(" "); + lcd_set_cursor(0, 3); + lcd_print(" "); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); enc_dif = lcd_encoder_diff; delay(100); @@ -4831,25 +4833,25 @@ void bowden_menu() { manage_heater(); manage_inactivity(true); - lcd.setCursor(1, 1); - lcd.print("Extruder "); - lcd.print(cursor_pos); - lcd.print(": "); - lcd.setCursor(13, 1); - lcd.print(bowden_length[cursor_pos] - 48); + lcd_set_cursor(1, 1); + lcd_print("Extruder "); + lcd_print(cursor_pos); + lcd_print(": "); + lcd_set_cursor(13, 1); + lcd_print(bowden_length[cursor_pos] - 48); if (abs((enc_dif - lcd_encoder_diff)) > 2) { if (enc_dif > lcd_encoder_diff) { bowden_length[cursor_pos]--; - lcd.setCursor(13, 1); - lcd.print(bowden_length[cursor_pos] - 48); + lcd_set_cursor(13, 1); + lcd_print(bowden_length[cursor_pos] - 48); enc_dif = lcd_encoder_diff; } if (enc_dif < lcd_encoder_diff) { bowden_length[cursor_pos]++; - lcd.setCursor(13, 1); - lcd.print(bowden_length[cursor_pos] - 48); + lcd_set_cursor(13, 1); + lcd_print(bowden_length[cursor_pos] - 48); enc_dif = lcd_encoder_diff; } } @@ -4863,15 +4865,15 @@ void bowden_menu() { lcd_update_enable(true); lcd_clear(); enc_dif = lcd_encoder_diff; - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); for (int i = 0; i < 4; i++) { - lcd.setCursor(1, i); - lcd.print("Extruder "); - lcd.print(i); - lcd.print(": "); + lcd_set_cursor(1, i); + lcd_print("Extruder "); + lcd_print(i); + lcd_print(": "); EEPROM_read_B(EEPROM_BOWDEN_LENGTH + i * 2, &bowden_length[i]); - lcd.print(bowden_length[i] - 48); + lcd_print(bowden_length[i] - 48); } break; @@ -4885,8 +4887,8 @@ void bowden_menu() { static char snmm_stop_print_menu() { //menu for choosing which filaments will be unloaded in stop print lcd_clear(); - lcd_puts_at_P(0,0,_T(MSG_UNLOAD_FILAMENT)); lcd.print(":"); - lcd.setCursor(0, 1); lcd.print(">"); + lcd_puts_at_P(0,0,_T(MSG_UNLOAD_FILAMENT)); lcd_print(":"); + lcd_set_cursor(0, 1); lcd_print(">"); lcd_puts_at_P(1,2,_i("Used during print"));////MSG_USED c=19 r=1 lcd_puts_at_P(1,3,_i("Current"));////MSG_CURRENT c=19 r=1 char cursor_pos = 1; @@ -4903,14 +4905,14 @@ static char snmm_stop_print_menu() { //menu for choosing which filaments will be if (cursor_pos > 3) cursor_pos = 3; if (cursor_pos < 1) cursor_pos = 1; - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 1); + lcd_print(" "); + lcd_set_cursor(0, 2); + lcd_print(" "); + lcd_set_cursor(0, 3); + lcd_print(" "); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); enc_dif = lcd_encoder_diff; delay(100); } @@ -4937,8 +4939,8 @@ char choose_extruder_menu() { lcd_clear(); lcd_puts_P(_T(MSG_CHOOSE_EXTRUDER)); - lcd.setCursor(0, 1); - lcd.print(">"); + lcd_set_cursor(0, 1); + lcd_print(">"); for (int i = 0; i < 3; i++) { lcd_puts_at_P(1, i + 1, _T(MSG_EXTRUDER)); } @@ -4946,8 +4948,8 @@ char choose_extruder_menu() { while (1) { for (int i = 0; i < 3; i++) { - lcd.setCursor(2 + strlen_P(_T(MSG_EXTRUDER)), i+1); - lcd.print(first + i + 1); + lcd_set_cursor(2 + strlen_P(_T(MSG_EXTRUDER)), i+1); + lcd_print(first + i + 1); } manage_heater(); @@ -4987,14 +4989,14 @@ char choose_extruder_menu() { } } } - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 1); + lcd_print(" "); + lcd_set_cursor(0, 2); + lcd_print(" "); + lcd_set_cursor(0, 3); + lcd_print(" "); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); enc_dif = lcd_encoder_diff; delay(100); } @@ -5037,14 +5039,14 @@ char reset_menu() { enc_dif = lcd_encoder_diff; lcd_clear(); - lcd.setCursor(0, 0); - lcd.print(">"); + lcd_set_cursor(0, 0); + lcd_print(">"); while (1) { for (int i = 0; i < 4; i++) { - lcd.setCursor(1, i); - lcd.print(item[first + i]); + lcd_set_cursor(1, i); + lcd_print(item[first + i]); } manage_heater(); @@ -5076,16 +5078,16 @@ char reset_menu() { lcd_clear(); } } - lcd.setCursor(0, 0); - lcd.print(" "); - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 0); + lcd_print(" "); + lcd_set_cursor(0, 1); + lcd_print(" "); + lcd_set_cursor(0, 2); + lcd_print(" "); + lcd_set_cursor(0, 3); + lcd_print(" "); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); enc_dif = lcd_encoder_diff; delay(100); } @@ -5186,7 +5188,7 @@ void extr_adj(int extruder) //loading filament for SNMM //max_feedrate[E_AXIS] = 50; START: lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); switch (extruder) { case 1: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T1)); break; case 2: lcd_display_message_fullscreen_P(_T(MSG_FILAMENT_LOADING_T2)); break; @@ -5207,11 +5209,11 @@ void extr_adj(int extruder) //loading filament for SNMM //extr_mov(BOWDEN_LENGTH/2.f, 500); extr_mov(bowden_length[extruder], 500); lcd_clear(); - lcd.setCursor(0, 0); lcd_puts_P(_T(MSG_LOADING_FILAMENT)); - if(strlen(_T(MSG_LOADING_FILAMENT))>18) lcd.setCursor(0, 1); - else lcd.print(" "); - lcd.print(snmm_extruder + 1); - lcd.setCursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT)); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_LOADING_FILAMENT)); + if(strlen(_T(MSG_LOADING_FILAMENT))>18) lcd_set_cursor(0, 1); + else lcd_print(" "); + lcd_print(snmm_extruder + 1); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT)); st_synchronize(); max_feedrate[E_AXIS] = 50; lcd_update_enable(true); @@ -5229,10 +5231,10 @@ void extr_unload() { //unloads filament lcd_clear(); lcd_display_message_fullscreen_P(PSTR("")); max_feedrate[E_AXIS] = 50; - lcd.setCursor(0, 0); lcd_puts_P(_T(MSG_UNLOADING_FILAMENT)); - lcd.print(" "); - lcd.print(snmm_extruder + 1); - lcd.setCursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT)); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_UNLOADING_FILAMENT)); + lcd_print(" "); + lcd_print(snmm_extruder + 1); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PLEASE_WAIT)); if (current_position[Z_AXIS] < 15) { current_position[Z_AXIS] += 15; //lifting in Z direction to make space for extrusion plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 25, active_extruder); @@ -5279,9 +5281,9 @@ void extr_unload() { //unloads filament else { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); delay(2000); @@ -5348,9 +5350,9 @@ void extr_unload_all() { } else { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); delay(2000); lcd_clear(); @@ -5372,9 +5374,9 @@ void extr_unload_used() { } else { lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_ERROR)); - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_PREHEAT_NOZZLE)); delay(2000); lcd_clear(); @@ -5449,8 +5451,8 @@ static void lcd_farm_no() int _ret = 0; lcd_clear(); - lcd.setCursor(0, 0); - lcd.print("Farm no"); + lcd_set_cursor(0, 0); + lcd_print("Farm no"); do { @@ -5477,17 +5479,17 @@ static void lcd_farm_no() lcd_encoder_diff = 0; } - lcd.setCursor(0, 2); - if (_farmno < 100) lcd.print("0"); - if (_farmno < 10) lcd.print("0"); - lcd.print(_farmno); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); + lcd_set_cursor(0, 2); + if (_farmno < 100) lcd_print("0"); + if (_farmno < 10) lcd_print("0"); + lcd_print(_farmno); + lcd_print(" "); + lcd_set_cursor(0, 3); + lcd_print(" "); - lcd.setCursor(step, 3); - lcd.print("^"); + lcd_set_cursor(step, 3); + lcd_print("^"); delay(100); if (lcd_clicked()) @@ -5524,16 +5526,16 @@ unsigned char lcd_choose_color() { unsigned char cursor_pos = 1; enc_dif = lcd_encoder_diff; lcd_clear(); - lcd.setCursor(0, 1); - lcd.print(">"); + lcd_set_cursor(0, 1); + lcd_print(">"); active_rows = items_no < 3 ? items_no : 3; while (1) { lcd_puts_at_P(0, 0, PSTR("Choose color:")); for (int i = 0; i < active_rows; i++) { - lcd.setCursor(1, i+1); - lcd.print(item[first + i]); + lcd_set_cursor(1, i+1); + lcd_print(item[first + i]); } manage_heater(); @@ -5564,14 +5566,14 @@ unsigned char lcd_choose_color() { lcd_clear(); } } - lcd.setCursor(0, 1); - lcd.print(" "); - lcd.setCursor(0, 2); - lcd.print(" "); - lcd.setCursor(0, 3); - lcd.print(" "); - lcd.setCursor(0, cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 1); + lcd_print(" "); + lcd_set_cursor(0, 2); + lcd_print(" "); + lcd_set_cursor(0, 3); + lcd_print(" "); + lcd_set_cursor(0, cursor_pos); + lcd_print(">"); enc_dif = lcd_encoder_diff; delay(100); @@ -5603,8 +5605,8 @@ void lcd_confirm_print() enc_dif = lcd_encoder_diff; lcd_clear(); - lcd.setCursor(0, 0); - lcd.print("Print ok ?"); + lcd_set_cursor(0, 0); + lcd_print("Print ok ?"); do { @@ -5622,14 +5624,14 @@ void lcd_confirm_print() if (cursor_pos > 2) { cursor_pos = 2; } if (cursor_pos < 1) { cursor_pos = 1; } - lcd.setCursor(0, 2); lcd.print(" "); - lcd.setCursor(0, 3); lcd.print(" "); - lcd.setCursor(2, 2); + lcd_set_cursor(0, 2); lcd_print(" "); + lcd_set_cursor(0, 3); lcd_print(" "); + lcd_set_cursor(2, 2); lcd_puts_P(_T(MSG_YES)); - lcd.setCursor(2, 3); + lcd_set_cursor(2, 3); lcd_puts_P(_T(MSG_NO)); - lcd.setCursor(0, 1 + cursor_pos); - lcd.print(">"); + lcd_set_cursor(0, 1 + cursor_pos); + lcd_print(">"); delay(100); _t = _t + 1; @@ -6080,20 +6082,20 @@ void lcd_print_stop() { void lcd_sdcard_stop() { - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_STOP_PRINT)); - lcd.setCursor(2, 2); + lcd_set_cursor(2, 2); lcd_puts_P(_T(MSG_NO)); - lcd.setCursor(2, 3); + lcd_set_cursor(2, 3); lcd_puts_P(_T(MSG_YES)); - lcd.setCursor(0, 2); lcd.print(" "); - lcd.setCursor(0, 3); lcd.print(" "); + lcd_set_cursor(0, 2); lcd_print(" "); + lcd_set_cursor(0, 3); lcd_print(" "); if ((int32_t)lcd_encoder > 2) { lcd_encoder = 2; } if ((int32_t)lcd_encoder < 1) { lcd_encoder = 1; } - lcd.setCursor(0, 1 + lcd_encoder); - lcd.print(">"); + lcd_set_cursor(0, 1 + lcd_encoder); + lcd_print(">"); if (lcd_clicked()) { @@ -6175,7 +6177,7 @@ bool lcd_selftest() bool _result = true; lcd_wait_for_cool_down(); lcd_clear(); - lcd.setCursor(0, 0); lcd_puts_P(_i("Self test start "));////MSG_SELFTEST_START c=20 r=0 + lcd_set_cursor(0, 0); lcd_puts_P(_i("Self test start "));////MSG_SELFTEST_START c=20 r=0 #ifdef TMC2130 FORCE_HIGH_POWER_START; #endif // TMC2130 @@ -6766,95 +6768,95 @@ static void lcd_selftest_error(int _error_no, const char *_error_1, const char * lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); lcd_puts_P(_i("Selftest error !"));////MSG_SELFTEST_ERROR c=0 r=0 - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); lcd_puts_P(_i("Please check :"));////MSG_SELFTEST_PLEASECHECK c=0 r=0 switch (_error_no) { case 1: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Heater/Thermistor"));////MSG_SELFTEST_HEATERTHERMISTOR c=0 r=0 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_i("Not connected"));////MSG_SELFTEST_NOTCONNECTED c=0 r=0 break; case 2: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Bed / Heater"));////MSG_SELFTEST_BEDHEATER c=0 r=0 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_WIRINGERROR)); break; case 3: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Endstops"));////MSG_SELFTEST_ENDSTOPS c=0 r=0 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_WIRINGERROR)); - lcd.setCursor(17, 3); - lcd.print(_error_1); + lcd_set_cursor(17, 3); + lcd_print(_error_1); break; case 4: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_SELFTEST_MOTOR)); - lcd.setCursor(18, 2); - lcd.print(_error_1); - lcd.setCursor(0, 3); + lcd_set_cursor(18, 2); + lcd_print(_error_1); + lcd_set_cursor(0, 3); lcd_puts_P(_i("Endstop"));////MSG_SELFTEST_ENDSTOP c=0 r=0 - lcd.setCursor(18, 3); - lcd.print(_error_2); + lcd_set_cursor(18, 3); + lcd_print(_error_2); break; case 5: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Endstop not hit"));////MSG_SELFTEST_ENDSTOP_NOTHIT c=20 r=1 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_MOTOR)); - lcd.setCursor(18, 3); - lcd.print(_error_1); + lcd_set_cursor(18, 3); + lcd_print(_error_1); break; case 6: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_SELFTEST_COOLING_FAN)); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_WIRINGERROR)); - lcd.setCursor(18, 3); - lcd.print(_error_1); + lcd_set_cursor(18, 3); + lcd_print(_error_1); break; case 7: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_T(MSG_SELFTEST_EXTRUDER_FAN)); - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_WIRINGERROR)); - lcd.setCursor(18, 3); - lcd.print(_error_1); + lcd_set_cursor(18, 3); + lcd_print(_error_1); break; case 8: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Loose pulley"));////MSG_LOOSE_PULLEY c=20 r=1 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_MOTOR)); - lcd.setCursor(18, 3); - lcd.print(_error_1); + lcd_set_cursor(18, 3); + lcd_print(_error_1); break; case 9: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Axis length"));////MSG_SELFTEST_AXIS_LENGTH c=0 r=0 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_i("Axis"));////MSG_SELFTEST_AXIS c=0 r=0 - lcd.setCursor(18, 3); - lcd.print(_error_1); + lcd_set_cursor(18, 3); + lcd_print(_error_1); break; case 10: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Front/left fans"));////MSG_SELFTEST_FANS c=0 r=0 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_i("Swapped"));////MSG_SELFTEST_SWAPPED c=0 r=0 - lcd.setCursor(18, 3); - lcd.print(_error_1); + lcd_set_cursor(18, 3); + lcd_print(_error_1); break; case 11: - lcd.setCursor(0, 2); + lcd_set_cursor(0, 2); lcd_puts_P(_i("Filament sensor"));////MSG_FILAMENT_SENSOR c=20 r=0 - lcd.setCursor(0, 3); + lcd_set_cursor(0, 3); lcd_puts_P(_T(MSG_SELFTEST_WIRINGERROR)); break; } @@ -6891,13 +6893,13 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) bool _result = check_opposite; lcd_clear(); - lcd.setCursor(0, 0); lcd_puts_P(_T(MSG_SELFTEST_FAN)); + lcd_set_cursor(0, 0); lcd_puts_P(_T(MSG_SELFTEST_FAN)); switch (_fan) { case 0: // extruder cooling fan - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); if(check_opposite == true) lcd_puts_P(_T(MSG_SELFTEST_COOLING_FAN)); else lcd_puts_P(_T(MSG_SELFTEST_EXTRUDER_FAN)); SET_OUTPUT(EXTRUDER_0_AUTO_FAN_PIN); @@ -6905,7 +6907,7 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) break; case 1: // object cooling fan - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); if (check_opposite == true) lcd_puts_P(_T(MSG_SELFTEST_EXTRUDER_FAN)); else lcd_puts_P(_T(MSG_SELFTEST_COOLING_FAN)); SET_OUTPUT(FAN_PIN); @@ -6914,9 +6916,9 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) } delay(500); - lcd.setCursor(1, 2); lcd_puts_P(_T(MSG_SELFTEST_FAN_YES)); - lcd.setCursor(0, 3); lcd.print(">"); - lcd.setCursor(1, 3); lcd_puts_P(_T(MSG_SELFTEST_FAN_NO)); + lcd_set_cursor(1, 2); lcd_puts_P(_T(MSG_SELFTEST_FAN_YES)); + lcd_set_cursor(0, 3); lcd_print(">"); + lcd_set_cursor(1, 3); lcd_puts_P(_T(MSG_SELFTEST_FAN_NO)); int8_t enc_dif = 0; KEEPALIVE_STATE(PAUSED_FOR_USER); @@ -6941,18 +6943,18 @@ static bool lcd_selftest_manual_fan_check(int _fan, bool check_opposite) if (abs((enc_dif - lcd_encoder_diff)) > 2) { if (enc_dif > lcd_encoder_diff) { _result = !check_opposite; - lcd.setCursor(0, 2); lcd.print(">"); - lcd.setCursor(1, 2); lcd_puts_P(_T(MSG_SELFTEST_FAN_YES)); - lcd.setCursor(0, 3); lcd.print(" "); - lcd.setCursor(1, 3); lcd_puts_P(_T(MSG_SELFTEST_FAN_NO)); + lcd_set_cursor(0, 2); lcd_print(">"); + lcd_set_cursor(1, 2); lcd_puts_P(_T(MSG_SELFTEST_FAN_YES)); + lcd_set_cursor(0, 3); lcd_print(" "); + lcd_set_cursor(1, 3); lcd_puts_P(_T(MSG_SELFTEST_FAN_NO)); } if (enc_dif < lcd_encoder_diff) { _result = check_opposite; - lcd.setCursor(0, 2); lcd.print(" "); - lcd.setCursor(1, 2); lcd_puts_P(_T(MSG_SELFTEST_FAN_YES)); - lcd.setCursor(0, 3); lcd.print(">"); - lcd.setCursor(1, 3); lcd_puts_P(_T(MSG_SELFTEST_FAN_NO)); + lcd_set_cursor(0, 2); lcd_print(" "); + lcd_set_cursor(1, 2); lcd_puts_P(_T(MSG_SELFTEST_FAN_YES)); + lcd_set_cursor(0, 3); lcd_print(">"); + lcd_set_cursor(1, 3); lcd_puts_P(_T(MSG_SELFTEST_FAN_NO)); } enc_dif = 0; lcd_encoder_diff = 0; @@ -7001,11 +7003,11 @@ static bool lcd_selftest_fan_dialog(int _fan) fanSpeed = 150; //print fan for (uint8_t i = 0; i < 5; i++) { delay_keep_alive(1000); - lcd.setCursor(18, 3); - lcd.print("-"); + lcd_set_cursor(18, 3); + lcd_print("-"); delay_keep_alive(1000); - lcd.setCursor(18, 3); - lcd.print("|"); + lcd_set_cursor(18, 3); + lcd_print("|"); } fanSpeed = 0; manage_heater(); //turn off fan @@ -7051,7 +7053,7 @@ static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bo if (_clear) lcd_clear(); - lcd.setCursor(0, 0); + lcd_set_cursor(0, 0); if (_step == -1) lcd_puts_P(_T(MSG_SELFTEST_FAN)); if (_step == 0) lcd_puts_P(_T(MSG_SELFTEST_FAN)); @@ -7069,23 +7071,23 @@ static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bo if (_step == 12) lcd_puts_P(_T(MSG_SELFTEST_FAILED)); if (_step == 13) lcd_puts_P(PSTR("Calibrating home")); - lcd.setCursor(0, 1); + lcd_set_cursor(0, 1); lcd_puts_P(separator); if ((_step >= -1) && (_step <= 1)) { //SERIAL_ECHOLNPGM("Fan test"); lcd_puts_at_P(0, 2, _i("Extruder fan:"));////MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 r=0 - lcd.setCursor(18, 2); - (_step < 0) ? lcd.print(_indicator) : lcd.print("OK"); + lcd_set_cursor(18, 2); + (_step < 0) ? lcd_print(_indicator) : lcd_print("OK"); lcd_puts_at_P(0, 3, _i("Print fan:"));////MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0 - lcd.setCursor(18, 3); - (_step < 1) ? lcd.print(_indicator) : lcd.print("OK"); + lcd_set_cursor(18, 3); + (_step < 1) ? lcd_print(_indicator) : lcd_print("OK"); } else if (_step >= 9 && _step <= 10) { lcd_puts_at_P(0, 2, _i("Filament sensor:"));////MSG_SELFTEST_FILAMENT_SENSOR c=18 r=0 - lcd.setCursor(18, 2); - (_step == 9) ? lcd.print(_indicator) : lcd.print("OK"); + lcd_set_cursor(18, 2); + (_step == 9) ? lcd_print(_indicator) : lcd_print("OK"); } else if (_step < 9) { @@ -7114,26 +7116,26 @@ static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bo static void lcd_selftest_screen_step(int _row, int _col, int _state, const char *_name, const char *_indicator) { - lcd.setCursor(_col, _row); + lcd_set_cursor(_col, _row); switch (_state) { case 1: - lcd.print(_name); - lcd.setCursor(_col + strlen(_name), _row); - lcd.print(":"); - lcd.setCursor(_col + strlen(_name) + 1, _row); - lcd.print(_indicator); + lcd_print(_name); + lcd_set_cursor(_col + strlen(_name), _row); + lcd_print(":"); + lcd_set_cursor(_col + strlen(_name) + 1, _row); + lcd_print(_indicator); break; case 2: - lcd.print(_name); - lcd.setCursor(_col + strlen(_name), _row); - lcd.print(":"); - lcd.setCursor(_col + strlen(_name) + 1, _row); - lcd.print("OK"); + lcd_print(_name); + lcd_set_cursor(_col + strlen(_name), _row); + lcd_print(":"); + lcd_set_cursor(_col + strlen(_name) + 1, _row); + lcd_print("OK"); break; default: - lcd.print(_name); + lcd_print(_name); } } @@ -7276,9 +7278,9 @@ static void lcd_connect_printer() { int i = 0; int t = 0; lcd_set_custom_characters_progress(); - lcd_print_at(0, 0, "Connect printer to"); - lcd_print_at(0, 1, "monitoring or hold"); - lcd_print_at(0, 2, "the knob to continue"); + lcd_puts_at_P(0, 0, _i("Connect printer to")); + lcd_puts_at_P(0, 1, _i("monitoring or hold")); + lcd_puts_at_P(0, 2, _i("the knob to continue")); while (no_response) { i++; t++; @@ -7290,9 +7292,9 @@ static void lcd_connect_printer() { } if (READ(BTN_ENC)) { //if button is not pressed i = 0; - lcd_print_at(0, 3, " "); + lcd_puts_at_P(0, 3, PSTR(" ")); } - if (i!=0) lcd_print_at((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, "\x01"); + if (i!=0) lcd_puts_at_P((i * 20) / (NC_BUTTON_LONG_PRESS * 10), 3, "\x01"); if (i == NC_BUTTON_LONG_PRESS * 10) { no_response = false; } diff --git a/Firmware/ultralcd.h b/Firmware/ultralcd.h index 389626e2d..520f2be27 100644 --- a/Firmware/ultralcd.h +++ b/Firmware/ultralcd.h @@ -2,7 +2,7 @@ #define ULTRALCD_H #include "Marlin.h" -//#include "mesh_bed_calibration.h" +#include "lcd.h" #include "conv2str.h" extern int lcd_puts_P(const char* str); diff --git a/Firmware/util.cpp b/Firmware/util.cpp index 2d5da9d88..259e9b88f 100644 --- a/Firmware/util.cpp +++ b/Firmware/util.cpp @@ -1,6 +1,5 @@ #include "Configuration.h" -#include "lcd.h" #include "ultralcd.h" #include "language.h" #include "util.h"