Rearrange tests. Move hot end test to the end, to spare time in IR sensor test.

Known problems, hot end and bed is swapped. Bed progress indicator is painted to X axis test.
This commit is contained in:
Marek Bel 2019-01-24 19:22:36 +01:00
parent 1d71c1a5d1
commit 22859800f0
1 changed files with 32 additions and 29 deletions

View File

@ -6324,28 +6324,24 @@ bool lcd_selftest()
_result = true; _result = true;
#endif #endif
} }
if (_result)
{
_progress = lcd_selftest_screen(3, _progress, 3, true, 1000);
_result = lcd_selfcheck_check_heater(false);
}
if (_result) if (_result)
{ {
//current_position[Z_AXIS] += 15; //move Z axis higher to avoid false triggering of Z end stop in case that we are very low - just above heatbed //current_position[Z_AXIS] += 15; //move Z axis higher to avoid false triggering of Z end stop in case that we are very low - just above heatbed
_progress = lcd_selftest_screen(4, _progress, 3, true, 2000); _progress = lcd_selftest_screen(3, _progress, 3, true, 2000);
#ifdef TMC2130 #ifdef TMC2130
_result = lcd_selfcheck_axis_sg(X_AXIS); _result = lcd_selfcheck_axis_sg(X_AXIS);
#else #else
_result = lcd_selfcheck_axis(X_AXIS, X_MAX_POS); _result = lcd_selfcheck_axis(X_AXIS, X_MAX_POS);
#endif //TMC2130 #endif //TMC2130
} }
if (_result) if (_result)
{ {
_progress = lcd_selftest_screen(4, _progress, 3, true, 0); _progress = lcd_selftest_screen(3, _progress, 3, true, 0);
#ifndef TMC2130 #ifndef TMC2130
_result = lcd_selfcheck_pulleys(X_AXIS); _result = lcd_selfcheck_pulleys(X_AXIS);
@ -6355,7 +6351,7 @@ bool lcd_selftest()
if (_result) if (_result)
{ {
_progress = lcd_selftest_screen(5, _progress, 3, true, 1500); _progress = lcd_selftest_screen(4, _progress, 3, true, 1500);
#ifdef TMC2130 #ifdef TMC2130
_result = lcd_selfcheck_axis_sg(Y_AXIS); _result = lcd_selfcheck_axis_sg(Y_AXIS);
#else #else
@ -6365,7 +6361,7 @@ bool lcd_selftest()
if (_result) if (_result)
{ {
_progress = lcd_selftest_screen(5, _progress, 3, true, 0); _progress = lcd_selftest_screen(4, _progress, 3, true, 0);
#ifndef TMC2130 #ifndef TMC2130
_result = lcd_selfcheck_pulleys(Y_AXIS); _result = lcd_selfcheck_pulleys(Y_AXIS);
#endif // TMC2130 #endif // TMC2130
@ -6386,7 +6382,7 @@ bool lcd_selftest()
current_position[Z_AXIS] = current_position[Z_AXIS] + 10; current_position[Z_AXIS] = current_position[Z_AXIS] + 10;
plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder); plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[3], manual_feedrate[0] / 60, active_extruder);
st_synchronize(); st_synchronize();
_progress = lcd_selftest_screen(6, _progress, 3, true, 1500); _progress = lcd_selftest_screen(5, _progress, 3, true, 1500);
_result = lcd_selfcheck_axis(2, Z_MAX_POS); _result = lcd_selfcheck_axis(2, Z_MAX_POS);
if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) != 1) { if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) != 1) {
enquecommand_P(PSTR("G28 W")); enquecommand_P(PSTR("G28 W"));
@ -6413,12 +6409,18 @@ bool lcd_selftest()
if (_result) if (_result)
{ {
_progress = lcd_selftest_screen(7, _progress, 3, true, 2000); //check bed _progress = lcd_selftest_screen(6, _progress, 3, true, 2000); //check bed
_result = lcd_selfcheck_check_heater(true); _result = lcd_selfcheck_check_heater(false);
} }
if (_result)
{
_progress = lcd_selftest_screen(7, _progress, 3, true, 1000); //check nozzle
_result = lcd_selfcheck_check_heater(true);
}
if (_result) if (_result)
{ {
_progress = lcd_selftest_screen(8, _progress, 3, true, 2000); //bed ok _progress = lcd_selftest_screen(8, _progress, 3, true, 2000); //nozzle ok
} }
#ifdef FILAMENT_SENSOR #ifdef FILAMENT_SENSOR
@ -7230,12 +7232,12 @@ static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bo
if (_step == 0) lcd_puts_P(_T(MSG_SELFTEST_FAN)); if (_step == 0) lcd_puts_P(_T(MSG_SELFTEST_FAN));
if (_step == 1) lcd_puts_P(_T(MSG_SELFTEST_FAN)); if (_step == 1) lcd_puts_P(_T(MSG_SELFTEST_FAN));
if (_step == 2) lcd_puts_P(_i("Checking endstops"));////MSG_SELFTEST_CHECK_ENDSTOPS c=20 r=0 if (_step == 2) lcd_puts_P(_i("Checking endstops"));////MSG_SELFTEST_CHECK_ENDSTOPS c=20 r=0
if (_step == 3) lcd_puts_P(_i("Checking hotend "));////MSG_SELFTEST_CHECK_HOTEND c=20 r=0 if (_step == 3) lcd_puts_P(_i("Checking X axis "));////MSG_SELFTEST_CHECK_X c=20 r=0
if (_step == 4) lcd_puts_P(_i("Checking X axis "));////MSG_SELFTEST_CHECK_X c=20 r=0 if (_step == 4) lcd_puts_P(_i("Checking Y axis "));////MSG_SELFTEST_CHECK_Y c=20 r=0
if (_step == 5) lcd_puts_P(_i("Checking Y axis "));////MSG_SELFTEST_CHECK_Y c=20 r=0 if (_step == 5) lcd_puts_P(_i("Checking Z axis "));////MSG_SELFTEST_CHECK_Z c=20 r=0
if (_step == 6) lcd_puts_P(_i("Checking Z axis "));////MSG_SELFTEST_CHECK_Z c=20 r=0 if (_step == 6) lcd_puts_P(_T(MSG_SELFTEST_CHECK_BED));
if (_step == 7) lcd_puts_P(_T(MSG_SELFTEST_CHECK_BED)); if (_step == 7
if (_step == 8) lcd_puts_P(_T(MSG_SELFTEST_CHECK_BED)); || _step == 8) lcd_puts_P(_i("Checking hotend "));////MSG_SELFTEST_CHECK_HOTEND c=20 r=0
if (_step == 9) lcd_puts_P(_T(MSG_SELFTEST_CHECK_FSENSOR)); if (_step == 9) lcd_puts_P(_T(MSG_SELFTEST_CHECK_FSENSOR));
if (_step == 10) lcd_puts_P(_T(MSG_SELFTEST_CHECK_FSENSOR)); if (_step == 10) lcd_puts_P(_T(MSG_SELFTEST_CHECK_FSENSOR));
if (_step == 11) lcd_puts_P(_i("All correct "));////MSG_SELFTEST_CHECK_ALLCORRECT c=20 r=0 if (_step == 11) lcd_puts_P(_i("All correct "));////MSG_SELFTEST_CHECK_ALLCORRECT c=20 r=0
@ -7263,20 +7265,21 @@ static int lcd_selftest_screen(int _step, int _progress, int _progress_scale, bo
else if (_step < 9) else if (_step < 9)
{ {
//SERIAL_ECHOLNPGM("Other tests"); //SERIAL_ECHOLNPGM("Other tests");
_step_block = 3;
lcd_selftest_screen_step(3, 9, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Hotend", _indicator);
_step_block = 4; _step_block = 3;
lcd_selftest_screen_step(2, 2, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "X", _indicator); lcd_selftest_screen_step(2, 2, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "X", _indicator);
_step_block = 5; _step_block = 4;
lcd_selftest_screen_step(2, 8, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Y", _indicator); lcd_selftest_screen_step(2, 8, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Y", _indicator);
_step_block = 6; _step_block = 5;
lcd_selftest_screen_step(2, 14, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Z", _indicator); lcd_selftest_screen_step(2, 14, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Z", _indicator);
_step_block = 7; _step_block = 6;
lcd_selftest_screen_step(3, 0, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Bed", _indicator); lcd_selftest_screen_step(3, 0, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Bed", _indicator);
_step_block = 7;
lcd_selftest_screen_step(3, 9, ((_step == _step_block) ? 1 : (_step < _step_block) ? 0 : 2), "Hotend", _indicator);
} }
if (_delay > 0) delay_keep_alive(_delay); if (_delay > 0) delay_keep_alive(_delay);