Skip to content

Commit

Permalink
Read from backup TMC StealthChop state (MarlinFirmware#19364)
Browse files Browse the repository at this point in the history
  • Loading branch information
ManuelMcLure authored and vgadreau committed Dec 9, 2020
1 parent 6248db7 commit 49a798c
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 32 deletions.
3 changes: 3 additions & 0 deletions Marlin/src/feature/tmc_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ class TMCMarlin : public TMC, public TMCStorage<AXIS_LETTER, DRIVER_ID> {
#if HAS_STEALTHCHOP
inline void refresh_stepping_mode() { this->en_pwm_mode(this->stored.stealthChop_enabled); }
inline bool get_stealthChop_status() { return this->en_pwm_mode(); }
inline bool get_stored_stealthChop_status() { return this->stored.stealthChop_enabled; }
#endif

#if ENABLED(HYBRID_THRESHOLD)
Expand Down Expand Up @@ -171,6 +172,7 @@ class TMCMarlin<TMC2208Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC220
#if HAS_STEALTHCHOP
inline void refresh_stepping_mode() { en_spreadCycle(!this->stored.stealthChop_enabled); }
inline bool get_stealthChop_status() { return !this->en_spreadCycle(); }
inline bool get_stored_stealthChop_status() { return this->stored.stealthChop_enabled; }
#endif

#if ENABLED(HYBRID_THRESHOLD)
Expand Down Expand Up @@ -216,6 +218,7 @@ class TMCMarlin<TMC2209Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> : public TMC220
#if HAS_STEALTHCHOP
inline void refresh_stepping_mode() { en_spreadCycle(!this->stored.stealthChop_enabled); }
inline bool get_stealthChop_status() { return !this->en_spreadCycle(); }
inline bool get_stored_stealthChop_status() { return this->stored.stealthChop_enabled; }
#endif

#if ENABLED(HYBRID_THRESHOLD)
Expand Down
64 changes: 32 additions & 32 deletions Marlin/src/module/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1191,60 +1191,60 @@ void MarlinSettings::postprocess() {

#if HAS_STEALTHCHOP
#if AXIS_HAS_STEALTHCHOP(X)
tmc_stealth_enabled.X = stepperX.get_stealthChop_status();
tmc_stealth_enabled.X = stepperX.get_stored_stealthChop_status();
#endif
#if AXIS_HAS_STEALTHCHOP(Y)
tmc_stealth_enabled.Y = stepperY.get_stealthChop_status();
tmc_stealth_enabled.Y = stepperY.get_stored_stealthChop_status();
#endif
#if AXIS_HAS_STEALTHCHOP(Z)
tmc_stealth_enabled.Z = stepperZ.get_stealthChop_status();
tmc_stealth_enabled.Z = stepperZ.get_stored_stealthChop_status();
#endif
#if AXIS_HAS_STEALTHCHOP(X2)
tmc_stealth_enabled.X2 = stepperX2.get_stealthChop_status();
tmc_stealth_enabled.X2 = stepperX2.get_stored_stealthChop_status();
#endif
#if AXIS_HAS_STEALTHCHOP(Y2)
tmc_stealth_enabled.Y2 = stepperY2.get_stealthChop_status();
tmc_stealth_enabled.Y2 = stepperY2.get_stored_stealthChop_status();
#endif
#if AXIS_HAS_STEALTHCHOP(Z2)
tmc_stealth_enabled.Z2 = stepperZ2.get_stealthChop_status();
tmc_stealth_enabled.Z2 = stepperZ2.get_stored_stealthChop_status();
#endif
#if AXIS_HAS_STEALTHCHOP(Z3)
tmc_stealth_enabled.Z3 = stepperZ3.get_stealthChop_status();
tmc_stealth_enabled.Z3 = stepperZ3.get_stored_stealthChop_status();
#endif
#if AXIS_HAS_STEALTHCHOP(Z4)
tmc_stealth_enabled.Z4 = stepperZ4.get_stealthChop_status();
tmc_stealth_enabled.Z4 = stepperZ4.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS
#if AXIS_HAS_STEALTHCHOP(E0)
tmc_stealth_enabled.E0 = stepperE0.get_stealthChop_status();
tmc_stealth_enabled.E0 = stepperE0.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS > 1
#if AXIS_HAS_STEALTHCHOP(E1)
tmc_stealth_enabled.E1 = stepperE1.get_stealthChop_status();
tmc_stealth_enabled.E1 = stepperE1.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS > 2
#if AXIS_HAS_STEALTHCHOP(E2)
tmc_stealth_enabled.E2 = stepperE2.get_stealthChop_status();
tmc_stealth_enabled.E2 = stepperE2.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS > 3
#if AXIS_HAS_STEALTHCHOP(E3)
tmc_stealth_enabled.E3 = stepperE3.get_stealthChop_status();
tmc_stealth_enabled.E3 = stepperE3.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS > 4
#if AXIS_HAS_STEALTHCHOP(E4)
tmc_stealth_enabled.E4 = stepperE4.get_stealthChop_status();
tmc_stealth_enabled.E4 = stepperE4.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS > 5
#if AXIS_HAS_STEALTHCHOP(E5)
tmc_stealth_enabled.E5 = stepperE5.get_stealthChop_status();
tmc_stealth_enabled.E5 = stepperE5.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS > 6
#if AXIS_HAS_STEALTHCHOP(E6)
tmc_stealth_enabled.E6 = stepperE6.get_stealthChop_status();
tmc_stealth_enabled.E6 = stepperE6.get_stored_stealthChop_status();
#endif
#if MAX_EXTRUDERS > 7
#if AXIS_HAS_STEALTHCHOP(E7)
tmc_stealth_enabled.E7 = stepperE7.get_stealthChop_status();
tmc_stealth_enabled.E7 = stepperE7.get_stored_stealthChop_status();
#endif
#endif // MAX_EXTRUDERS > 7
#endif // MAX_EXTRUDERS > 6
Expand Down Expand Up @@ -3595,17 +3595,17 @@ void MarlinSettings::reset() {
#if HAS_STEALTHCHOP
CONFIG_ECHO_HEADING("Driver stepping mode:");
#if AXIS_HAS_STEALTHCHOP(X)
const bool chop_x = stepperX.get_stealthChop_status();
const bool chop_x = stepperX.get_stored_stealthChop_status();
#else
constexpr bool chop_x = false;
#endif
#if AXIS_HAS_STEALTHCHOP(Y)
const bool chop_y = stepperY.get_stealthChop_status();
const bool chop_y = stepperY.get_stored_stealthChop_status();
#else
constexpr bool chop_y = false;
#endif
#if AXIS_HAS_STEALTHCHOP(Z)
const bool chop_z = stepperZ.get_stealthChop_status();
const bool chop_z = stepperZ.get_stored_stealthChop_status();
#else
constexpr bool chop_z = false;
#endif
Expand All @@ -3619,17 +3619,17 @@ void MarlinSettings::reset() {
}

#if AXIS_HAS_STEALTHCHOP(X2)
const bool chop_x2 = stepperX2.get_stealthChop_status();
const bool chop_x2 = stepperX2.get_stored_stealthChop_status();
#else
constexpr bool chop_x2 = false;
#endif
#if AXIS_HAS_STEALTHCHOP(Y2)
const bool chop_y2 = stepperY2.get_stealthChop_status();
const bool chop_y2 = stepperY2.get_stored_stealthChop_status();
#else
constexpr bool chop_y2 = false;
#endif
#if AXIS_HAS_STEALTHCHOP(Z2)
const bool chop_z2 = stepperZ2.get_stealthChop_status();
const bool chop_z2 = stepperZ2.get_stored_stealthChop_status();
#else
constexpr bool chop_z2 = false;
#endif
Expand All @@ -3643,36 +3643,36 @@ void MarlinSettings::reset() {
}

#if AXIS_HAS_STEALTHCHOP(Z3)
if (stepperZ3.get_stealthChop_status()) { say_M569(forReplay, PSTR("I2 Z"), true); }
if (stepperZ3.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("I2 Z"), true); }
#endif

#if AXIS_HAS_STEALTHCHOP(Z4)
if (stepperZ4.get_stealthChop_status()) { say_M569(forReplay, PSTR("I3 Z"), true); }
if (stepperZ4.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("I3 Z"), true); }
#endif

#if AXIS_HAS_STEALTHCHOP(E0)
if (stepperE0.get_stealthChop_status()) { say_M569(forReplay, PSTR("T0 E"), true); }
if (stepperE0.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T0 E"), true); }
#endif
#if AXIS_HAS_STEALTHCHOP(E1)
if (stepperE1.get_stealthChop_status()) { say_M569(forReplay, PSTR("T1 E"), true); }
if (stepperE1.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T1 E"), true); }
#endif
#if AXIS_HAS_STEALTHCHOP(E2)
if (stepperE2.get_stealthChop_status()) { say_M569(forReplay, PSTR("T2 E"), true); }
if (stepperE2.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T2 E"), true); }
#endif
#if AXIS_HAS_STEALTHCHOP(E3)
if (stepperE3.get_stealthChop_status()) { say_M569(forReplay, PSTR("T3 E"), true); }
if (stepperE3.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T3 E"), true); }
#endif
#if AXIS_HAS_STEALTHCHOP(E4)
if (stepperE4.get_stealthChop_status()) { say_M569(forReplay, PSTR("T4 E"), true); }
if (stepperE4.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T4 E"), true); }
#endif
#if AXIS_HAS_STEALTHCHOP(E5)
if (stepperE5.get_stealthChop_status()) { say_M569(forReplay, PSTR("T5 E"), true); }
if (stepperE5.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T5 E"), true); }
#endif
#if AXIS_HAS_STEALTHCHOP(E6)
if (stepperE6.get_stealthChop_status()) { say_M569(forReplay, PSTR("T6 E"), true); }
if (stepperE6.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T6 E"), true); }
#endif
#if AXIS_HAS_STEALTHCHOP(E7)
if (stepperE7.get_stealthChop_status()) { say_M569(forReplay, PSTR("T7 E"), true); }
if (stepperE7.get_stored_stealthChop_status()) { say_M569(forReplay, PSTR("T7 E"), true); }
#endif

#endif // HAS_STEALTHCHOP
Expand Down

0 comments on commit 49a798c

Please sign in to comment.