static tc_params_t g_test_param = {0,};
static bt_mesh_node_h local_node = NULL;
-static bt_mesh_node_h node;
+static bt_mesh_node_h g_node;
static bt_mesh_network_h network;
static char *device_uuid;
-static bt_mesh_netkey_h netkey;
-
static char *token;
static bt_mesh_authentication_type_e request_type = BT_MESH_AUTH_ALPHANUMERIC_DISPLAY;
, BT_MESH_UNIT_TEST_FUNCTION_MODEL_SET_PUBLICATION},
{"bt_mesh_model_get_publication"
, BT_MESH_UNIT_TEST_FUNCTION_MODEL_GET_PUBLICATION},
+ {"bt_mesh_model_send_msg"
+ , BT_MESH_UNIT_TEST_FUNCTION_MODEL_SEND_MSG},
{"bt_mesh_appkey_get_netkey"
, BT_MESH_UNIT_TEST_FUNCTION_APPKEY_GET_NETKEY},
{"select this menu to set parameters and then select the function again"
//print_network_handle(network);
print_node_handle(node_param);
if (result == BT_ERROR_NONE)
- node = node_param;
+ g_node = node_param;
}
static bool __bt_mesh_elem_foreach_model_cb(int result, bt_mesh_element_h element, int total,
TC_PRT("AppKey Updated!");
else
TC_PRT("AppKey Deleted!");
- print_appkey_handle(netkey);
+ print_netkey_handle(netkey);
print_appkey_handle(appkey);
}
}
TC_PRT("result: %s", __bt_get_error_message(result));
if (result == BT_ERROR_NONE) {
print_model_handle(model);
- print_appkey_handle(netkey);
+ print_appkey_handle(appkey);
+ }
+}
+
+void __bt_mesh_model_msg_cb(int result, bt_mesh_element_h element, bt_mesh_appkey_h appkey,
+ bt_mesh_model_msg_params_s *msg, void *user_data)
+{
+ TC_PRT("bt_mesh_model_msg_cb");
+ TC_PRT("result: %s", __bt_get_error_message(result));
+ if (result == BT_ERROR_NONE) {
+ TC_PRT("opcode: 0X%2.2X", msg->opcode);
+ TC_PRT("msg: %s", msg->data);
+ print_element_handle(element);
+ print_appkey_handle(appkey);
}
}
TC_PRT("result: %s", __bt_get_error_message(result));
if (result == BT_ERROR_NONE) {
print_model_handle(model);
- print_appkey_handle(netkey);
+ print_appkey_handle(appkey);
}
}
param_count = 1;
TC_PRT("Input param(%d) (Model Handle)\n", param_index + 1);
break;
+ case BT_MESH_UNIT_TEST_FUNCTION_MODEL_SEND_MSG:
+ param_count = 4;
+ switch(param_index) {
+ case 0:
+ TC_PRT("Input param(%d) (Model Handle)\n", param_index + 1);
+ break;
+ case 1:
+ TC_PRT("Input param(%d) (Appkey Handle)\n", param_index + 1);
+ break;
+ case 2:
+ TC_PRT("Input param(%d) (opcode)\n", param_index + 1);
+ break;
+ case 3:
+ TC_PRT("Input param(%d) (Message)\n", param_index + 1);
+ break;
+ }
+ break;
case BT_MESH_UNIT_TEST_FUNCTION_MODEL_SET_PUBLICATION:
param_count = 3;
switch(param_index) {
TC_PRT("return %s\n", __bt_get_error_message(ret));
break;
}
+ case BT_MESH_UNIT_TEST_FUNCTION_MODEL_SEND_MSG: {
+ bt_mesh_model_h model_h = NULL;
+ bt_mesh_appkey_h appkey_h = NULL;
+ bt_mesh_model_msg_params_s *msg_params = NULL;
+ if (g_test_param.param_count != 4) {
+ TC_PRT("Set Input parameter first!");
+ break;
+ }
+ model_h = GUINT_TO_POINTER(strtoul(g_test_param.params[0], NULL, 16));
+ appkey_h = GUINT_TO_POINTER(strtoul(g_test_param.params[1], NULL, 16));
+ msg_params = g_malloc0(sizeof(bt_mesh_model_msg_params_s));
+ msg_params->opcode = strtoul(g_test_param.params[2], NULL, 16);
+ msg_params->data = "0101010101010101010101010100101010";
+ msg_params->data = g_strdup(g_test_param.params[3]);
+ TC_PRT("Input parameters");
+ print_model_handle(model_h);
+ print_appkey_handle(appkey_h);
+ TC_PRT("opcode 0X%4.4X", msg_params->opcode);
+ TC_PRT("Message to be sent %s", msg_params->data);
+ ret = bt_mesh_model_send_msg(model_h, appkey_h, msg_params,
+ __bt_mesh_model_msg_cb, NULL);
+ TC_PRT("return %s\n", __bt_get_error_message(ret));
+ break;
+ }
case BT_MESH_UNIT_TEST_FUNCTION_APPKEY_GET_NETKEY: {
bt_mesh_appkey_h appkey_h = 0;
bt_mesh_netkey_h netkey_h;