{
struct hal_ev_mesh_provision_status *ev = buf;
+ INFO("Mesh: Send provstatus callback");
if (bt_hal_mesh_cbacks->provisioning_status_cb)
bt_hal_mesh_cbacks->provisioning_status_cb(ev->status,
(bt_uuid_t*)&ev->net_uuid,
(bt_uuid_t*)&ev->dev_uuid);
+ INFO("Mesh: Done Sending provstatus callback");
}
static void __bt_hal_handle_network_provisioning_finished(void *buf, uint16_t len)
ev->data_len, ev->data);
}
+static void __bt_hal_handle_message_received_event(void *buf, uint16_t len)
+{
+ struct hal_ev_mesh_message_event *ev = buf;
+
+ if (bt_hal_mesh_cbacks->msg_cb)
+ bt_hal_mesh_cbacks->msg_cb((bt_uuid_t*)&ev->net_uuid,
+ ev->source_addr,
+ ev->dest_addr, ev->key_idx,
+ ev->data_len, ev->data);
+}
+
static void __bt_hal_handle_mesh_events(int message, void *buf, uint16_t len)
{
DBG("+");
__bt_hal_handle_network_scan_result(buf, len);
break;
case HAL_EV_MESH_PROVISIONING_STATUS:
- DBG("Mesh Event: HAL_EV_MESH_SCAN_RESULT");
+ DBG("Mesh Event: HAL_EV_MESH_PROVISIONING_STATUS");
__bt_hal_handle_network_provisioning_status(buf, len);
break;
case HAL_EV_MESH_PROVISIONING_FINISHED:
DBG("Mesh Event: HAL_EV_MESH_DEVKEY_MESSAGE_EVENT");
__bt_hal_handle_devkey_message_received_event(buf, len);
break;
+ case HAL_EV_MESH_MESSAGE_EVENT:
+ DBG("Mesh Event: HAL_EV_MESH_MESSAGE_EVENT");
+ __bt_hal_handle_message_received_event(buf, len);
+ break;
default:
DBG("Mesh Event Currently not handled!!");
break;
key_idx, netkey_idx);
}
+static bt_status_t mesh_model_execute_message(bt_uuid_t *network,
+ uint16_t dest, uint16_t appkey_idx, uint8_t *buf,
+ int len)
+{
+ DBG("");
+ return _bt_hal_mesh_model_execute_message(network, dest,
+ appkey_idx, buf, len);
+}
+
static bt_status_t init(btmesh_callbacks_t *callbacks)
{
DBG("");
_bt_hal_mesh_unregister_dbus_handler_cb();
_bt_hal_unregister_event_handler_cb(HAL_MESH);
+ _bt_hal_mesh_stack_deinit();
+
bt_hal_mesh_cbacks = NULL;
}
.appkey_execute = mesh_network_appkey_operation,
.config_send = mesh_send_configuration_message,
.key_send = mesh_key_configuration_message,
+ .msg_execute = mesh_model_execute_message,
.cleanup = cleanup
};