1 /* 2 * Copyright (C) 2019-2020 Alibaba Group Holding Limited 3 */ 4 5 #ifndef _ALI_MODEL_LIGHT_CTL_SRV_H_ 6 #define _ALI_MODEL_LIGHT_CTL_SRV_H_ 7 8 #define CTL_TEMP_MIN 800 9 #define CTL_TEMP_MAX 20000 10 #define CTL_TEMP_DEFAULT CTL_TEMP_MAX 11 12 13 #define CTL_OPC_NUM 6 14 #define CTL_SETUP_OPC_NUM 5 15 #define CTL_TEMP_OPC_NUM 4 16 17 18 #define MESH_MODEL_CTL_SRV(_user_data) BT_MESH_MODEL(BT_MESH_MODEL_ID_LIGHT_CTL_SRV, \ 19 g_ctl_srv_op, &g_ctl_srv_pub, _user_data) 20 21 22 #define MESH_MODEL_CTL_SETUP_SRV(_user_data) BT_MESH_MODEL(BT_MESH_MODEL_ID_LIGHT_CTL_SETUP_SRV, \ 23 g_ctl_setup_srv_op, NULL, _user_data) 24 25 26 #define MESH_MODEL_CTL_TEMP_SRV(_user_data) BT_MESH_MODEL(BT_MESH_MODEL_ID_LIGHT_CTL_TEMP_SRV, \ 27 g_ctl_temp_srv_op, &g_ctl_srv_pub, _user_data) 28 29 30 #define MESH_MODEL_CTL_SRV_NULL() MESH_MODEL_CTL_SRV(NULL) 31 #define MESH_MODEL_CTL_SETUP_SRV_NULL() MESH_MODEL_CTL_SETUP_SRV(NULL) 32 #define MESH_MODEL_CTL_TEMP_SRV_NULL() MESH_MODEL_CTL_TEMP_SRV(NULL) 33 34 extern struct bt_mesh_model_pub g_ctl_srv_pub; 35 extern const struct bt_mesh_model_op g_ctl_srv_op[CTL_OPC_NUM]; 36 extern const struct bt_mesh_model_op g_ctl_setup_srv_op[CTL_SETUP_OPC_NUM]; 37 extern const struct bt_mesh_model_op g_ctl_temp_srv_op[CTL_TEMP_OPC_NUM]; 38 39 40 int ble_mesh_light_ctl_publication(struct bt_mesh_model *model); 41 42 43 #endif // 44