diff --git a/Firmware/Marlin.h b/Firmware/Marlin.h index c1ba03a03..b090a4b13 100644 --- a/Firmware/Marlin.h +++ b/Firmware/Marlin.h @@ -284,6 +284,8 @@ extern unsigned long stoptime; extern bool is_usb_printing; extern unsigned int usb_printing_counter; +extern unsigned long kicktime; + extern unsigned long total_filament_used; void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time); extern unsigned int heating_status; diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 3729c6d92..1b226674e 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -255,6 +255,8 @@ int extruder_multiply[EXTRUDERS] = {100 bool is_usb_printing = false; +unsigned long kicktime = millis()+100000; + unsigned int usb_printing_counter; int lcd_change_fil_state = 0; @@ -1789,6 +1791,7 @@ void process_commands() lcd_force_language_selection(); } else if(code_seen("Lz")) { EEPROM_save_B(EEPROM_BABYSTEP_Z,0); + } else if (code_seen("SERIAL LOW")) { MYSERIAL.println("SERIAL LOW"); MYSERIAL.begin(BAUDRATE); @@ -1797,6 +1800,10 @@ void process_commands() MYSERIAL.println("SERIAL HIGH"); MYSERIAL.begin(1152000); return; + } else if(code_seen("Beat")) { + // Kick farm link timer + kicktime = millis(); + } //else if (code_seen('Cal')) { // lcd_calibration(); diff --git a/Firmware/ultralcd_implementation_hitachi_HD44780.h b/Firmware/ultralcd_implementation_hitachi_HD44780.h index 4e5ba99cb..2c578fe5f 100644 --- a/Firmware/ultralcd_implementation_hitachi_HD44780.h +++ b/Firmware/ultralcd_implementation_hitachi_HD44780.h @@ -763,6 +763,17 @@ static void lcd_implementation_status_screen() lcd_printPGM(PSTR(" F")); lcd.print(farm_no); lcd_printPGM(PSTR(" ")); + + // Beat display + lcd.setCursor(LCD_WIDTH - 1, 0); + if ( (millis() - kicktime) < 60000 ) { + + lcd_printPGM(PSTR("L")); + + }else{ + lcd_printPGM(PSTR(" ")); + } + } //Print time elapsed