Prevent extra settings.load on boot (#14499)
This commit is contained in:
		
				
					committed by
					
						
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							dc02d0720d
						
					
				
				
					commit
					8873c583d3
				
			@@ -941,7 +941,7 @@ void setup() {
 | 
			
		||||
 | 
			
		||||
  // Load data from EEPROM if available (or use defaults)
 | 
			
		||||
  // This also updates variables in the planner, elsewhere
 | 
			
		||||
  (void)settings.load();
 | 
			
		||||
  settings.first_load();
 | 
			
		||||
 | 
			
		||||
  #if HAS_M206_COMMAND
 | 
			
		||||
    // Initialize current position based on home_offset
 | 
			
		||||
 
 | 
			
		||||
@@ -29,8 +29,6 @@
 | 
			
		||||
 | 
			
		||||
class MarlinSettings {
 | 
			
		||||
  public:
 | 
			
		||||
    MarlinSettings() { }
 | 
			
		||||
 | 
			
		||||
    static uint16_t datasize();
 | 
			
		||||
 | 
			
		||||
    static void reset();
 | 
			
		||||
@@ -55,9 +53,15 @@ class MarlinSettings {
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    #if ENABLED(EEPROM_SETTINGS)
 | 
			
		||||
 | 
			
		||||
      static bool load();      // Return 'true' if data was loaded ok
 | 
			
		||||
      static bool validate();  // Return 'true' if EEPROM data is ok
 | 
			
		||||
 | 
			
		||||
      static inline void first_load() {
 | 
			
		||||
        static bool loaded = false;
 | 
			
		||||
        if (!loaded && load()) loaded = true;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      #if ENABLED(AUTO_BED_LEVELING_UBL) // Eventually make these available if any leveling system
 | 
			
		||||
                                         // That can store is enabled
 | 
			
		||||
        static uint16_t meshes_start_index();
 | 
			
		||||
@@ -73,6 +77,8 @@ class MarlinSettings {
 | 
			
		||||
    #else
 | 
			
		||||
      FORCE_INLINE
 | 
			
		||||
      static bool load() { reset(); report(); return true; }
 | 
			
		||||
      FORCE_INLINE
 | 
			
		||||
      static void first_load() { (void)load(); }
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    #if DISABLED(DISABLE_M503)
 | 
			
		||||
 
 | 
			
		||||
@@ -353,8 +353,8 @@ void CardReader::initsd() {
 | 
			
		||||
  else {
 | 
			
		||||
    flag.detected = true;
 | 
			
		||||
    SERIAL_ECHO_MSG(MSG_SD_CARD_OK);
 | 
			
		||||
    #if ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION)
 | 
			
		||||
      (void)settings.load();
 | 
			
		||||
    #if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
 | 
			
		||||
      settings.first_load();
 | 
			
		||||
    #endif
 | 
			
		||||
  }
 | 
			
		||||
  setroot();
 | 
			
		||||
@@ -560,10 +560,8 @@ void CardReader::checkautostart() {
 | 
			
		||||
  if (autostart_index < 0 || flag.sdprinting) return;
 | 
			
		||||
 | 
			
		||||
  if (!isDetected()) initsd();
 | 
			
		||||
 | 
			
		||||
  #if ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION)
 | 
			
		||||
    SERIAL_ECHOLNPGM("Loading settings from SD");
 | 
			
		||||
    (void)settings.load();
 | 
			
		||||
  #if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
 | 
			
		||||
    else settings.first_load();
 | 
			
		||||
  #endif
 | 
			
		||||
 | 
			
		||||
  if (isDetected()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user