mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-27 20:56:35 +00:00
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) {
|
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
|
// cal_data - SDK PHY calibration data as documented in esp_phy_init.h
|
||||||
// qpc - Tasmota Quick Power Cycle state
|
// qpc - Tasmota Quick Power Cycle state
|
||||||
// main - Tasmota Settings data
|
// 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.
|
// nvs_flash_erase(); // Erase RTC, PHY, sta.mac, ap.sndchan, ap.mac, Tasmota etc.
|
||||||
r1 = NvmErase("qpc");
|
r1 = NvmErase("qpc");
|
||||||
r2 = NvmErase("main");
|
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;
|
break;
|
||||||
case 1: case 4: // Reset 3 or WIFI_FORCE_RF_CAL_ERASE = SDK parameter area
|
case 1: case 4: // Reset 3 or WIFI_FORCE_RF_CAL_ERASE = SDK parameter area
|
||||||
r1 = esp_phy_erase_cal_data_in_nvs();
|
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)
|
case 2: // Not used = QPC and Tasmota parameter area (0x0F3xxx - 0x0FBFFF)
|
||||||
r1 = NvmErase("qpc");
|
r1 = NvmErase("qpc");
|
||||||
r2 = NvmErase("main");
|
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;
|
break;
|
||||||
case 3: // QPC Reached = QPC, Tasmota and SDK parameter area (0x0F3xxx - 0x0FFFFF)
|
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.
|
// 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 = esp_phy_erase_cal_data_in_nvs();
|
||||||
// r3 = NvmErase("cal_data");
|
// 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 (%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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t SettingsRead(void *data, size_t size) {
|
uint32_t SettingsRead(void *data, size_t size) {
|
||||||
uint32_t source = 1;
|
uint32_t source = 1;
|
||||||
if (!TfsLoadFile("/settings", (uint8_t*)data, size)) {
|
if (!TfsLoadFile(TASM_FILE_SETTINGS, (uint8_t*)data, size)) {
|
||||||
source = 0;
|
source = 0;
|
||||||
NvmLoad("main", "Settings", data, size);
|
NvmLoad("main", "Settings", data, size);
|
||||||
}
|
}
|
||||||
@ -181,7 +185,7 @@ uint32_t SettingsRead(void *data, size_t size) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SettingsWrite(const void *pSettings, unsigned nSettingsLen) {
|
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);
|
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"
|
#error "Arduino ESP8266 Core versions before 2.7.1 are not supported"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define TASM_FILE_SETTINGS "/settings"
|
||||||
|
#define TASM_FILE_ZIGBEE "/zb"
|
||||||
|
|
||||||
#ifndef MQTT_MAX_PACKET_SIZE
|
#ifndef MQTT_MAX_PACKET_SIZE
|
||||||
#define MQTT_MAX_PACKET_SIZE 1200 // Bytes
|
#define MQTT_MAX_PACKET_SIZE 1200 // Bytes
|
||||||
#endif
|
#endif
|
||||||
|
@ -305,7 +305,7 @@ void loadZigbeeDevices(bool dump_only = false) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#ifdef USE_UFILESYS
|
#ifdef USE_UFILESYS
|
||||||
TfsLoadFile("/zb", spi_buffer, z_spi_len);
|
TfsLoadFile(TASM_FILE_ZIGBEE, spi_buffer, z_spi_len);
|
||||||
#endif
|
#endif
|
||||||
z_dev_start = spi_buffer;
|
z_dev_start = spi_buffer;
|
||||||
#endif // ESP32
|
#endif // ESP32
|
||||||
@ -370,7 +370,7 @@ void saveZigbeeDevices(void) {
|
|||||||
#endif // ESP8266
|
#endif // ESP8266
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
#ifdef USE_UFILESYS
|
#ifdef USE_UFILESYS
|
||||||
TfsLoadFile("/zb", spi_buffer, z_spi_len);
|
TfsLoadFile(TASM_FILE_ZIGBEE, spi_buffer, z_spi_len);
|
||||||
#endif
|
#endif
|
||||||
#endif // ESP32
|
#endif // ESP32
|
||||||
|
|
||||||
@ -390,7 +390,7 @@ void saveZigbeeDevices(void) {
|
|||||||
#endif // ESP8266
|
#endif // ESP8266
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
#ifdef USE_UFILESYS
|
#ifdef USE_UFILESYS
|
||||||
TfsSaveFile("/zb", spi_buffer, z_spi_len);
|
TfsSaveFile(TASM_FILE_ZIGBEE, spi_buffer, z_spi_len);
|
||||||
#endif
|
#endif
|
||||||
AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_ZIGBEE "Zigbee Devices Data saved in %s (%d bytes)"), PSTR("Flash"), buf_len);
|
AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_ZIGBEE "Zigbee Devices Data saved in %s (%d bytes)"), PSTR("Flash"), buf_len);
|
||||||
#endif // ESP32
|
#endif // ESP32
|
||||||
@ -426,7 +426,7 @@ void eraseZigbeeDevices(void) {
|
|||||||
#endif // ESP8266
|
#endif // ESP8266
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
#ifdef USE_UFILESYS
|
#ifdef USE_UFILESYS
|
||||||
TfsInitFile("/zb", z_block_len, 0xFF);
|
TfsInitFile(TASM_FILE_ZIGBEE, z_block_len, 0xFF);
|
||||||
#endif
|
#endif
|
||||||
AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_ZIGBEE "Zigbee Devices Data erased (%d bytes)"), z_block_len);
|
AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_ZIGBEE "Zigbee Devices Data erased (%d bytes)"), z_block_len);
|
||||||
#endif // ESP32
|
#endif // ESP32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user