1、发现服务是在与从机建立连接成功后进行的,DA14580建立成功后会调用user_on_connection( )函数。里面有个使能配置文件函数app_prf_enable( ),这个函数最终会调用user_sps_enable()。
void user_sps_enable(uint16_t conhdl)
{
struct sps_client_enable_req * req = KE_MSG_ALLOC(SPS_CLIENT_ENABLE_REQ, TASK_SPS_CLIENT, TASK_APP,sps_client_enable_req);
req->conhdl = conhdl;
req->con_type = PRF_CON_DISCOVERY;
ke_msg_send(req);
}
SPS_CLIENT_ENABLE_REQ, TASK_SPS_CLIENT, TASK_APP,sps_client_enable_req);
req->conhdl = conhdl;
req->con_type = PRF_CON_DISCOVERY;
ke_msg_send(req);
}
user_sps_enable() 函数将发送SPS_CLIENT_ENABLE_REQ消息,这个消息的回调函数是
sps_client_enable_req_handler( )
const struct ke_msg_handler sps_client_default_state[] =
{
{SPS_CLIENT_ENABLE_REQ, (ke_msg_func_t)sps_client_enable_req_handler},
{GAPC_DISCONNECT_IND, (ke_msg_func_t)gapc_disconnect_ind_handler},
{GATTC_CMP_EVT, (ke_msg_func_t)gattc_cmp_evt_handler},
};
{SPS_CLIENT_ENABLE_REQ, (ke_msg_func_t)sps_client_enable