| @@ -516,6 +516,36 @@ void checkExtruderAutoFans() | |||||||
|   #define WRITE_FAN(v) WRITE(FAN_PIN, v) |   #define WRITE_FAN(v) WRITE(FAN_PIN, v) | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | inline void _temp_error(int e, const char *msg1, const char *msg2) { | ||||||
|  |   if (!IsStopped()) { | ||||||
|  |     SERIAL_ERROR_START; | ||||||
|  |     if (e >= 0) SERIAL_ERRORLN((int)e); | ||||||
|  |     serialprintPGM(msg1); | ||||||
|  |     MYSERIAL.write('\n'); | ||||||
|  |     #ifdef ULTRA_LCD | ||||||
|  |       lcd_setalertstatuspgm(msg2); | ||||||
|  |     #endif | ||||||
|  |   } | ||||||
|  |   #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE | ||||||
|  |     Stop(); | ||||||
|  |   #endif | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void max_temp_error(uint8_t e) { | ||||||
|  |   disable_heater(); | ||||||
|  |   _temp_error(e, MSG_MAXTEMP_EXTRUDER_OFF, MSG_ERR_MAXTEMP); | ||||||
|  | } | ||||||
|  | void min_temp_error(uint8_t e) { | ||||||
|  |   disable_heater(); | ||||||
|  |   _temp_error(e, MSG_MINTEMP_EXTRUDER_OFF, MSG_ERR_MINTEMP); | ||||||
|  | } | ||||||
|  | void bed_max_temp_error(void) { | ||||||
|  |   #if HAS_HEATER_BED | ||||||
|  |     WRITE_HEATER_BED(0); | ||||||
|  |   #endif | ||||||
|  |   _temp_error(-1, MSG_MAXTEMP_BED_OFF, MSG_ERR_MAXTEMP_BED); | ||||||
|  | } | ||||||
|  |  | ||||||
| void manage_heater() { | void manage_heater() { | ||||||
|  |  | ||||||
|   if (!temp_meas_ready) return; |   if (!temp_meas_ready) return; | ||||||
| @@ -623,14 +653,7 @@ void manage_heater() { | |||||||
|     #ifdef TEMP_SENSOR_1_AS_REDUNDANT |     #ifdef TEMP_SENSOR_1_AS_REDUNDANT | ||||||
|       if (fabs(current_temperature[0] - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) { |       if (fabs(current_temperature[0] - redundant_temperature) > MAX_REDUNDANT_TEMP_SENSOR_DIFF) { | ||||||
|         disable_heater(); |         disable_heater(); | ||||||
|         if (IsStopped() == false) { |         _temp_error(-1, MSG_EXTRUDER_SWITCHED_OFF, MSG_ERR_REDUNDANT_TEMP); | ||||||
|           SERIAL_ERROR_START; |  | ||||||
|           SERIAL_ERRORLNPGM(MSG_EXTRUDER_SWITCHED_OFF); |  | ||||||
|           LCD_ALERTMESSAGEPGM(MSG_ERR_REDUNDANT_TEMP); // translatable |  | ||||||
|         } |  | ||||||
|         #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE |  | ||||||
|           Stop(); |  | ||||||
|         #endif |  | ||||||
|       } |       } | ||||||
|     #endif //TEMP_SENSOR_1_AS_REDUNDANT |     #endif //TEMP_SENSOR_1_AS_REDUNDANT | ||||||
|  |  | ||||||
| @@ -1136,46 +1159,6 @@ void disable_heater() { | |||||||
|   #endif |   #endif | ||||||
| } | } | ||||||
|  |  | ||||||
| void max_temp_error(uint8_t e) { |  | ||||||
|   disable_heater(); |  | ||||||
|   if(IsStopped() == false) { |  | ||||||
|     SERIAL_ERROR_START; |  | ||||||
|     SERIAL_ERRORLN((int)e); |  | ||||||
|     SERIAL_ERRORLNPGM(MSG_MAXTEMP_EXTRUDER_OFF); |  | ||||||
|     LCD_ALERTMESSAGEPGM(MSG_ERR_MAXTEMP); // translatable |  | ||||||
|   } |  | ||||||
|   #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE |  | ||||||
|   Stop(); |  | ||||||
|   #endif |  | ||||||
| } |  | ||||||
|  |  | ||||||
| void min_temp_error(uint8_t e) { |  | ||||||
|   disable_heater(); |  | ||||||
|   if(IsStopped() == false) { |  | ||||||
|     SERIAL_ERROR_START; |  | ||||||
|     SERIAL_ERRORLN((int)e); |  | ||||||
|     SERIAL_ERRORLNPGM(MSG_MINTEMP_EXTRUDER_OFF); |  | ||||||
|     LCD_ALERTMESSAGEPGM(MSG_ERR_MINTEMP); // translatable |  | ||||||
|   } |  | ||||||
|   #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE |  | ||||||
|   Stop(); |  | ||||||
|   #endif |  | ||||||
| } |  | ||||||
|  |  | ||||||
| void bed_max_temp_error(void) { |  | ||||||
|   #if HAS_HEATER_BED |  | ||||||
|     WRITE_HEATER_BED(0); |  | ||||||
|   #endif |  | ||||||
|   if (IsStopped() == false) { |  | ||||||
|     SERIAL_ERROR_START; |  | ||||||
|     SERIAL_ERRORLNPGM(MSG_MAXTEMP_BED_OFF); |  | ||||||
|     LCD_ALERTMESSAGEPGM(MSG_ERR_MAXTEMP_BED); // translatable |  | ||||||
|   } |  | ||||||
|   #ifndef BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE |  | ||||||
|   Stop(); |  | ||||||
|   #endif |  | ||||||
| } |  | ||||||
|  |  | ||||||
| #ifdef HEATER_0_USES_MAX6675 | #ifdef HEATER_0_USES_MAX6675 | ||||||
|   #define MAX6675_HEAT_INTERVAL 250 |   #define MAX6675_HEAT_INTERVAL 250 | ||||||
|   long max6675_previous_millis = MAX6675_HEAT_INTERVAL; |   long max6675_previous_millis = MAX6675_HEAT_INTERVAL; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user