261 Commits

Author SHA1 Message Date
朱天龙 (Armink)
60f65550bc feat: Update software version to 2.1.99
Some checks failed
AutoTestCI / AutoTest (push) Has been cancelled
2025-12-23 08:42:26 +08:00
EzraZigenbine
8856961fa9 feat(TSDB): Added FDB_TSDB_FIXED_BLOB_SIZE compile-time option to reduce flash usage in fixed-size blob scenarios. (#387)
Some checks failed
AutoTestCI / AutoTest (push) Has been cancelled
When enabled, removes log_len and log_addr fields from log_idx_data
structure, saving 8 bytes per TSL entry. The log address is instead
calculated at runtime based on the TSL's position within the sector.

This optimization is ideal for applications logging fixed-size data
(e.g., single temperature as float + timestamp) where the 8-byte overhead per entry becomes
significant with large numbers of entries.

Changes:
- Conditionally exclude log_len/log_addr from log_idx_data struct
- Calculate log address dynamically in read_tsl() when enabled
- Add strict size validation in tsl_append()
- Maintain backward compatibility via conditional compilation
2025-12-17 19:25:34 +08:00
Leandro Lanzieri
b1043ed10d docs: fix return value of fdb_kv_get_blob (#377)
Some checks failed
AutoTestCI / AutoTest (push) Has been cancelled
2025-10-27 16:52:21 +08:00
armink
48351df976 [doc] Update the CN doc
Some checks failed
AutoTestCI / AutoTest (push) Has been cancelled
This reverts commit 89bd19ac3c.
2025-10-23 19:16:51 +08:00
ricky
f48f620815 [kvdb] 修复在align_write中 向下对齐等于0依然调用写入flash的现象 (#370)
Some checks failed
AutoTestCI / AutoTest (push) Has been cancelled
2025-09-12 15:40:14 +08:00
RiceChen
6710c6d57f [demo][linux] Change an ordinary lock to a recursive lock (#339)
Some checks failed
AutoTestCI / AutoTest (push) Has been cancelled
Co-authored-by: ricechen <rice.chen@queclink.com>
2024-12-30 12:32:36 +08:00
Rocky
d44118ca82 [fdb] Rename "fdb_cfg.h" to "fdb_cfg_template.h" in inc folder (#338)
Some checks failed
AutoTestCI / AutoTest (push) Has been cancelled
You need to rename the file to "fbd_cfg.h" and modify the configuration items in it to suit your use.
2024-12-26 12:19:32 +08:00
MGlolenstine
cf47f490bb [fdb] Fixed a bug with reversed arguments to the fwrite and fread functions for LIBC mode. (#333) 2024-12-25 09:30:34 +08:00
armink
89bd19ac3c [doc] Update the CN doc 2024-10-20 20:13:08 +08:00
Mason-Zhang-X-C
714d6159e7 [tsdb][read_sector_info]: fix flash overwrite when abnormal power loss (#316) 2.1.1 2024-10-06 13:45:40 +08:00
armink
f0af0eeda4 [fdb] Update the version number 2024-10-06 10:39:18 +08:00
armink
72a7905238 [kvdb] Improve the GC algorithm to solve the problem of failure to collection in some cases. 2024-10-05 22:53:52 +08:00
armink
92ed442cfc [test] update the autotest bsp and testcase to latest version 2024-09-17 22:48:37 +08:00
莫若麦香
fd08d7f323 [kvdb] fix null-pointer dereference (#314)
The C library function - strlen() does not accept a null-pointer.

Signed-off-by: FragrantRye <903465575@qq.com>
2024-09-15 16:32:07 +08:00
karthi012
523fd2052d zephyr: add flashdb as external module (#313)
added flashdb as zephyr external module

Signed-off-by: Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
2024-09-10 15:24:25 +08:00
Kenny Zhang
a8e8dcad64 [fdb_utils][_fdb_flash_write]: fix returned incorrect error code. (#300)
If user has set file mode, but file mode is disabled, _fdb_flash_write should return FDB_WRITE_ERR, not FDB_READ_ERR.
2024-07-26 09:44:36 +08:00
r0lsec
8f80336b89 [tsdb][read_sector_info]: fix read last valid tsl (#302)
Co-authored-by: wuchushun <wuchushun@kaadas.com>
2024-07-25 19:36:10 +08:00
Mr. Chip
60675db070 [fdb_kvdb] fix lock issue to fix block on first run (#295) 2024-05-10 15:27:33 +08:00
Anuj Deshpande
86d00aa5fd [fdb] Fixes to build for IDF w/o errors (#293) 2024-04-24 20:24:11 +08:00
Anuj Deshpande
77801ce3e4 Add support for building esp32 demo under IDF 5.x (#292) 2024-04-22 14:20:14 +08:00
shihang-zhang
24305a9c76 [kvdb] Clear cache before setting kv to default (#282)
* fix: clear cache.

* Update fdb_kvdb.c, remove sector cache clear.

---------

Co-authored-by: shihang zhang <shihang.zhang.ext@siemens.com>
2024-03-22 13:51:56 +08:00
guo
64b07d7c4c Update README_zh.md (#281) 2024-03-15 13:43:52 +08:00
_VIFEXTech
7dfed14304 [fdb_kvdb]: fix shadow warning (#272)
```bash
FlashDB/src/fdb_kvdb.c: In function ‘read_sector_info’:
FlashDB/src/fdb_kvdb.c:488:23: warning: declaration of ‘sector_cache’ shadows a previous local [-Wshadow]
  488 |         kv_sec_info_t sector_cache = get_sector_from_cache(db, sector->addr);
      |                       ^~~~~~~~~~~~
FlashDB/src/fdb_kvdb.c:421:19: note: shadowed declaration is here
  421 |     kv_sec_info_t sector_cache = get_sector_from_cache(db, addr);
      |                   ^~~~~~~~~~~~
```

Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
2024-01-02 13:55:00 +08:00
_VIFEXTech
760520564c [fdb_kvdb] fix runtime error (#271)
```bash
FlashDB/src/fdb_kvdb.c:288:83: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
```

Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
2024-01-01 18:25:13 +08:00
Oleg Hahm
0594fdc957 [kvdb] Initialize only status explicitly (#267)
Co-authored-by: Oleg Hahm <oleg@riot-os.org>
2023-12-08 16:40:45 +08:00
Oleg Hahm
86f5550e60 [fdb] close stream pointer via fclose() (#268)
Co-authored-by: Oleg Hahm <oleg@riot-os.org>
2023-12-08 16:38:51 +08:00
armink
c1226f337a [kvdb] update some log level. 2.1.0 2023-12-02 19:26:45 +08:00
armink
8056e17f29 [kvdb] remove unused lock. 2023-12-02 19:25:26 +08:00
armink
441d514da2 [fdb] update the version number to V2.1.0 2023-11-19 12:36:13 +08:00
armink
718f73fbe6 [fdb] Add file access cache in file mode. The GC speed is up 2X. 2023-11-19 12:34:43 +08:00
armink
189b22e0a4 [fdb] Improve the database lock uses in init function. 2023-11-19 12:32:30 +08:00
armink
cb84e2c41d [fdb] Improve FDB_ALIGN_DOWN macro. The align input parameter NOT depends on 2^N align number. 2023-11-19 11:34:48 +08:00
armink
5ebf8e6e8f [kvdb] Add kvdb inergrity check API. 2023-11-19 11:32:19 +08:00
armink
7e91b05483 [fdb] Add the lock in database init function. 2023-11-19 11:30:45 +08:00
armink
2dea1b2b88 [kvdb] Add more error logs. 2023-11-19 11:27:23 +08:00
armink
a2c442435c [kvdb] Improve the kvdb cache performance. The GC will be 8x faster in file mode. 2023-11-19 11:26:48 +08:00
armink
3dca512285 [kvdb] Improve the GC speed when in recovery mode. 2023-11-19 11:06:12 +08:00
_VIFEXTech
dc6121b448 [fdb] fix warning (#258)
Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
2023-11-12 13:27:43 +08:00
Valeriy Kucherenko
0d1b438947 Add ability to append TSDB value at specific timestamp (#256) 2023-11-09 19:27:52 +08:00
shihang-zhang
a208b1555b Fix invalid oldest address assignment (#255)
* fix: fix invalid oldest address assignment after gc the last traversed sector.
* feat: always update oldest address after sector GC.

---------

Co-authored-by: shihang zhang <shihang.zhang.ext@siemens.com>
2023-10-31 10:13:55 +08:00
tinic
7bdef5eab7 [fdb] Support 128bit write granularity for kvdb (#250)
* Support 128bit write granularity

The new stm32h5xx chips can only write quad words, i.e. 128bits.

* Update fdb_tsdb.c to include 128bit option
* Update fdb_cfg.h to include 64bit and 128bit option.
2023-10-17 10:01:43 +08:00
armink
12f3960307 [kvdb] Fix testcase error from #251 2023-10-16 21:25:01 +08:00
Lyon
7b2557f3e7 [kvdb] interrupt iteraotor when read_section_info fails (#251)
* interrupt iteraotor when read_section_info failed

* Update src/fdb_kvdb.c

Co-authored-by: 朱天龙 (Armink) <armink.ztl@gmail.com>

* Update src/fdb_kvdb.c

Co-authored-by: 朱天龙 (Armink) <armink.ztl@gmail.com>

---------

Co-authored-by: 朱天龙 (Armink) <armink.ztl@gmail.com>
2023-10-16 09:06:35 +08:00
armink
deae3d1d3f [fdb] Fixed build error. 2023-10-15 15:00:10 +08:00
armink
c02f3f8573 [fdb] Update the fdb file mode log. 2023-10-15 14:31:38 +08:00
armink
1c68317574 [tsdb] Improve fdb_tsl_query_count return value. Delete the tsl_append assert check. 2023-10-15 11:49:37 +08:00
armink
ab4c69f302 [fdb] Improve the fdb_kv_iterate. Only crc check OK kv will be iterated. 2023-10-15 11:46:28 +08:00
armink
5a8d7d0842 [fdb] Remove sector continuous mode assert check. It may trigger accidentally when db meta info has an error. 2023-10-15 11:36:50 +08:00
armink
1d2fc750f9 [kvdb] update the log 2023-10-15 11:24:56 +08:00
armink
c8dd4ebe63 [kvdb] Fixed an issue where KVDB may not be able to automatically recover under extreme circumstances 2023-10-15 11:22:13 +08:00