Merge pull request #1747 from MRprusa3d/PFW-827

fix @ preHeatError IV
This commit is contained in:
mkbel 2019-04-17 21:31:26 +00:00 committed by GitHub
commit 2a8e6540f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 16 deletions

View File

@ -1113,7 +1113,6 @@ void setWatch()
#if (defined (TEMP_RUNAWAY_BED_HYSTERESIS) && TEMP_RUNAWAY_BED_TIMEOUT > 0) || (defined (TEMP_RUNAWAY_EXTRUDER_HYSTERESIS) && TEMP_RUNAWAY_EXTRUDER_TIMEOUT > 0)
void temp_runaway_check(int _heater_id, float _target_temperature, float _current_temperature, float _output, bool _isbed)
{
float __delta;
float __hysteresis = 0;
int __timeout = 0;
bool temp_runaway_check_active = false;
@ -1129,8 +1128,6 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren
if (_isbed)
{
__hysteresis = TEMP_RUNAWAY_BED_HYSTERESIS;
if(_target_temperature>105.0)
__hysteresis = TEMP_RUNAWAY_BED_HYSTERESIS * 3.0;
__timeout = TEMP_RUNAWAY_BED_TIMEOUT;
}
#endif
@ -1179,16 +1176,7 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren
SERIAL_ECHOPGM(" delta:");
MYSERIAL.print(_current_temperature-__preheat_start[_heater_id]);*/
//-// if (_current_temperature - __preheat_start[_heater_id] < 2) {
//-// if (_current_temperature - __preheat_start[_heater_id] < ((_isbed && (_current_temperature>105.0))?0.6:2.0)) {
__delta=2.0;
if(_isbed)
{
__delta=3.0;
if(_current_temperature>90.0) __delta=2.0;
if(_current_temperature>105.0) __delta=0.6;
}
if (_current_temperature - __preheat_start[_heater_id] < __delta) {
if (_current_temperature - __preheat_start[_heater_id] < 2) {
__preheat_errors[_heater_id]++;
/*SERIAL_ECHOPGM(" Preheat errors:");
MYSERIAL.println(__preheat_errors[_heater_id]);*/
@ -1209,8 +1197,7 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren
}
}
//-// if (_current_temperature >= _target_temperature && temp_runaway_status[_heater_id] == TempRunaway_PREHEAT)
if ((_current_temperature > (_target_temperature - __hysteresis)) && temp_runaway_status[_heater_id] == TempRunaway_PREHEAT)
if (((_isbed && (_target_temperature > TEMP_MAX_CHECKED_BED) && (_current_temperature > TEMP_MAX_CHECKED_BED)) || (_current_temperature > (_target_temperature - __hysteresis))) && (temp_runaway_status[_heater_id] == TempRunaway_PREHEAT))
{
/*SERIAL_ECHOPGM("Heater:");
MYSERIAL.print(_heater_id);
@ -1229,7 +1216,7 @@ void temp_runaway_check(int _heater_id, float _target_temperature, float _curren
if (temp_runaway_check_active)
{
// we are in range
if ((_current_temperature > (_target_temperature - __hysteresis)) && (_current_temperature < (_target_temperature + __hysteresis)))
if ((_isbed && (_target_temperature > TEMP_MAX_CHECKED_BED) && (_current_temperature > TEMP_MAX_CHECKED_BED)) || ((_current_temperature > (_target_temperature - __hysteresis)) && (_current_temperature < (_target_temperature + __hysteresis))))
{
temp_runaway_check_active = false;
temp_runaway_error_counter[_heater_id] = 0;

View File

@ -176,6 +176,8 @@ ADDITIONAL FEATURES SETTINGS
#endif
// temperature runaway
#define TEMP_MAX_CHECKED_BED 95.0
#define TEMP_RUNAWAY_BED_HYSTERESIS 5
#define TEMP_RUNAWAY_BED_TIMEOUT 360

View File

@ -178,6 +178,8 @@ ADDITIONAL FEATURES SETTINGS
#endif
// temperature runaway
#define TEMP_MAX_CHECKED_BED 95.0
#define TEMP_RUNAWAY_BED_HYSTERESIS 5
#define TEMP_RUNAWAY_BED_TIMEOUT 360

View File

@ -176,6 +176,8 @@ ADDITIONAL FEATURES SETTINGS
#endif
// temperature runaway
#define TEMP_MAX_CHECKED_BED 95.0
#define TEMP_RUNAWAY_BED_HYSTERESIS 5
#define TEMP_RUNAWAY_BED_TIMEOUT 360

View File

@ -178,6 +178,8 @@ ADDITIONAL FEATURES SETTINGS
#endif
// temperature runaway
#define TEMP_MAX_CHECKED_BED 95.0
#define TEMP_RUNAWAY_BED_HYSTERESIS 5
#define TEMP_RUNAWAY_BED_TIMEOUT 360