|
@@ -98,7 +98,7 @@ volatile unsigned char block_buffer_tail; // Index of the block to pro
|
98
|
98
|
//=============================private variables ============================
|
99
|
99
|
//===========================================================================
|
100
|
100
|
#ifdef PREVENT_DANGEROUS_EXTRUDE
|
101
|
|
-bool allow_cold_extrude=false;
|
|
101
|
+float extrude_min_temp=EXTRUDE_MINTEMP;
|
102
|
102
|
#endif
|
103
|
103
|
#ifdef XY_FREQUENCY_LIMIT
|
104
|
104
|
#define MAX_FREQ_TIME (1000000.0/XY_FREQUENCY_LIMIT)
|
|
@@ -537,7 +537,7 @@ void plan_buffer_line(const float &x, const float &y, const float &z, const floa
|
537
|
537
|
#ifdef PREVENT_DANGEROUS_EXTRUDE
|
538
|
538
|
if(target[E_AXIS]!=position[E_AXIS])
|
539
|
539
|
{
|
540
|
|
- if(degHotend(active_extruder)<EXTRUDE_MINTEMP && !allow_cold_extrude)
|
|
540
|
+ if(degHotend(active_extruder)<extrude_min_temp)
|
541
|
541
|
{
|
542
|
542
|
position[E_AXIS]=target[E_AXIS]; //behave as if the move really took place, but ignore E part
|
543
|
543
|
SERIAL_ECHO_START;
|
|
@@ -918,12 +918,12 @@ uint8_t movesplanned()
|
918
|
918
|
return (block_buffer_head-block_buffer_tail + BLOCK_BUFFER_SIZE) & (BLOCK_BUFFER_SIZE - 1);
|
919
|
919
|
}
|
920
|
920
|
|
921
|
|
-void allow_cold_extrudes(bool allow)
|
922
|
|
-{
|
923
|
921
|
#ifdef PREVENT_DANGEROUS_EXTRUDE
|
924
|
|
- allow_cold_extrude=allow;
|
925
|
|
-#endif
|
|
922
|
+void set_extrude_min_temp(float temp)
|
|
923
|
+{
|
|
924
|
+ extrude_min_temp=temp;
|
926
|
925
|
}
|
|
926
|
+#endif
|
927
|
927
|
|
928
|
928
|
// Calculate the steps/s^2 acceleration rates, based on the mm/s^s
|
929
|
929
|
void reset_acceleration_rates()
|