Wed, 04 Oct 2023 11:28:49 +0200
Version 0.3.1. Remove obsolete files from spiffs filesystem. Removed obsolete wifi stations.conf file and functions. Removed obsolete user screens.
/** * @file config.c * @brief The 'co2meter' configuration data. These are stored in the * spiffs filesystem in a flash partition. */ #include "config.h" static const char *TAG = "config"; unit_t units[3]; ///< Pressure test units SemaphoreHandle_t xSemaphoreUnits = NULL; ///< Semaphore Units records //wifiStation_t wifiStation; void write_units() { uint8_t *dst = (uint8_t *)&units; FILE *f = fopen("/spiffs/units.conf", "r+"); if (f == NULL) { ESP_LOGE(TAG, "write /spiffs/units.conf failed"); return; } size_t bytes = fwrite(dst, 1, sizeof(units), f); fclose(f); if (bytes != sizeof(units)) { ESP_LOGE(TAG, "/spiffs/units.conf written %d/%d bytes", bytes, sizeof(units)); } else { ESP_LOGD(TAG, "/spiffs/units.conf written %d bytes", bytes); } } void read_units() { uint8_t *dst = (uint8_t *)&units; uint8_t mac_addr[8] = {0}; size_t bytes; FILE *f = fopen("/spiffs/units.conf", "r"); if (f == NULL) { // No units yet, create them. ESP_LOGE(TAG, "/spiffs/units.conf not found, create new"); goto u_error; } else { bytes = fread(dst, 1, sizeof(units), f); fclose(f); if (bytes != sizeof(units)) { ESP_LOGE(TAG, "/spiffs/units.conf read %d of %d bytes", bytes, sizeof(units)); goto u_error; } ESP_LOGI(TAG, "/spiffs/units.conf read %d bytes", bytes); for (int i = 0; i < 3; i++) ESP_LOGI(TAG, "%d %s %d %4lu %3lu", i, units[i].alias, units[i].pressure_channel, units[i].pressure_voltage, units[i].pressure_zero); } return; u_error: esp_efuse_mac_get_default(mac_addr); for (int i = 0; i < 3; i++) { memset(&units[i], 0, sizeof(unit_t)); sprintf(units[i].uuid, "c0ffeeee-dead-beef-caf%d-%02x%02x%02x%02x%02x%02x", i & 3, mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]); sprintf(units[i].alias, "unit%d", (i + 1) & 3); units[i].pressure_zero = 110; } f = fopen("/spiffs/units.conf", "w+"); bytes = fwrite(dst, 1, sizeof(units), f); fclose(f); if (bytes != sizeof(units)) { ESP_LOGE(TAG, "/spiffs/units.conf written %d/%d bytes", bytes, sizeof(units)); } else { ESP_LOGI(TAG, "/spiffs/units.conf written %d bytes", bytes); } }