Bluetooth: Mesh: add Kconfig options for BLOB chunk size

The MBT server, as the MBT client currently sets the maximum chunk size
according to maximum supported segments in the accesss layer. This might
be suboptimal for some use cases.
The added Kconfig options give customers the option to fine tune it
themselves.

Future work will include addition of an API for the customer to modify
it also during runtime.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
This commit is contained in:
Kyra Lengfeld 2024-08-06 16:14:03 +02:00 committed by Henrik Brix Andersen
commit 0a7908588c
6 changed files with 52 additions and 15 deletions

View file

@ -895,6 +895,18 @@ config BT_MESH_BLOB_REPORT_TIMEOUT
help
The timer value that Pull BLOB Transfer Server uses to report missed chunks.
config BT_MESH_RX_BLOB_CHUNK_SIZE
depends on !BT_MESH_ALIGN_CHUNK_SIZE_TO_MAX_SEGMENT
int "BLOB Server chunk size"
default 8
range 8 377
help
Set the chunk size for the BLOB Server.
The actual maximum chunk size depends on how many segments are
possible and will be clamped to the max possible if set above.
see also: BT_MESH_RX_SEG_MAX,
and the maximum SDU a node can receive.
endif # BT_MESH_BLOB_SRV
menuconfig BT_MESH_BLOB_CLI
@ -911,11 +923,27 @@ config BT_MESH_BLOB_CLI_BLOCK_RETRIES
Controls the number of times the client will attempt to resend missing
chunks to the BLOB receivers for every block.
endif
config BT_MESH_TX_BLOB_CHUNK_SIZE
depends on !BT_MESH_ALIGN_CHUNK_SIZE_TO_MAX_SEGMENT
int "BLOB Client chunk size"
default 8
range 1 377
help
Set the chunk size for the BLOB Client.
The actual maximum chunk size depends on how many segments are
possible and will be clamped to the max possible if set above.
see also: BT_MESH_TX_SEG_MAX,
and the maximum SDU a node can receive.
endif # BT_MESH_BLOB_CLI
menu "BLOB models common configuration"
visible if BT_MESH_BLOB_SRV || BT_MESH_BLOB_CLI
config BT_MESH_ALIGN_CHUNK_SIZE_TO_MAX_SEGMENT
bool "Align chunk size to max segmented message size"
default y
config BT_MESH_BLOB_CHUNK_COUNT_MAX
int "Maximum chunk count per block"
default 256