Sort out settings.load with SD EEPROM emulation (#14458)
This commit is contained in:
parent
c9be936d4a
commit
108d0df565
6 changed files with 31 additions and 15 deletions
|
@ -24,7 +24,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION)
|
||||
#if ENABLED(SD_EEPROM_EMULATION)
|
||||
|
||||
#include "../shared/persistent_store_api.h"
|
||||
|
||||
|
@ -102,5 +102,5 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t
|
|||
|
||||
size_t PersistentStore::capacity() { return HAL_ESP32_EEPROM_SIZE; }
|
||||
|
||||
#endif // EEPROM_SETTINGS
|
||||
#endif // SD_EEPROM_EMULATION
|
||||
#endif // ARDUINO_ARCH_ESP32
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
#include "../../inc/MarlinConfig.h"
|
||||
|
||||
#if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
|
||||
#if ENABLED(SD_EEPROM_EMULATION)
|
||||
|
||||
#include "../shared/persistent_store_api.h"
|
||||
|
||||
|
|
|
@ -941,7 +941,9 @@ void setup() {
|
|||
|
||||
// Load data from EEPROM if available (or use defaults)
|
||||
// This also updates variables in the planner, elsewhere
|
||||
#if DISABLED(SD_EEPROM_EMULATION)
|
||||
(void)settings.load();
|
||||
#endif
|
||||
|
||||
#if HAS_M206_COMMAND
|
||||
// Initialize current position based on home_offset
|
||||
|
@ -1094,10 +1096,19 @@ void setup() {
|
|||
init_closedloop();
|
||||
#endif
|
||||
|
||||
#if ENABLED(INIT_SDCARD_ON_BOOT) && !HAS_SPI_LCD
|
||||
#if !HAS_SPI_LCD
|
||||
|
||||
#if ENABLED(SD_EEPROM_EMULATION)
|
||||
SERIAL_ECHOLNPGM("Loading settings from SD");
|
||||
(void)settings.load();
|
||||
#endif
|
||||
|
||||
#if ENABLED(INIT_SDCARD_ON_BOOT)
|
||||
card.beginautostart();
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if HAS_TRINAMIC && DISABLED(PS_DEFAULT_OFF)
|
||||
test_tmc_connection(true, true, true, true);
|
||||
#endif
|
||||
|
|
|
@ -1734,3 +1734,7 @@
|
|||
#define INIT_SDCARD_ON_BOOT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if ENABLED(EEPROM_SETTINGS) && NONE(FLASH_EEPROM_EMULATION, SPI_EEPROM, I2C_EEPROM)
|
||||
#define SD_EEPROM_EMULATION
|
||||
#endif
|
||||
|
|
|
@ -81,6 +81,10 @@
|
|||
|
||||
#include "../Marlin.h"
|
||||
|
||||
#if ENABLED(SD_EEPROM_EMULATION)
|
||||
#include "../module/configuration_store.h"
|
||||
#endif
|
||||
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
#include "../feature/power_loss_recovery.h"
|
||||
#endif
|
||||
|
@ -783,8 +787,13 @@ void MarlinUI::update() {
|
|||
if (sd_status) {
|
||||
safe_delay(500); // Some boards need a delay to get settled
|
||||
card.initsd();
|
||||
if (old_sd_status == 2)
|
||||
if (old_sd_status == 2) {
|
||||
#if ENABLED(SD_EEPROM_EMULATION)
|
||||
SERIAL_ECHOLNPGM("Loading settings from SD");
|
||||
(void)settings.load();
|
||||
#endif
|
||||
card.beginautostart(); // Initial boot
|
||||
}
|
||||
else
|
||||
set_status_P(PSTR(MSG_SD_INSERTED));
|
||||
}
|
||||
|
|
|
@ -353,9 +353,6 @@ 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();
|
||||
#endif
|
||||
}
|
||||
setroot();
|
||||
|
||||
|
@ -561,11 +558,6 @@ void CardReader::checkautostart() {
|
|||
|
||||
if (!isDetected()) initsd();
|
||||
|
||||
#if ENABLED(EEPROM_SETTINGS) && DISABLED(FLASH_EEPROM_EMULATION)
|
||||
SERIAL_ECHOLNPGM("Loading settings from SD");
|
||||
(void)settings.load();
|
||||
#endif
|
||||
|
||||
if (isDetected()
|
||||
#if ENABLED(POWER_LOSS_RECOVERY)
|
||||
&& !recovery.valid() // Don't run auto#.g when a resume file exists
|
||||
|
|
Reference in a new issue