Bluetooth: Mesh: Update models metadata API

This commit updates models metadata API to simplify the usage and
removes the metadata pointer in health server model context.

Signed-off-by: Omkar Kulkarni <omkar.kulkarni@nordicsemi.no>
This commit is contained in:
Omkar Kulkarni 2024-04-09 17:15:21 +02:00 committed by Anas Nashif
commit 11eed84775
10 changed files with 112 additions and 39 deletions

View file

@ -10,6 +10,8 @@
#include <zephyr/bluetooth/hci.h>
#define LOG_MODULE_NAME mesh_test
#define COMPANY_ID_LF 0x05F1
#define COMPANY_ID_NORDIC_SEMI 0x05F9
#include <zephyr/logging/log.h>
LOG_MODULE_REGISTER(LOG_MODULE_NAME);
@ -162,6 +164,15 @@ static struct bt_mesh_health_srv health_srv;
static struct bt_mesh_model_pub health_pub = {
.msg = NET_BUF_SIMPLE(BT_MESH_TX_SDU_MAX),
};
static const uint8_t health_tests[] = {
BT_MESH_HEALTH_TEST_INFO(COMPANY_ID_LF, 6, 0x01, 0x02, 0x03, 0x04, 0x34, 0x15),
BT_MESH_HEALTH_TEST_INFO(COMPANY_ID_NORDIC_SEMI, 3, 0x01, 0x02, 0x03),
};
const struct bt_mesh_models_metadata_entry health_srv_meta[] = {
BT_MESH_HEALTH_TEST_INFO_METADATA(health_tests),
BT_MESH_MODELS_METADATA_END,
};
#if defined(CONFIG_BT_MESH_SAR_CFG)
static struct bt_mesh_sar_cfg_cli sar_cfg_cli;
@ -179,7 +190,7 @@ static const struct bt_mesh_model models[] = {
BT_MESH_MODEL_CFG_SRV,
BT_MESH_MODEL_CFG_CLI(&cfg_cli),
BT_MESH_MODEL_CB(TEST_MOD_ID, model_op, &pub, NULL, &test_model_cb),
BT_MESH_MODEL_HEALTH_SRV(&health_srv, &health_pub),
BT_MESH_MODEL_HEALTH_SRV(&health_srv, &health_pub, health_srv_meta),
#if defined(CONFIG_BT_MESH_SAR_CFG)
BT_MESH_MODEL_SAR_CFG_SRV,
BT_MESH_MODEL_SAR_CFG_CLI(&sar_cfg_cli),

View file

@ -86,7 +86,7 @@ static void test_args_parse(int argc, char *argv[])
bs_args_parse_all_cmd_line(argc, argv, args_struct);
}
static const struct bt_mesh_models_metadata_entry *dummy_meta_entry[] = {};
static const struct bt_mesh_models_metadata_entry dummy_meta_entry[1];
/* Empty elements to create large composition/meta data */
#define DUMMY_ELEM(i, _) BT_MESH_ELEM((i) + 2, \