diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp
index f872dd2cb116007c4231385333a19e1b3dab0b2f..06fc846f9a5994fbfe83cc4ed16d5dd96fa70cb3 100644
--- a/Marlin/src/module/configuration_store.cpp
+++ b/Marlin/src/module/configuration_store.cpp
@@ -562,79 +562,71 @@ void MarlinSettings::postprocess() {
#endif
+ //
// Save TMC2130 or TMC2208 Configuration, and placeholder values
- uint16_t val;
- #if HAS_TRINAMIC
- #if X_IS_TRINAMIC
- val = stepperX.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if Y_IS_TRINAMIC
- val = stepperY.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if Z_IS_TRINAMIC
- val = stepperZ.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if X2_IS_TRINAMIC
- val = stepperX2.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if Y2_IS_TRINAMIC
- val = stepperY2.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if Z2_IS_TRINAMIC
- val = stepperZ2.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if E0_IS_TRINAMIC
- val = stepperE0.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if E1_IS_TRINAMIC
- val = stepperE1.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if E2_IS_TRINAMIC
- val = stepperE2.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if E3_IS_TRINAMIC
- val = stepperE3.getCurrent();
- #else
- val = 0;
- #endif
- EEPROM_WRITE(val);
- #if E4_IS_TRINAMIC
- val = stepperE4.getCurrent();
+ //
+ uint16_t currents[11] = {
+ #if HAS_TRINAMIC
+ #if X_IS_TRINAMIC
+ stepperX.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if Y_IS_TRINAMIC
+ stepperY.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if Z_IS_TRINAMIC
+ stepperZ.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if X2_IS_TRINAMIC
+ stepperX2.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if Y2_IS_TRINAMIC
+ stepperY2.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if Z2_IS_TRINAMIC
+ stepperZ2.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if E0_IS_TRINAMIC
+ stepperE0.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if E1_IS_TRINAMIC
+ stepperE1.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if E2_IS_TRINAMIC
+ stepperE2.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if E3_IS_TRINAMIC
+ stepperE3.getCurrent(),
+ #else
+ 0,
+ #endif
+ #if E4_IS_TRINAMIC
+ stepperE4.getCurrent()
+ #else
+ 0
+ #endif
#else
- val = 0;
+ 0
#endif
- EEPROM_WRITE(val);
- #else
- val = 0;
- for (uint8_t q = 11; q--;) EEPROM_WRITE(val);
- #endif
+ };
+ EEPROM_WRITE(currents);
//
// TMC2130 Sensorless homing threshold