mirror of https://github.com/arendst/Tasmota.git
Integrate filesystem
This commit is contained in:
parent
dcf22abd60
commit
28714a9ac3
|
@ -137,7 +137,8 @@ int32_t NvmErase(const char *sNvsName) {
|
|||
}
|
||||
|
||||
void SettingsErase(uint8_t type) {
|
||||
// All SDK and Tasmota data is held in default NVS partition
|
||||
// SDK and Tasmota data is held in default NVS partition
|
||||
// Tasmota data is held also in file /settings on default filesystem
|
||||
// cal_data - SDK PHY calibration data as documented in esp_phy_init.h
|
||||
// qpc - Tasmota Quick Power Cycle state
|
||||
// main - Tasmota Settings data
|
||||
|
@ -147,7 +148,8 @@ void SettingsErase(uint8_t type) {
|
|||
// nvs_flash_erase(); // Erase RTC, PHY, sta.mac, ap.sndchan, ap.mac, Tasmota etc.
|
||||
r1 = NvmErase("qpc");
|
||||
r2 = NvmErase("main");
|
||||
AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION D_ERASE " Tasmota data (%d,%d)"), r1, r2);
|
||||
r3 = TfsDeleteFile(TASM_FILE_SETTINGS);
|
||||
AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION D_ERASE " Tasmota data (%d,%d,%d)"), r1, r2, r3);
|
||||
break;
|
||||
case 1: case 4: // Reset 3 or WIFI_FORCE_RF_CAL_ERASE = SDK parameter area
|
||||
r1 = esp_phy_erase_cal_data_in_nvs();
|
||||
|
@ -157,7 +159,8 @@ void SettingsErase(uint8_t type) {
|
|||
case 2: // Not used = QPC and Tasmota parameter area (0x0F3xxx - 0x0FBFFF)
|
||||
r1 = NvmErase("qpc");
|
||||
r2 = NvmErase("main");
|
||||
AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION D_ERASE " Tasmota data (%d,%d)"), r1, r2);
|
||||
r3 = TfsDeleteFile(TASM_FILE_SETTINGS);
|
||||
AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION D_ERASE " Tasmota data (%d,%d,%d)"), r1, r2, r3);
|
||||
break;
|
||||
case 3: // QPC Reached = QPC, Tasmota and SDK parameter area (0x0F3xxx - 0x0FFFFF)
|
||||
// nvs_flash_erase(); // Erase RTC, PHY, sta.mac, ap.sndchan, ap.mac, Tasmota etc.
|
||||
|
@ -166,14 +169,15 @@ void SettingsErase(uint8_t type) {
|
|||
// r3 = esp_phy_erase_cal_data_in_nvs();
|
||||
// r3 = NvmErase("cal_data");
|
||||
// AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION D_ERASE " Tasmota (%d,%d) and PHY data (%d)"), r1, r2, r3);
|
||||
AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION D_ERASE " Tasmota data (%d,%d)"), r1, r2);
|
||||
r3 = TfsDeleteFile(TASM_FILE_SETTINGS);
|
||||
AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION D_ERASE " Tasmota data (%d,%d,%d)"), r1, r2, r3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t SettingsRead(void *data, size_t size) {
|
||||
uint32_t source = 1;
|
||||
if (!TfsLoadFile("/settings", (uint8_t*)data, size)) {
|
||||
if (!TfsLoadFile(TASM_FILE_SETTINGS, (uint8_t*)data, size)) {
|
||||
source = 0;
|
||||
NvmLoad("main", "Settings", data, size);
|
||||
}
|
||||
|
@ -181,7 +185,7 @@ uint32_t SettingsRead(void *data, size_t size) {
|
|||
}
|
||||
|
||||
void SettingsWrite(const void *pSettings, unsigned nSettingsLen) {
|
||||
TfsSaveFile("/settings", (const uint8_t*)pSettings, nSettingsLen);
|
||||
TfsSaveFile(TASM_FILE_SETTINGS, (const uint8_t*)pSettings, nSettingsLen);
|
||||
NvmSave("main", "Settings", pSettings, nSettingsLen);
|
||||
}
|
||||
|
||||
|
|
|
@ -225,6 +225,9 @@ const uint16_t LOG_BUFFER_SIZE = 4000; // Max number of characters in lo
|
|||
#error "Arduino ESP8266 Core versions before 2.7.1 are not supported"
|
||||
#endif
|
||||
|
||||
#define TASM_FILE_SETTINGS "/settings"
|
||||
#define TASM_FILE_ZIGBEE "/zb"
|
||||
|
||||
#ifndef MQTT_MAX_PACKET_SIZE
|
||||
#define MQTT_MAX_PACKET_SIZE 1200 // Bytes
|
||||
#endif
|
||||
|
|
|
@ -305,7 +305,7 @@ void loadZigbeeDevices(bool dump_only = false) {
|
|||
return;
|
||||
}
|
||||
#ifdef USE_UFILESYS
|
||||
TfsLoadFile("/zb", spi_buffer, z_spi_len);
|
||||
TfsLoadFile(TASM_FILE_ZIGBEE, spi_buffer, z_spi_len);
|
||||
#endif
|
||||
z_dev_start = spi_buffer;
|
||||
#endif // ESP32
|
||||
|
@ -370,7 +370,7 @@ void saveZigbeeDevices(void) {
|
|||
#endif // ESP8266
|
||||
#ifdef ESP32
|
||||
#ifdef USE_UFILESYS
|
||||
TfsLoadFile("/zb", spi_buffer, z_spi_len);
|
||||
TfsLoadFile(TASM_FILE_ZIGBEE, spi_buffer, z_spi_len);
|
||||
#endif
|
||||
#endif // ESP32
|
||||
|
||||
|
@ -390,7 +390,7 @@ void saveZigbeeDevices(void) {
|
|||
#endif // ESP8266
|
||||
#ifdef ESP32
|
||||
#ifdef USE_UFILESYS
|
||||
TfsSaveFile("/zb", spi_buffer, z_spi_len);
|
||||
TfsSaveFile(TASM_FILE_ZIGBEE, spi_buffer, z_spi_len);
|
||||
#endif
|
||||
AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_ZIGBEE "Zigbee Devices Data saved in %s (%d bytes)"), PSTR("Flash"), buf_len);
|
||||
#endif // ESP32
|
||||
|
@ -426,7 +426,7 @@ void eraseZigbeeDevices(void) {
|
|||
#endif // ESP8266
|
||||
#ifdef ESP32
|
||||
#ifdef USE_UFILESYS
|
||||
TfsInitFile("/zb", z_block_len, 0xFF);
|
||||
TfsInitFile(TASM_FILE_ZIGBEE, z_block_len, 0xFF);
|
||||
#endif
|
||||
AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_ZIGBEE "Zigbee Devices Data erased (%d bytes)"), z_block_len);
|
||||
#endif // ESP32
|
||||
|
|
Loading…
Reference in New Issue