mirror of
https://github.com/0xFEEDC0DE64/arduino-esp32.git
synced 2025-07-01 04:50:58 +02:00
Update IDF to aaf1239 (#1539)
* fix sdmmc config * Fix warnings in EEPROM from @Curclamas * remove leftover TAG in EEPROM * Initial add of @stickbreaker i2c * Add log_n * fix warnings when log is off * i2c code clean up and reorganization * add flags to interrupt allocator * fix sdmmc config * Fix warnings in EEPROM from @Curclamas * remove leftover TAG in EEPROM * fix errors with latest IDF * fix debug optimization (#1365) incorrect optimization for debugging tick markers. * Fix some missing BT header * Change BTSerial log calls * Update BLE lib * Arduino-ESP32 release management scripted (#1515) * Calculate an absolute path for a custom partitions table (#1452) * * Arduino-ESP32 release management scripted (ready-to-merge) * * secure env for espressif/arduino-esp32 * * build tests enabled * gitter webhook enabled * * gitter room link fixed * better comment * * filepaths fixed * BT Serial adjustments * * don't run sketch builds & tests for tagged builds * Return false from WiFi.hostByName() if hostname is not resolved * Free BT Memory when BT is not used * WIFI_MODE_NULL is not supported anymore * Select some key examples to build with PlatformIO to save some time * Update BLE lib * Fixed BLE lib * Major WiFi overhaul - auto reconnect on connection loss now works - moved to event groups - some code clean up and procedure optimizations - new methods to get a more elaborate system ststus * Add cmake tests to travis * Add initial AsyncUDP * Add NetBIOS lib and fix CMake includes * Add Initial WebServer * Fix WebServer and examples * travis not quiting on build fail * Try different travis build * Update IDF to aaf1239 * Fix WPS Example * fix script permission and add some fail tests to sketch builder * Add missing space in WiFiClient::write(Stream &stream)
This commit is contained in:
@ -38,7 +38,7 @@ typedef uint32_t nvs_handle;
|
||||
#define ESP_ERR_NVS_INVALID_HANDLE (ESP_ERR_NVS_BASE + 0x07) /*!< Handle has been closed or is NULL */
|
||||
#define ESP_ERR_NVS_REMOVE_FAILED (ESP_ERR_NVS_BASE + 0x08) /*!< The value wasn’t updated because flash write operation has failed. The value was written however, and update will be finished after re-initialization of nvs, provided that flash operation doesn’t fail again. */
|
||||
#define ESP_ERR_NVS_KEY_TOO_LONG (ESP_ERR_NVS_BASE + 0x09) /*!< Key name is too long */
|
||||
#define ESP_ERR_NVS_PAGE_FULL (ESP_ERR_NVS_BASE + 0x0a) /*!< Internal error; never returned by nvs_ API functions */
|
||||
#define ESP_ERR_NVS_PAGE_FULL (ESP_ERR_NVS_BASE + 0x0a) /*!< Internal error; never returned by nvs API functions */
|
||||
#define ESP_ERR_NVS_INVALID_STATE (ESP_ERR_NVS_BASE + 0x0b) /*!< NVS is in an inconsistent state due to a previous error. Call nvs_flash_init and nvs_open again, then retry. */
|
||||
#define ESP_ERR_NVS_INVALID_LENGTH (ESP_ERR_NVS_BASE + 0x0c) /*!< String or blob length is not sufficient to store data */
|
||||
#define ESP_ERR_NVS_NO_FREE_PAGES (ESP_ERR_NVS_BASE + 0x0d) /*!< NVS partition doesn't contain any empty pages. This may happen if NVS partition was truncated. Erase the whole partition and call nvs_flash_init again. */
|
||||
@ -356,6 +356,88 @@ esp_err_t nvs_commit(nvs_handle handle);
|
||||
*/
|
||||
void nvs_close(nvs_handle handle);
|
||||
|
||||
/**
|
||||
* @note Info about storage space NVS.
|
||||
*/
|
||||
typedef struct {
|
||||
size_t used_entries; /**< Amount of used entries. */
|
||||
size_t free_entries; /**< Amount of free entries. */
|
||||
size_t total_entries; /**< Amount all available entries. */
|
||||
size_t namespace_count; /**< Amount name space. */
|
||||
} nvs_stats_t;
|
||||
|
||||
/**
|
||||
* @brief Fill structure nvs_stats_t. It provides info about used memory the partition.
|
||||
*
|
||||
* This function calculates to runtime the number of used entries, free entries, total entries,
|
||||
* and amount namespace in partition.
|
||||
*
|
||||
* \code{c}
|
||||
* // Example of nvs_get_stats() to get the number of used entries and free entries:
|
||||
* nvs_stats_t nvs_stats;
|
||||
* nvs_get_stats(NULL, &nvs_stats);
|
||||
* printf("Count: UsedEntries = (%d), FreeEntries = (%d), AllEntries = (%d)\n",
|
||||
nvs_stats.used_entries, nvs_stats.free_entries, nvs_stats.total_entries);
|
||||
* \endcode
|
||||
*
|
||||
* @param[in] part_name Partition name NVS in the partition table.
|
||||
* If pass a NULL than will use NVS_DEFAULT_PART_NAME ("nvs").
|
||||
*
|
||||
* @param[out] nvs_stats Returns filled structure nvs_states_t.
|
||||
* It provides info about used memory the partition.
|
||||
*
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK if the changes have been written successfully.
|
||||
* Return param nvs_stats will be filled.
|
||||
* - ESP_ERR_NVS_PART_NOT_FOUND if the partition with label "name" is not found.
|
||||
* Return param nvs_stats will be filled 0.
|
||||
* - ESP_ERR_NVS_NOT_INITIALIZED if the storage driver is not initialized.
|
||||
* Return param nvs_stats will be filled 0.
|
||||
* - ESP_ERR_INVALID_ARG if nvs_stats equal to NULL.
|
||||
* - ESP_ERR_INVALID_STATE if there is page with the status of INVALID.
|
||||
* Return param nvs_stats will be filled not with correct values because
|
||||
* not all pages will be counted. Counting will be interrupted at the first INVALID page.
|
||||
*/
|
||||
esp_err_t nvs_get_stats(const char* part_name, nvs_stats_t* nvs_stats);
|
||||
|
||||
/**
|
||||
* @brief Calculate all entries in a namespace.
|
||||
*
|
||||
* Note that to find out the total number of records occupied by the namespace,
|
||||
* add one to the returned value used_entries (if err is equal to ESP_OK).
|
||||
* Because the name space entry takes one entry.
|
||||
*
|
||||
* \code{c}
|
||||
* // Example of nvs_get_used_entry_count() to get amount of all key-value pairs in one namespace:
|
||||
* nvs_handle handle;
|
||||
* nvs_open("namespace1", NVS_READWRITE, &handle);
|
||||
* ...
|
||||
* size_t used_entries;
|
||||
* size_t total_entries_namespace;
|
||||
* if(nvs_get_used_entry_count(handle, &used_entries) == ESP_OK){
|
||||
* // the total number of records occupied by the namespace
|
||||
* total_entries_namespace = used_entries + 1;
|
||||
* }
|
||||
* \endcode
|
||||
*
|
||||
* @param[in] handle Handle obtained from nvs_open function.
|
||||
*
|
||||
* @param[out] used_entries Returns amount of used entries from a namespace.
|
||||
*
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK if the changes have been written successfully.
|
||||
* Return param used_entries will be filled valid value.
|
||||
* - ESP_ERR_NVS_NOT_INITIALIZED if the storage driver is not initialized.
|
||||
* Return param used_entries will be filled 0.
|
||||
* - ESP_ERR_NVS_INVALID_HANDLE if handle has been closed or is NULL.
|
||||
* Return param used_entries will be filled 0.
|
||||
* - ESP_ERR_INVALID_ARG if nvs_stats equal to NULL.
|
||||
* - Other error codes from the underlying storage driver.
|
||||
* Return param used_entries will be filled 0.
|
||||
*/
|
||||
esp_err_t nvs_get_used_entry_count(nvs_handle handle, size_t* used_entries);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
Reference in New Issue
Block a user