Add startup notice & update host temperatures while waiting

Right now G26 doesn't send a notice to the host that it's running.  It's
not until the heaters are at temperature that you know for sure if it's
running or not.

Added host temperature prints so that someone watching the host
interface will see the temperatures change during the warm up period.
Updates are sent every 5 seconds.
2.0.x
Bob-the-Kuhn 8 years ago
parent 0750933bc6
commit dcde202157

@ -178,6 +178,7 @@
* nozzle in a problem area and doing a G29 P4 R command. * nozzle in a problem area and doing a G29 P4 R command.
*/ */
void gcode_G26() { void gcode_G26() {
SERIAL_ECHOLNPGM("G26 command started. Waiting on heater(s).");
float tmp, start_angle, end_angle; float tmp, start_angle, end_angle;
int i, xi, yi; int i, xi, yi;
mesh_index_pair location; mesh_index_pair location;
@ -765,6 +766,7 @@
* wait for them to get up to temperature. * wait for them to get up to temperature.
*/ */
bool turn_on_heaters() { bool turn_on_heaters() {
millis_t next;
#if HAS_TEMP_BED #if HAS_TEMP_BED
#if ENABLED(ULTRA_LCD) #if ENABLED(ULTRA_LCD)
if (bed_temp > 25) { if (bed_temp > 25) {
@ -773,8 +775,13 @@
#endif #endif
ubl.has_control_of_lcd_panel = true; ubl.has_control_of_lcd_panel = true;
thermalManager.setTargetBed(bed_temp); thermalManager.setTargetBed(bed_temp);
next = millis() + 5000;
while (abs(thermalManager.degBed() - bed_temp) > 3) { while (abs(thermalManager.degBed() - bed_temp) > 3) {
if (ubl_lcd_clicked()) return exit_from_g26(); if (ubl_lcd_clicked()) return exit_from_g26();
if (millis() > next) {
next = millis() + 5000;
print_heaterstates();
}
idle(); idle();
} }
#if ENABLED(ULTRA_LCD) #if ENABLED(ULTRA_LCD)
@ -788,6 +795,10 @@
thermalManager.setTargetHotend(hotend_temp, 0); thermalManager.setTargetHotend(hotend_temp, 0);
while (abs(thermalManager.degHotend(0) - hotend_temp) > 3) { while (abs(thermalManager.degHotend(0) - hotend_temp) > 3) {
if (ubl_lcd_clicked()) return exit_from_g26(); if (ubl_lcd_clicked()) return exit_from_g26();
if (millis() > next) {
next = millis() + 5000;
print_heaterstates();
}
idle(); idle();
} }

Loading…
Cancel
Save