Browse Source

The TRReset state is not needed with fall-through

pull/1/head
Scott Lahteine 8 years ago
parent
commit
6b13c430ae
  1. 5
      Marlin/temperature.cpp
  2. 6
      Marlin/temperature.h

5
Marlin/temperature.cpp

@ -1048,12 +1048,9 @@ void Temperature::init() {
// If the target temperature changes, restart
if (tr_target_temperature[heater_index] != target_temperature)
*state = TRReset;
*state = TRInactive;
switch (*state) {
case TRReset:
*timer = 0;
*state = TRInactive;
// Inactive state waits for a target temperature to be set
case TRInactive:
if (target_temperature <= 0) break;

6
Marlin/temperature.h

@ -358,17 +358,17 @@ class Temperature {
#if ENABLED(THERMAL_PROTECTION_HOTENDS) || HAS_THERMALLY_PROTECTED_BED
typedef enum TRState { TRReset, TRInactive, TRFirstHeating, TRStable, TRRunaway } TRstate;
typedef enum TRState { TRInactive, TRFirstHeating, TRStable, TRRunaway } TRstate;
void thermal_runaway_protection(TRState* state, millis_t* timer, float temperature, float target_temperature, int heater_id, int period_seconds, int hysteresis_degc);
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
TRState thermal_runaway_state_machine[EXTRUDERS] = { TRReset };
TRState thermal_runaway_state_machine[EXTRUDERS] = { TRInactive };
millis_t thermal_runaway_timer[EXTRUDERS] = { 0 };
#endif
#if HAS_THERMALLY_PROTECTED_BED
TRState thermal_runaway_bed_state_machine = TRReset;
TRState thermal_runaway_bed_state_machine = TRInactive;
millis_t thermal_runaway_bed_timer;
#endif

Loading…
Cancel
Save