NVS API 参考
Macros
-
WM_NVS_MAX_KEY_LEN
nvs key max size Max size of nvs key, use the config size of CONFIG_NVS_ITEM_NAME_MAX_SIZE
Enumerations
-
enum wm_nvs_type_t
nvs item data type
Values:
-
enumerator WM_NVS_TYPE_ANY
any type
-
enumerator WM_NVS_TYPE_STRING
string with 0
-
enumerator WM_NVS_TYPE_RAW
raw data
-
enumerator WM_NVS_TYPE_INT8
int8_t
-
enumerator WM_NVS_TYPE_UINT8
uint8_t
-
enumerator WM_NVS_TYPE_INT16
int16_t
-
enumerator WM_NVS_TYPE_UINT16
uint16_t
-
enumerator WM_NVS_TYPE_INT32
int32_t
-
enumerator WM_NVS_TYPE_UINT32
uint32_t
-
enumerator WM_NVS_TYPE_INT64
int64_t
-
enumerator WM_NVS_TYPE_UINT64
uint64_t
-
enumerator WM_NVS_TYPE_DOUBLE
float
-
enumerator WM_NVS_TYPE_ANY
Structures
-
typedef struct wm_nvs_entry_iterator_t *wm_nvs_iterator_t
iterator , handle for poll all nvs items
-
struct wm_nvs_entry_t
iterator entry information
-
struct wm_nvs_status_t
nvs status
Functions
-
int wm_nvs_init(void)
Initialize nvs.
- Attention
This API must be called before all other nvs API can be called
- 返回:
WM_ERR_SUCCESS: succeed
WM_ERR_NO_MEM: no memery
WM_ERR_FAILED: failed
-
int wm_nvs_get_str(const char *key, char *out_value, size_t *length)
Get string by key name.
- 参数:
key – [in] nvs name
out_value – [out] string data
length – [inout] input out_value buffer size, output real value size return WM_ERR_INVALID_PARAM if buf is not enough; “hello” need 6 bytes, the out_value will be: “hello”\0
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error or buffer is not enough
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_set_str(const char *key, const char *value)
Save string data.
- 参数:
key – [in] nvs name
value – [out] string data,must be end of \0
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_get_blob(const char *key, void *blob, size_t *blob_len)
Get binary data.
Notes: If blob is empty, blob_len returns the actual length to hold the data.
- 参数:
key – [in] nvs name
blob – [out] binary data
blob_len – [inout] binary data length
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error or buffer is not enough
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_set_blob(const char *key, const void *blob, size_t blob_len)
Save binary data.
- 参数:
key – [in] nvs name
blob – [in] binary data
blob_len – [in] binary data length
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_del(const char *key)
Delete the nvs data for the key.
- 参数:
key – [in] nvs name
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_reset(void)
reset nvs. It is usually called at factory settings, and the system is restarted after the nvs reset.
警告
Calling this interface will clear all data and cannot be recovered.
- 返回:
WM_ERR_SUCCESS: succeed
WM_ERR_FAILED: failed
-
void wm_nvs_print(void)
Show all nvs information.
- 返回:
None
-
int wm_nvs_set_i8(const char *key, int8_t value)
Save int8 data.
- 参数:
key – [in] nvs name
value – [in] int8 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_u8(const char *key, uint8_t value)
Save uint8 data.
- 参数:
key – [in] nvs name
value – [in] uint8 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_i16(const char *key, int16_t value)
Save int16 data.
- 参数:
key – [in] nvs name
value – [in] int16 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_u16(const char *key, uint16_t value)
Save uint16 data.
- 参数:
key – [in] nvs name
value – [in] uint16 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_i32(const char *key, int32_t value)
Save int32 data.
- 参数:
key – [in] nvs name
value – [in] int32 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_u32(const char *key, uint32_t value)
Save uint32 data.
- 参数:
key – [in] nvs name
value – [in] uint32 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_i64(const char *key, int64_t value)
Save int64 data.
- 参数:
key – [in] nvs name
value – [in] int64 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_u64(const char *key, uint64_t value)
Save uint64 data.
- 参数:
key – [in] nvs name
value – [in] uint64 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_set_float(const char *key, double value)
Save float data.
- 参数:
key – [in] nvs name
value – [in] float value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAILED save item fail
-
int wm_nvs_get_i8(const char *key, int8_t *out_value)
Get int8 data.
- 参数:
key – [in] nvs name
out_value – [out] int8 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_u8(const char *key, uint8_t *out_value)
Get uint8 data.
- 参数:
key – [in] nvs name
out_value – [out] uint8 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_i16(const char *key, int16_t *out_value)
Get int16 data.
- 参数:
key – [in] nvs name
out_value – [out] int16 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_u16(const char *key, uint16_t *out_value)
Get uint16 data.
- 参数:
key – [in] nvs name
out_value – [out] uint16 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_i32(const char *key, int32_t *out_value)
Get int32 data.
- 参数:
key – [in] nvs name
out_value – [out] int32 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_u32(const char *key, uint32_t *out_value)
Get uint32 data.
- 参数:
key – [in] nvs name
out_value – [out] uint32 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_i64(const char *key, int64_t *out_value)
Get int64 data.
- 参数:
key – [in] nvs name
out_value – [out] int64 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_u64(const char *key, uint64_t *out_value)
Get uint64 data.
- 参数:
key – [in] nvs name
out_value – [out] uint64 value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_get_float(const char *key, double *out_value)
Get float data.
- 参数:
key – [in] nvs name
out_value – [out] float value
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND item is not found
-
int wm_nvs_entry_find(const char *prefix, wm_nvs_type_t type, wm_nvs_iterator_t *output_iterator)
find iterator, used for poll all or specified items.
警告
It will lock API until iterater end. only wm_nvs_entry_next,wm_nvs_entry_info,wm_nvs_entry_data can use During the locking period. wm_nvs_entry_next called end or wm_nvs_release_iterator will unlock
- 参数:
prefix – [in] nvs key name prefix,NULL for all keys
type – [in] data type,WM_NVS_TYPE_ANY for all types
output_iterator – [out] iterator
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAIL fail
-
int wm_nvs_entry_next(wm_nvs_iterator_t *iterator)
change to next iterator
- 参数:
iterator – [inout] iterator to next item out iterator: ! NULL : next item NULL : iterator end, the memery is released, the mutex is unlocked.
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAIL iterator end or fail
-
int wm_nvs_entry_info(wm_nvs_iterator_t iterator, wm_nvs_entry_t *info)
get iterator info
- 参数:
iterator – [in] iterator
info – [out] iterator entry information
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAIL fail
-
int wm_nvs_entry_data(wm_nvs_iterator_t iterator, void *data, size_t *data_len)
get iterator data
- 参数:
iterator – [in] iterator
data – [out] iterator entry information
data_len – [inout] data len, input buffer len, output real len, return WM_ERR_INVALID_PARAM if input data_len is not enough
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_FAIL fail
-
int wm_nvs_release_iterator(wm_nvs_iterator_t iterator)
get iterator data
- 参数:
iterator – [in] iterator release memory and unlock
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
-
int wm_nvs_get_info(const char *key, wm_nvs_type_t *type, size_t *size)
get item type and size
- 参数:
key – [in] nvs item name
type – [out] data type
size – [out] data size
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error
WM_ERR_NOT_FOUND
-
int wm_nvs_get_status(wm_nvs_status_t *status)
get nvs status
- 参数:
status – [out] nvs status, wm_nvs_status_t
- 返回:
WM_ERR_SUCCESS on success
WM_ERR_INVALID_PARAM param error