Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion inc/fdb_cfg_template.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

#ifdef FDB_USING_FAL_MODE
/* the flash write granularity, unit: bit
* only support 1(nor flash)/ 8(stm32f2/f4)/ 32(stm32f1)/ 64(stm32f7)/ 128(stm32h5) */
* only support 1(nor flash)/ 8(stm32f2/f4)/ 32(stm32f1)/ 64(stm32f7)/ 128(stm32h5)/ 256(stm32h7) */
#define FDB_WRITE_GRAN /* @note you must define it for a value */
#endif

Expand Down
13 changes: 8 additions & 5 deletions src/fdb_kvdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
#error "Please configure flash write granularity (in fdb_cfg.h)"
#endif

#if FDB_WRITE_GRAN != 1 && FDB_WRITE_GRAN != 8 && FDB_WRITE_GRAN != 32 && FDB_WRITE_GRAN != 64 && FDB_WRITE_GRAN != 128
#error "the write gran can be only setting as 1, 8, 32, 64 and 128"
#if FDB_WRITE_GRAN != 1 && FDB_WRITE_GRAN != 8 && FDB_WRITE_GRAN != 32 && FDB_WRITE_GRAN != 64 && FDB_WRITE_GRAN != 128 && FDB_WRITE_GRAN != 256
#error "the write gran can be only setting as 1, 8, 32, 64, 128 and 256"
#endif

/* magic word(`F`, `D`, `B`, `1`) */
Expand Down Expand Up @@ -109,6 +109,8 @@ struct sector_hdr_data {
uint32_t reserved;
#if (FDB_WRITE_GRAN == 64) || (FDB_WRITE_GRAN == 128)
uint8_t padding[4]; /**< align padding for 64bit and 128bit write granularity */
#elif (FDB_WRITE_GRAN == 256)
uint8_t padding[20]; /**< align padding for 256bit write granularity */
#endif
};
typedef struct sector_hdr_data *sector_hdr_data_t;
Expand All @@ -122,9 +124,10 @@ struct kv_hdr_data {
uint32_t value_len; /**< value length */
#if (FDB_WRITE_GRAN == 64)
uint8_t padding[4]; /**< align padding for 64bit write granularity */
#endif
#if (FDB_WRITE_GRAN == 128)
uint8_t padding[12]; /**< align padding for 128bit write granularity */
#elif (FDB_WRITE_GRAN == 128)
uint8_t padding[12]; /**< align padding for 128bit write granularity */
#elif (FDB_WRITE_GRAN == 256)
uint8_t padding[15]; /**< align padding for 256bit write granularity */
#endif
};
typedef struct kv_hdr_data *kv_hdr_data_t;
Expand Down
4 changes: 2 additions & 2 deletions src/fdb_tsdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@

#if defined(FDB_USING_TSDB)

#if (FDB_WRITE_GRAN == 64) || (FDB_WRITE_GRAN == 128)
#error "Flash 64 or 128 bits write granularity is not supported in TSDB yet!"
#if (FDB_WRITE_GRAN == 64) || (FDB_WRITE_GRAN == 128) || (FDB_WRITE_GRAN == 256)
#error "Flash 64 or 128 or 256 bits write granularity is not supported in TSDB yet!"
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The TSDB compile-time error string could be made clearer/grammatically correct (e.g. "Flash write granularities 64/128/256 bits are not supported in TSDB yet"). This helps users quickly understand which configurations are invalid.

Suggested change
#error "Flash 64 or 128 or 256 bits write granularity is not supported in TSDB yet!"
#error "Flash write granularities 64/128/256 bits are not supported in TSDB yet."

Copilot uses AI. Check for mistakes.
#endif

/* magic word(`T`, `S`, `L`, `0`) */
Expand Down