Safety timer not active during filament runout detection
This commit is contained in:
parent
a184d2b824
commit
d63a17c696
3 changed files with 20 additions and 17 deletions
|
@ -347,6 +347,9 @@ extern bool sortAlpha;
|
||||||
|
|
||||||
extern char dir_names[3][9];
|
extern char dir_names[3][9];
|
||||||
|
|
||||||
|
// save/restore printing
|
||||||
|
extern bool saved_printing;
|
||||||
|
|
||||||
extern void calculate_extruder_multipliers();
|
extern void calculate_extruder_multipliers();
|
||||||
|
|
||||||
// Similar to the default Arduino delay function,
|
// Similar to the default Arduino delay function,
|
||||||
|
|
|
@ -425,6 +425,10 @@ bool no_response = false;
|
||||||
uint8_t important_status;
|
uint8_t important_status;
|
||||||
uint8_t saved_filament_type;
|
uint8_t saved_filament_type;
|
||||||
|
|
||||||
|
// save/restore printing
|
||||||
|
bool saved_printing = false;
|
||||||
|
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//=============================Private Variables=============================
|
//=============================Private Variables=============================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
@ -477,6 +481,14 @@ unsigned long chdkHigh = 0;
|
||||||
boolean chdkActive = false;
|
boolean chdkActive = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// save/restore printing
|
||||||
|
static uint32_t saved_sdpos = 0;
|
||||||
|
static float saved_pos[4] = { 0, 0, 0, 0 };
|
||||||
|
// Feedrate hopefully derived from an active block of the planner at the time the print has been canceled, in mm/min.
|
||||||
|
static float saved_feedrate2 = 0;
|
||||||
|
static uint8_t saved_active_extruder = 0;
|
||||||
|
static bool saved_extruder_under_pressure = false;
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
//=============================Routines======================================
|
//=============================Routines======================================
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
@ -7139,7 +7151,7 @@ static void handleSafetyTimer()
|
||||||
#error Implemented only for one extruder.
|
#error Implemented only for one extruder.
|
||||||
#endif //(EXTRUDERS > 1)
|
#endif //(EXTRUDERS > 1)
|
||||||
static Timer safetyTimer;
|
static Timer safetyTimer;
|
||||||
if (IS_SD_PRINTING || is_usb_printing || isPrintPaused || (custom_message_type == 4)
|
if (IS_SD_PRINTING || is_usb_printing || isPrintPaused || (custom_message_type == 4) || saved_printing
|
||||||
|| (lcd_commands_type == LCD_COMMAND_V2_CAL) || (!degTargetBed() && !degTargetHotend(0)))
|
|| (lcd_commands_type == LCD_COMMAND_V2_CAL) || (!degTargetBed() && !degTargetHotend(0)))
|
||||||
{
|
{
|
||||||
safetyTimer.stop();
|
safetyTimer.stop();
|
||||||
|
@ -7148,11 +7160,11 @@ static void handleSafetyTimer()
|
||||||
{
|
{
|
||||||
safetyTimer.start();
|
safetyTimer.start();
|
||||||
}
|
}
|
||||||
else if (safetyTimer.expired(1800000ul))
|
else if (safetyTimer.expired(1800000ul)) //30 min
|
||||||
{
|
{
|
||||||
setTargetBed(0);
|
setTargetBed(0);
|
||||||
setTargetHotend(0, 0);
|
setTargetHotend(0, 0);
|
||||||
lcd_show_fullscreen_message_and_wait_P(MSG_BED_HEATING_SAFETY_DISABLED);
|
lcd_show_fullscreen_message_and_wait_P(MSG_BED_HEATING_SAFETY_DISABLED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif //SAFETYTIMER
|
#endif //SAFETYTIMER
|
||||||
|
@ -8400,17 +8412,7 @@ void restore_print_from_eeprom() {
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// new save/restore printing
|
// save/restore printing
|
||||||
|
|
||||||
//extern uint32_t sdpos_atomic;
|
|
||||||
|
|
||||||
bool saved_printing = false;
|
|
||||||
uint32_t saved_sdpos = 0;
|
|
||||||
float saved_pos[4] = {0, 0, 0, 0};
|
|
||||||
// Feedrate hopefully derived from an active block of the planner at the time the print has been canceled, in mm/min.
|
|
||||||
float saved_feedrate2 = 0;
|
|
||||||
uint8_t saved_active_extruder = 0;
|
|
||||||
bool saved_extruder_under_pressure = false;
|
|
||||||
|
|
||||||
void stop_and_save_print_to_ram(float z_move, float e_move)
|
void stop_and_save_print_to_ram(float z_move, float e_move)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#ifdef PAT9125
|
#ifdef PAT9125
|
||||||
#include "pat9125.h"
|
#include "pat9125.h"
|
||||||
#endif //PAT9125
|
#endif //PAT9125
|
||||||
|
|
||||||
#ifdef TMC2130
|
#ifdef TMC2130
|
||||||
#include "tmc2130.h"
|
#include "tmc2130.h"
|
||||||
|
@ -5625,8 +5625,6 @@ void lcd_confirm_print()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extern bool saved_printing;
|
|
||||||
|
|
||||||
static void lcd_main_menu()
|
static void lcd_main_menu()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue