51 lines
1.3 KiB
C
51 lines
1.3 KiB
C
/*
|
|
* Copyright (c) 2020, Armink, <armink.ztl@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @file
|
|
* @brief basic KV samples.
|
|
*
|
|
* basic Key-Value Database KV feature samples
|
|
* get and show currnet boot counts
|
|
*/
|
|
|
|
#include <flashdb.h>
|
|
|
|
#ifdef FDB_USING_KVDB
|
|
|
|
#define FDB_LOG_TAG "[sample][kvdb][basic]"
|
|
|
|
void kvdb_basic_sample(fdb_kvdb_t kvdb)
|
|
{
|
|
struct fdb_blob blob;
|
|
int boot_count = 0;
|
|
|
|
FDB_INFO("==================== kvdb_basic_sample ====================\n");
|
|
|
|
{ /* GET the KV value */
|
|
/* get the "boot_count" KV value */
|
|
fdb_kv_get_blob(kvdb, "boot_count", fdb_blob_make(&blob, &boot_count, sizeof(boot_count)));
|
|
/* the blob.saved.len is more than 0 when get the value successful */
|
|
if (blob.saved.len > 0) {
|
|
FDB_INFO("get the 'boot_count' value is %d\n", boot_count);
|
|
} else {
|
|
FDB_INFO("get the 'boot_count' failed\n");
|
|
}
|
|
}
|
|
|
|
{ /* CHANGE the KV value */
|
|
/* increase the boot count */
|
|
boot_count ++;
|
|
/* change the "boot_count" KV's value */
|
|
fdb_kv_set_blob(kvdb, "boot_count", fdb_blob_make(&blob, &boot_count, sizeof(boot_count)));
|
|
FDB_INFO("set the 'boot_count' value to %d\n", boot_count);
|
|
}
|
|
|
|
FDB_INFO("===========================================================\n");
|
|
}
|
|
|
|
#endif /* FDB_USING_KVDB */
|