Browse Source

Retrieve settings (M501): initialize each item in feedrate and acceleration arrays separately

PavelSindler 6 years ago
parent
commit
7d538cde6c
1 changed files with 6 additions and 8 deletions
  1. 6 8
      Firmware/ConfigurationStore.cpp

+ 6 - 8
Firmware/ConfigurationStore.cpp

@@ -248,18 +248,16 @@ bool Config_RetrieveSettings()
             bool initialized = false;
             for (uint8_t i = 0; i < (sizeof(cs.max_feedrate_silent)/sizeof(cs.max_feedrate_silent[0])); ++i)
             {
+				initialized = false;
                 for(uint8_t j = 0; j < sizeof(float); ++j)
                 {
                     if(0xff != reinterpret_cast<uint8_t*>(&(cs.max_feedrate_silent[i]))[j]) initialized = true;
                 }
-                if(erased != cs.max_acceleration_units_per_sq_second_silent[i]) initialized = true;
-            }
-            if (!initialized)
-            {
-                memcpy_P(&cs.max_feedrate_silent,&default_conf.max_feedrate_silent, sizeof(cs.max_feedrate_silent));
-                memcpy_P(&cs.max_acceleration_units_per_sq_second_silent,&default_conf.max_acceleration_units_per_sq_second_silent,
-                        sizeof(cs.max_acceleration_units_per_sq_second_silent));
-            }
+				if (!initialized) memcpy_P(&cs.max_feedrate_silent[i],&default_conf.max_feedrate_silent[i], sizeof(cs.max_feedrate_silent[i]));
+				if (erased == cs.max_acceleration_units_per_sq_second_silent[i]) {
+					memcpy_P(&cs.max_acceleration_units_per_sq_second_silent[i],&default_conf.max_acceleration_units_per_sq_second_silent[i],sizeof(cs.max_acceleration_units_per_sq_second_silent[i]));
+				}
+			}
         }
 
 #ifdef TMC2130