1 /* 2 * Copyright (C) 2019-2020 Alibaba Group Holding Limited 3 */ 4 5 #include <stdint.h> 6 #include <genie_event.h> 7 #include <genie_service.h> 8 #include "port/mesh_event_port.h" 9 genie_mesh_model_event_cb(mesh_model_event_e event,void * p_arg)10void genie_mesh_model_event_cb(mesh_model_event_e event, void *p_arg) 11 { 12 genie_event_e genie_evt; 13 switch (event) { 14 case BT_MESH_MODEL_EVT_PROV_START: 15 { 16 genie_evt = GENIE_EVT_SDK_MESH_PROV_START; 17 } 18 break; 19 case BT_MESH_MODEL_EVT_PROV_DATA: 20 { 21 genie_evt = GENIE_EVT_SDK_MESH_PROV_DATA; 22 } 23 break; 24 25 case BT_MESH_MODEL_EVT_APPKEY_ADD: 26 { 27 genie_mesh_load_group_addr(); 28 genie_mesh_setup(); 29 genie_evt = GENIE_EVT_SDK_APPKEY_ADD; 30 } 31 break; 32 33 case BT_MESH_MODEL_EVT_APPKEY_UPDATE: 34 { 35 genie_evt = GENIE_EVT_SDK_APPKEY_UPDATE; 36 } 37 break; 38 39 case BT_MESH_MODEL_EVT_APPKEY_DEL: 40 { 41 genie_evt = GENIE_EVT_SDK_APPKEY_DEL; 42 } 43 break; 44 45 case BT_MESH_MODEL_EVT_NETKEY_ADD: 46 { 47 genie_evt = GENIE_EVT_SDK_NETKEY_ADD; 48 } 49 break; 50 51 case BT_MESH_MODEL_EVT_NETKEY_UPDATE: 52 { 53 genie_evt = GENIE_EVT_SDK_NETKEY_UPDATE; 54 } 55 break; 56 57 case BT_MESH_MODEL_EVT_NETKEY_DEL: 58 { 59 genie_evt = GENIE_EVT_SDK_NETKEY_DEL; 60 } 61 break; 62 63 case BT_MESH_MODEL_EVT_NODE_RESET_OP: 64 { 65 genie_evt = GENIE_EVT_SW_RESET; 66 } 67 break; 68 #if 0 69 case BT_MESH_MODEL_EVT_SEQ_UPDATE: 70 { 71 genie_evt = GENIE_EVT_SDK_SEQ_UPDATE; 72 } 73 break; 74 #endif 75 default: 76 return; 77 } 78 genie_event(genie_evt, p_arg); 79 return; 80 } 81 genie_mesh_port_init(void)82int genie_mesh_port_init(void) 83 { 84 bt_mesh_event_register(genie_mesh_model_event_cb); 85 return 0; 86 } 87 88