Removed deprecated native_posix as test platform. Added unique sim_ids for tests with the psa as a overlay. Fixed clang-format issues. Signed-off-by: Ingar Kulbrandstad <ingar.kulbrandstad@nordicsemi.no>
175 lines
4.2 KiB
C
175 lines
4.2 KiB
C
/*
|
|
* Copyright (c) 2017 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <zephyr/sys/printk.h>
|
|
#include <stdlib.h>
|
|
#include <zephyr/kernel.h>
|
|
|
|
#include <zephyr/shell/shell.h>
|
|
|
|
#include <zephyr/bluetooth/bluetooth.h>
|
|
#include <zephyr/bluetooth/mesh.h>
|
|
#include <zephyr/bluetooth/mesh/shell.h>
|
|
|
|
static struct bt_mesh_cfg_cli cfg_cli;
|
|
|
|
#if defined(CONFIG_BT_MESH_DFD_SRV)
|
|
static struct bt_mesh_dfd_srv dfd_srv;
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_SAR_CFG_CLI)
|
|
static struct bt_mesh_sar_cfg_cli sar_cfg_cli;
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_PRIV_BEACON_CLI)
|
|
static struct bt_mesh_priv_beacon_cli priv_beacon_cli;
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_SOL_PDU_RPL_CLI)
|
|
static struct bt_mesh_sol_pdu_rpl_cli srpl_cli;
|
|
#endif
|
|
|
|
|
|
#if defined(CONFIG_BT_MESH_OD_PRIV_PROXY_CLI)
|
|
static struct bt_mesh_od_priv_proxy_cli od_priv_proxy_cli;
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_LARGE_COMP_DATA_CLI)
|
|
struct bt_mesh_large_comp_data_cli large_comp_data_cli;
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_BRG_CFG_CLI)
|
|
static struct bt_mesh_brg_cfg_cli brg_cfg_cli;
|
|
#endif
|
|
|
|
BT_MESH_SHELL_HEALTH_PUB_DEFINE(health_pub);
|
|
|
|
static const struct bt_mesh_model root_models[] = {
|
|
BT_MESH_MODEL_CFG_SRV,
|
|
BT_MESH_MODEL_CFG_CLI(&cfg_cli),
|
|
BT_MESH_MODEL_HEALTH_SRV(&bt_mesh_shell_health_srv, &health_pub, health_srv_meta),
|
|
BT_MESH_MODEL_HEALTH_CLI(&bt_mesh_shell_health_cli),
|
|
#if defined(CONFIG_BT_MESH_DFD_SRV)
|
|
BT_MESH_MODEL_DFD_SRV(&dfd_srv),
|
|
#else
|
|
#if defined(CONFIG_BT_MESH_SHELL_DFU_SRV)
|
|
BT_MESH_MODEL_DFU_SRV(&bt_mesh_shell_dfu_srv),
|
|
#elif defined(CONFIG_BT_MESH_SHELL_BLOB_SRV)
|
|
BT_MESH_MODEL_BLOB_SRV(&bt_mesh_shell_blob_srv),
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_SHELL_DFU_CLI)
|
|
BT_MESH_MODEL_DFU_CLI(&bt_mesh_shell_dfu_cli),
|
|
#elif defined(CONFIG_BT_MESH_SHELL_BLOB_CLI)
|
|
BT_MESH_MODEL_BLOB_CLI(&bt_mesh_shell_blob_cli),
|
|
#endif
|
|
#endif /* CONFIG_BT_MESH_DFD_SRV */
|
|
#if defined(CONFIG_BT_MESH_SHELL_RPR_CLI)
|
|
BT_MESH_MODEL_RPR_CLI(&bt_mesh_shell_rpr_cli),
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_RPR_SRV)
|
|
BT_MESH_MODEL_RPR_SRV,
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_SAR_CFG_SRV)
|
|
BT_MESH_MODEL_SAR_CFG_SRV,
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_SAR_CFG_CLI)
|
|
BT_MESH_MODEL_SAR_CFG_CLI(&sar_cfg_cli),
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_OP_AGG_SRV)
|
|
BT_MESH_MODEL_OP_AGG_SRV,
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_OP_AGG_CLI)
|
|
BT_MESH_MODEL_OP_AGG_CLI,
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_LARGE_COMP_DATA_SRV)
|
|
BT_MESH_MODEL_LARGE_COMP_DATA_SRV,
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_LARGE_COMP_DATA_CLI)
|
|
BT_MESH_MODEL_LARGE_COMP_DATA_CLI(&large_comp_data_cli),
|
|
#endif
|
|
|
|
#if defined(CONFIG_BT_MESH_PRIV_BEACON_SRV)
|
|
BT_MESH_MODEL_PRIV_BEACON_SRV,
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_PRIV_BEACON_CLI)
|
|
BT_MESH_MODEL_PRIV_BEACON_CLI(&priv_beacon_cli),
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_OD_PRIV_PROXY_CLI)
|
|
BT_MESH_MODEL_OD_PRIV_PROXY_CLI(&od_priv_proxy_cli),
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_SOL_PDU_RPL_CLI)
|
|
BT_MESH_MODEL_SOL_PDU_RPL_CLI(&srpl_cli),
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_OD_PRIV_PROXY_SRV)
|
|
BT_MESH_MODEL_OD_PRIV_PROXY_SRV,
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_BRG_CFG_SRV)
|
|
BT_MESH_MODEL_BRG_CFG_SRV,
|
|
#endif
|
|
#if defined(CONFIG_BT_MESH_BRG_CFG_CLI)
|
|
BT_MESH_MODEL_BRG_CFG_CLI(&brg_cfg_cli),
|
|
#endif
|
|
};
|
|
|
|
static const struct bt_mesh_elem elements[] = {
|
|
BT_MESH_ELEM(0, root_models, BT_MESH_MODEL_NONE),
|
|
};
|
|
|
|
static const struct bt_mesh_comp comp = {
|
|
.cid = CONFIG_BT_COMPANY_ID,
|
|
.elem = elements,
|
|
.elem_count = ARRAY_SIZE(elements),
|
|
};
|
|
|
|
static void bt_ready(int err)
|
|
{
|
|
if (err && err != -EALREADY) {
|
|
printk("Bluetooth init failed (err %d)\n", err);
|
|
return;
|
|
}
|
|
|
|
printk("Bluetooth initialized\n");
|
|
|
|
err = bt_mesh_init(&bt_mesh_shell_prov, &comp);
|
|
if (err) {
|
|
printk("Initializing mesh failed (err %d)\n", err);
|
|
return;
|
|
}
|
|
|
|
if (IS_ENABLED(CONFIG_SETTINGS)) {
|
|
settings_load();
|
|
}
|
|
|
|
printk("Mesh initialized\n");
|
|
|
|
if (bt_mesh_is_provisioned()) {
|
|
printk("Mesh network restored from flash\n");
|
|
} else {
|
|
printk("Use \"prov pb-adv on\" or \"prov pb-gatt on\" to "
|
|
"enable advertising\n");
|
|
}
|
|
}
|
|
|
|
int main(void)
|
|
{
|
|
int err;
|
|
|
|
printk("Initializing...\n");
|
|
|
|
/* Initialize the Bluetooth Subsystem */
|
|
err = bt_enable(bt_ready);
|
|
if (err && err != -EALREADY) {
|
|
printk("Bluetooth init failed (err %d)\n", err);
|
|
}
|
|
|
|
printk("Press the <Tab> button for supported commands.\n");
|
|
printk("Before any Mesh commands you must run \"mesh init\"\n");
|
|
return 0;
|
|
}
|