Device Information Service
- group DIS
Device information service.
Device Information Service.
The Device Information Service exposes manufacturer and/or vendor information about a device. This module implements the Device Information Service. The Device Information Service may expose one or more of the characteristics. It can be configured in file dis_config.h.
Applications shall register device information service during initialization.
Sample code:
void app_le_profile_init(void) { dis_service_id = dis_add_service(app_profile_callback); }
When characteristic value was read, write or cccd updated by remote device, app_profile_callback will be called. Applications shall set DIS parameter value by call dis_set_parameter.
Sample code:
T_APP_RESULT app_profile_callback(T_SERVER_ID service_id, void *p_data) { ... if (dis_service_id == service_id) { T_DIS_CALLBACK_DATA *p_dis_cb_data = (T_DIS_CALLBACK_DATA *)p_data; switch (p_dis_cb_data->msg_type) { case SERVICE_CALLBACK_TYPE_READ_CHAR_VALUE: { if (p_dis_cb_data->msg_data.read_value_index == DIS_READ_MANU_NAME_INDEX) { const uint8_t dis_manufacture_name[] = "Realtek BT"; dis_set_parameter(DIS_PARAM_MANUFACTURER_NAME, sizeof(dis_manufacture_name), (void *)dis_manufacture_name); } else if (p_dis_cb_data->msg_data.read_value_index == DIS_READ_MODEL_NUM_INDEX) { const uint8_t dis_model_number[] = "Model Num 1.0"; dis_set_parameter(DIS_PARAM_MODEL_NUMBER, sizeof(dis_model_number), (void *)dis_model_number); } ... ... } break; default: break; } } }