Merge pull request #50 from PavelSindler/MK2
Three digit farm numbers support added, status on demand added, temp reading disable in farm mode, fixed "shift out of range" bug in xyz calibration
This commit is contained in:
commit
7a896b3601
7 changed files with 129 additions and 41 deletions
|
@ -5,7 +5,7 @@
|
||||||
#include "Configuration_prusa.h"
|
#include "Configuration_prusa.h"
|
||||||
|
|
||||||
// Firmware version
|
// Firmware version
|
||||||
#define FW_version "3.0.10"
|
#define FW_version "3.0.10.1"
|
||||||
|
|
||||||
#define FW_PRUSA3D_MAGIC "PRUSA3DFW"
|
#define FW_PRUSA3D_MAGIC "PRUSA3DFW"
|
||||||
#define FW_PRUSA3D_MAGIC_LEN 10
|
#define FW_PRUSA3D_MAGIC_LEN 10
|
||||||
|
|
|
@ -292,6 +292,7 @@ extern unsigned long kicktime;
|
||||||
extern unsigned long total_filament_used;
|
extern unsigned long total_filament_used;
|
||||||
void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time);
|
void save_statistics(unsigned long _total_filament_used, unsigned long _total_print_time);
|
||||||
extern unsigned int heating_status;
|
extern unsigned int heating_status;
|
||||||
|
extern unsigned int status_number;
|
||||||
extern unsigned int heating_status_counter;
|
extern unsigned int heating_status_counter;
|
||||||
extern bool custom_message;
|
extern bool custom_message;
|
||||||
extern unsigned int custom_message_type;
|
extern unsigned int custom_message_type;
|
||||||
|
|
|
@ -267,6 +267,7 @@ unsigned char lang_selected = 0;
|
||||||
|
|
||||||
bool prusa_sd_card_upload = false;
|
bool prusa_sd_card_upload = false;
|
||||||
|
|
||||||
|
unsigned int status_number = 0;
|
||||||
|
|
||||||
unsigned long total_filament_used;
|
unsigned long total_filament_used;
|
||||||
unsigned int heating_status;
|
unsigned int heating_status;
|
||||||
|
@ -1958,7 +1959,10 @@ void process_commands()
|
||||||
int8_t SilentMode;
|
int8_t SilentMode;
|
||||||
#endif
|
#endif
|
||||||
if(code_seen("PRUSA")){
|
if(code_seen("PRUSA")){
|
||||||
if (code_seen("fn")) {
|
if (code_seen("PRN")) {
|
||||||
|
MYSERIAL.println(status_number);
|
||||||
|
|
||||||
|
}else if (code_seen("fn")) {
|
||||||
if (farm_mode) {
|
if (farm_mode) {
|
||||||
MYSERIAL.println(farm_no);
|
MYSERIAL.println(farm_no);
|
||||||
}
|
}
|
||||||
|
@ -1966,7 +1970,7 @@ void process_commands()
|
||||||
MYSERIAL.println("Not in farm mode.");
|
MYSERIAL.println("Not in farm mode.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if (code_seen("fv")) {
|
}else if (code_seen("fv")) {
|
||||||
// get file version
|
// get file version
|
||||||
#ifdef SDSUPPORT
|
#ifdef SDSUPPORT
|
||||||
card.openFile(strchr_pointer + 3,true);
|
card.openFile(strchr_pointer + 3,true);
|
||||||
|
@ -2017,7 +2021,7 @@ void process_commands()
|
||||||
}else if(code_seen("Y")) { //filaments adjustment at the beginning of print (for SNMM)
|
}else if(code_seen("Y")) { //filaments adjustment at the beginning of print (for SNMM)
|
||||||
#ifdef SNMM
|
#ifdef SNMM
|
||||||
int extr;
|
int extr;
|
||||||
SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); //is silent mode or loud mode set
|
SilentMode = eeprom_read_byte((uint8_t*)EEPROM_SILENT); //is silent mode or loud mode set
|
||||||
lcd_implementation_clear();
|
lcd_implementation_clear();
|
||||||
lcd_display_message_fullscreen_P(MSG_FIL_ADJUSTING);
|
lcd_display_message_fullscreen_P(MSG_FIL_ADJUSTING);
|
||||||
current_position[Z_AXIS] = 100;
|
current_position[Z_AXIS] = 100;
|
||||||
|
@ -3917,22 +3921,24 @@ Sigma_Exit:
|
||||||
#endif //TEMP_RESIDENCY_TIME
|
#endif //TEMP_RESIDENCY_TIME
|
||||||
if( (millis() - codenum) > 1000UL )
|
if( (millis() - codenum) > 1000UL )
|
||||||
{ //Print Temp Reading and remaining time every 1 second while heating up/cooling down
|
{ //Print Temp Reading and remaining time every 1 second while heating up/cooling down
|
||||||
SERIAL_PROTOCOLPGM("T:");
|
if (!farm_mode) {
|
||||||
SERIAL_PROTOCOL_F(degHotend(tmp_extruder),1);
|
SERIAL_PROTOCOLPGM("T:");
|
||||||
SERIAL_PROTOCOLPGM(" E:");
|
SERIAL_PROTOCOL_F(degHotend(tmp_extruder), 1);
|
||||||
SERIAL_PROTOCOL((int)tmp_extruder);
|
SERIAL_PROTOCOLPGM(" E:");
|
||||||
|
SERIAL_PROTOCOL((int)tmp_extruder);
|
||||||
#ifdef TEMP_RESIDENCY_TIME
|
|
||||||
SERIAL_PROTOCOLPGM(" W:");
|
#ifdef TEMP_RESIDENCY_TIME
|
||||||
if(residencyStart > -1)
|
SERIAL_PROTOCOLPGM(" W:");
|
||||||
{
|
if (residencyStart > -1)
|
||||||
codenum = ((TEMP_RESIDENCY_TIME * 1000UL) - (millis() - residencyStart)) / 1000UL;
|
{
|
||||||
SERIAL_PROTOCOLLN( codenum );
|
codenum = ((TEMP_RESIDENCY_TIME * 1000UL) - (millis() - residencyStart)) / 1000UL;
|
||||||
}
|
SERIAL_PROTOCOLLN(codenum);
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
SERIAL_PROTOCOLLN( "?" );
|
{
|
||||||
}
|
SERIAL_PROTOCOLLN("?");
|
||||||
|
}
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
SERIAL_PROTOCOLLN("");
|
SERIAL_PROTOCOLLN("");
|
||||||
#endif
|
#endif
|
||||||
|
@ -3984,15 +3990,18 @@ Sigma_Exit:
|
||||||
{
|
{
|
||||||
if(( millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up.
|
if(( millis() - codenum) > 1000 ) //Print Temp Reading every 1 second while heating up.
|
||||||
{
|
{
|
||||||
float tt=degHotend(active_extruder);
|
if (!farm_mode) {
|
||||||
SERIAL_PROTOCOLPGM("T:");
|
float tt = degHotend(active_extruder);
|
||||||
SERIAL_PROTOCOL(tt);
|
SERIAL_PROTOCOLPGM("T:");
|
||||||
SERIAL_PROTOCOLPGM(" E:");
|
SERIAL_PROTOCOL(tt);
|
||||||
SERIAL_PROTOCOL((int)active_extruder);
|
SERIAL_PROTOCOLPGM(" E:");
|
||||||
SERIAL_PROTOCOLPGM(" B:");
|
SERIAL_PROTOCOL((int)active_extruder);
|
||||||
SERIAL_PROTOCOL_F(degBed(),1);
|
SERIAL_PROTOCOLPGM(" B:");
|
||||||
SERIAL_PROTOCOLLN("");
|
SERIAL_PROTOCOL_F(degBed(), 1);
|
||||||
codenum = millis();
|
SERIAL_PROTOCOLLN("");
|
||||||
|
}
|
||||||
|
codenum = millis();
|
||||||
|
|
||||||
}
|
}
|
||||||
manage_heater();
|
manage_heater();
|
||||||
manage_inactivity();
|
manage_inactivity();
|
||||||
|
|
|
@ -412,18 +412,55 @@ BedSkewOffsetDetectionResultType calculate_machine_skew_and_offset_LS(
|
||||||
cntr[1] = 0.f;
|
cntr[1] = 0.f;
|
||||||
float wx = 0.f;
|
float wx = 0.f;
|
||||||
float wy = 0.f;
|
float wy = 0.f;
|
||||||
for (int8_t i = 0; i < 9; ++ i) {
|
for (int8_t i = 0; i < npts; ++ i) {
|
||||||
float x = vec_x[0] * measured_pts[i * 2] + vec_y[0] * measured_pts[i * 2 + 1];
|
float x = vec_x[0] * measured_pts[i * 2] + vec_y[0] * measured_pts[i * 2 + 1];
|
||||||
float y = vec_x[1] * measured_pts[i * 2] + vec_y[1] * measured_pts[i * 2 + 1];
|
float y = vec_x[1] * measured_pts[i * 2] + vec_y[1] * measured_pts[i * 2 + 1];
|
||||||
float w = point_weight_x(i, y);
|
float w = point_weight_x(i, y);
|
||||||
cntr[0] += w * (pgm_read_float(true_pts + i * 2) - x);
|
cntr[0] += w * (pgm_read_float(true_pts + i * 2) - x);
|
||||||
wx += w;
|
wx += w;
|
||||||
|
if (verbosity_level >= 20) {
|
||||||
|
MYSERIAL.print(i);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("Weight_x:");
|
||||||
|
MYSERIAL.print(w);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("cntr[0]:");
|
||||||
|
MYSERIAL.print(cntr[0]);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("wx:");
|
||||||
|
MYSERIAL.print(wx);
|
||||||
|
}
|
||||||
w = point_weight_y(i, y);
|
w = point_weight_y(i, y);
|
||||||
cntr[1] += w * (pgm_read_float(true_pts + i * 2 + 1) - y);
|
cntr[1] += w * (pgm_read_float(true_pts + i * 2 + 1) - y);
|
||||||
wy += w;
|
wy += w;
|
||||||
}
|
|
||||||
|
if (verbosity_level >= 20) {
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("Weight_y:");
|
||||||
|
MYSERIAL.print(w);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("cntr[1]:");
|
||||||
|
MYSERIAL.print(cntr[1]);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("wy:");
|
||||||
|
MYSERIAL.print(wy);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
}
|
||||||
|
}
|
||||||
cntr[0] /= wx;
|
cntr[0] /= wx;
|
||||||
cntr[1] /= wy;
|
cntr[1] /= wy;
|
||||||
|
if (verbosity_level >= 20) {
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("Final cntr values:");
|
||||||
|
SERIAL_ECHOLNPGM("cntr[0]:");
|
||||||
|
MYSERIAL.print(cntr[0]);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
SERIAL_ECHOLNPGM("cntr[1]:");
|
||||||
|
MYSERIAL.print(cntr[1]);
|
||||||
|
SERIAL_ECHOLNPGM("");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -605,18 +642,24 @@ void world2machine_initialize()
|
||||||
// Length of the vec_x shall be close to unity.
|
// Length of the vec_x shall be close to unity.
|
||||||
float l = sqrt(vec_x[0] * vec_x[0] + vec_x[1] * vec_x[1]);
|
float l = sqrt(vec_x[0] * vec_x[0] + vec_x[1] * vec_x[1]);
|
||||||
if (l < 0.9 || l > 1.1) {
|
if (l < 0.9 || l > 1.1) {
|
||||||
|
SERIAL_ECHOLNPGM("X vector length:");
|
||||||
|
MYSERIAL.println(l);
|
||||||
SERIAL_ECHOLNPGM("Invalid bed correction matrix. Length of the X vector out of range.");
|
SERIAL_ECHOLNPGM("Invalid bed correction matrix. Length of the X vector out of range.");
|
||||||
reset = true;
|
reset = true;
|
||||||
}
|
}
|
||||||
// Length of the vec_y shall be close to unity.
|
// Length of the vec_y shall be close to unity.
|
||||||
l = sqrt(vec_y[0] * vec_y[0] + vec_y[1] * vec_y[1]);
|
l = sqrt(vec_y[0] * vec_y[0] + vec_y[1] * vec_y[1]);
|
||||||
if (l < 0.9 || l > 1.1) {
|
if (l < 0.9 || l > 1.1) {
|
||||||
SERIAL_ECHOLNPGM("Invalid bed correction matrix. Length of the X vector out of range.");
|
SERIAL_ECHOLNPGM("Y vector length:");
|
||||||
|
MYSERIAL.println(l);
|
||||||
|
SERIAL_ECHOLNPGM("Invalid bed correction matrix. Length of the Y vector out of range.");
|
||||||
reset = true;
|
reset = true;
|
||||||
}
|
}
|
||||||
// Correction of the zero point shall be reasonably small.
|
// Correction of the zero point shall be reasonably small.
|
||||||
l = sqrt(cntr[0] * cntr[0] + cntr[1] * cntr[1]);
|
l = sqrt(cntr[0] * cntr[0] + cntr[1] * cntr[1]);
|
||||||
if (l > 15.f) {
|
if (l > 15.f) {
|
||||||
|
SERIAL_ECHOLNPGM("Zero point correction:");
|
||||||
|
MYSERIAL.println(l);
|
||||||
SERIAL_ECHOLNPGM("Invalid bed correction matrix. Shift out of range.");
|
SERIAL_ECHOLNPGM("Invalid bed correction matrix. Shift out of range.");
|
||||||
reset = true;
|
reset = true;
|
||||||
}
|
}
|
||||||
|
@ -1654,7 +1697,27 @@ BedSkewOffsetDetectionResultType find_bed_offset_and_skew(int8_t verbosity_level
|
||||||
eeprom_update_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y +0), vec_y[0]);
|
eeprom_update_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y +0), vec_y[0]);
|
||||||
eeprom_update_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y +4), vec_y[1]);
|
eeprom_update_float((float*)(EEPROM_BED_CALIBRATION_VEC_Y +4), vec_y[1]);
|
||||||
#endif
|
#endif
|
||||||
|
if (verbosity_level >= 10) {
|
||||||
|
// Length of the vec_x
|
||||||
|
float l = sqrt(vec_x[0] * vec_x[0] + vec_x[1] * vec_x[1]);
|
||||||
|
SERIAL_ECHOLNPGM("X vector length:");
|
||||||
|
MYSERIAL.println(l);
|
||||||
|
|
||||||
|
// Length of the vec_y
|
||||||
|
l = sqrt(vec_y[0] * vec_y[0] + vec_y[1] * vec_y[1]);
|
||||||
|
SERIAL_ECHOLNPGM("Y vector length:");
|
||||||
|
MYSERIAL.println(l);
|
||||||
|
// Zero point correction
|
||||||
|
l = sqrt(cntr[0] * cntr[0] + cntr[1] * cntr[1]);
|
||||||
|
SERIAL_ECHOLNPGM("Zero point correction:");
|
||||||
|
MYSERIAL.println(l);
|
||||||
|
|
||||||
|
// vec_x and vec_y shall be nearly perpendicular.
|
||||||
|
l = vec_x[0] * vec_y[0] + vec_x[1] * vec_y[1];
|
||||||
|
SERIAL_ECHOLNPGM("Perpendicularity");
|
||||||
|
MYSERIAL.println(fabs(l));
|
||||||
|
SERIAL_ECHOLNPGM("Saving bed calibration vectors to EEPROM");
|
||||||
|
}
|
||||||
// Correct the current_position to match the transformed coordinate system after world2machine_rotation_and_skew and world2machine_shift were set.
|
// Correct the current_position to match the transformed coordinate system after world2machine_rotation_and_skew and world2machine_shift were set.
|
||||||
world2machine_update_current();
|
world2machine_update_current();
|
||||||
|
|
||||||
|
|
|
@ -1874,6 +1874,7 @@ void lcd_diag_show_end_stops()
|
||||||
|
|
||||||
|
|
||||||
void prusa_statistics(int _message) {
|
void prusa_statistics(int _message) {
|
||||||
|
|
||||||
|
|
||||||
switch (_message)
|
switch (_message)
|
||||||
{
|
{
|
||||||
|
@ -1883,6 +1884,7 @@ void prusa_statistics(int _message) {
|
||||||
{
|
{
|
||||||
SERIAL_ECHO("{");
|
SERIAL_ECHO("{");
|
||||||
prusa_stat_printerstatus(4);
|
prusa_stat_printerstatus(4);
|
||||||
|
status_number = 4;
|
||||||
prusa_stat_printinfo();
|
prusa_stat_printinfo();
|
||||||
SERIAL_ECHOLN("}");
|
SERIAL_ECHOLN("}");
|
||||||
}
|
}
|
||||||
|
@ -1890,6 +1892,7 @@ void prusa_statistics(int _message) {
|
||||||
{
|
{
|
||||||
SERIAL_ECHO("{");
|
SERIAL_ECHO("{");
|
||||||
prusa_stat_printerstatus(1);
|
prusa_stat_printerstatus(1);
|
||||||
|
status_number = 1;
|
||||||
SERIAL_ECHOLN("}");
|
SERIAL_ECHOLN("}");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1898,6 +1901,7 @@ void prusa_statistics(int _message) {
|
||||||
farm_status = 2;
|
farm_status = 2;
|
||||||
SERIAL_ECHO("{");
|
SERIAL_ECHO("{");
|
||||||
prusa_stat_printerstatus(2);
|
prusa_stat_printerstatus(2);
|
||||||
|
status_number = 2;
|
||||||
SERIAL_ECHOLN("}");
|
SERIAL_ECHOLN("}");
|
||||||
farm_timer = 1;
|
farm_timer = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -1906,6 +1910,7 @@ void prusa_statistics(int _message) {
|
||||||
farm_status = 3;
|
farm_status = 3;
|
||||||
SERIAL_ECHO("{");
|
SERIAL_ECHO("{");
|
||||||
prusa_stat_printerstatus(3);
|
prusa_stat_printerstatus(3);
|
||||||
|
status_number = 3;
|
||||||
SERIAL_ECHOLN("}");
|
SERIAL_ECHOLN("}");
|
||||||
farm_timer = 1;
|
farm_timer = 1;
|
||||||
|
|
||||||
|
@ -1914,12 +1919,14 @@ void prusa_statistics(int _message) {
|
||||||
farm_status = 4;
|
farm_status = 4;
|
||||||
SERIAL_ECHO("{");
|
SERIAL_ECHO("{");
|
||||||
prusa_stat_printerstatus(4);
|
prusa_stat_printerstatus(4);
|
||||||
|
status_number = 4;
|
||||||
SERIAL_ECHOLN("}");
|
SERIAL_ECHOLN("}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SERIAL_ECHO("{");
|
SERIAL_ECHO("{");
|
||||||
prusa_stat_printerstatus(3);
|
prusa_stat_printerstatus(3);
|
||||||
|
status_number = 3;
|
||||||
SERIAL_ECHOLN("}");;
|
SERIAL_ECHOLN("}");;
|
||||||
}
|
}
|
||||||
farm_timer = 1;
|
farm_timer = 1;
|
||||||
|
@ -1938,14 +1945,17 @@ void prusa_statistics(int _message) {
|
||||||
break;
|
break;
|
||||||
case 6: // print done
|
case 6: // print done
|
||||||
SERIAL_ECHOLN("{[PRN:8]}");
|
SERIAL_ECHOLN("{[PRN:8]}");
|
||||||
|
status_number = 8;
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
break;
|
break;
|
||||||
case 7: // print done - stopped
|
case 7: // print done - stopped
|
||||||
SERIAL_ECHOLN("{[PRN:9]}");
|
SERIAL_ECHOLN("{[PRN:9]}");
|
||||||
|
status_number = 9;
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
break;
|
break;
|
||||||
case 8: // printer started
|
case 8: // printer started
|
||||||
SERIAL_ECHO("{[PRN:0][PFN:");
|
SERIAL_ECHO("{[PRN:0][PFN:");
|
||||||
|
status_number = 0;
|
||||||
SERIAL_ECHO(farm_no);
|
SERIAL_ECHO(farm_no);
|
||||||
SERIAL_ECHOLN("]}");
|
SERIAL_ECHOLN("]}");
|
||||||
farm_timer = 2;
|
farm_timer = 2;
|
||||||
|
@ -1963,6 +1973,7 @@ void prusa_statistics(int _message) {
|
||||||
break;
|
break;
|
||||||
case 22: // waiting for filament change
|
case 22: // waiting for filament change
|
||||||
SERIAL_ECHOLN("{[PRN:5]}");
|
SERIAL_ECHOLN("{[PRN:5]}");
|
||||||
|
status_number = 5;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 90: // Error - Thermal Runaway
|
case 90: // Error - Thermal Runaway
|
||||||
|
@ -3166,7 +3177,7 @@ static void lcd_main_menu()
|
||||||
MENU_ITEM(submenu, MSG_UNLOAD_FILAMENT, fil_unload_menu);
|
MENU_ITEM(submenu, MSG_UNLOAD_FILAMENT, fil_unload_menu);
|
||||||
MENU_ITEM(submenu, MSG_CHANGE_EXTR, change_extr_menu);
|
MENU_ITEM(submenu, MSG_CHANGE_EXTR, change_extr_menu);
|
||||||
#endif
|
#endif
|
||||||
MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu);
|
MENU_ITEM(submenu, MSG_SETTINGS, lcd_settings_menu);
|
||||||
if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu);
|
if(!isPrintPaused) MENU_ITEM(submenu, MSG_MENU_CALIBRATION, lcd_calibration_menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3550,7 +3561,6 @@ menu_edit_type(float, float51, ftostr51, 10)
|
||||||
menu_edit_type(float, float52, ftostr52, 100)
|
menu_edit_type(float, float52, ftostr52, 100)
|
||||||
menu_edit_type(unsigned long, long5, ftostr5, 0.01)
|
menu_edit_type(unsigned long, long5, ftostr5, 0.01)
|
||||||
|
|
||||||
|
|
||||||
static void lcd_selftest()
|
static void lcd_selftest()
|
||||||
{
|
{
|
||||||
int _progress = 0;
|
int _progress = 0;
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
void lcd_mylang();
|
void lcd_mylang();
|
||||||
bool lcd_detected(void);
|
bool lcd_detected(void);
|
||||||
|
|
||||||
|
|
||||||
static void lcd_selftest();
|
static void lcd_selftest();
|
||||||
static bool lcd_selfcheck_endstops();
|
static bool lcd_selfcheck_endstops();
|
||||||
static bool lcd_selfcheck_axis(int _axis, int _travel);
|
static bool lcd_selfcheck_axis(int _axis, int _travel);
|
||||||
|
|
|
@ -757,7 +757,7 @@ static void lcd_implementation_status_screen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Farm number display
|
// Farm number display
|
||||||
if (farm_mode)
|
if (farm_mode)
|
||||||
{
|
{
|
||||||
lcd_printPGM(PSTR(" F"));
|
lcd_printPGM(PSTR(" F"));
|
||||||
|
@ -775,6 +775,10 @@ static void lcd_implementation_status_screen()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
lcd.setCursor(LCD_WIDTH - 8 - 2, 2);
|
||||||
|
lcd_printPGM(PSTR(" "));
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef SNMM
|
#ifdef SNMM
|
||||||
lcd_printPGM(PSTR(" E"));
|
lcd_printPGM(PSTR(" E"));
|
||||||
|
@ -783,8 +787,8 @@ static void lcd_implementation_status_screen()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//Print time elapsed
|
//Print time elapsed
|
||||||
lcd.setCursor(LCD_WIDTH - 8 -2, 2);
|
lcd.setCursor(LCD_WIDTH - 8 -1, 2);
|
||||||
lcd_printPGM(PSTR(" "));
|
lcd_printPGM(PSTR(" "));
|
||||||
lcd.print(LCD_STR_CLOCK[0]);
|
lcd.print(LCD_STR_CLOCK[0]);
|
||||||
if(starttime != 0)
|
if(starttime != 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue