/** **************************************************************************************** * @brief Handles reception of the @ref GATTC_DISC_CHAR_DESC_IND message. * This event can be received several times * @param[in] msgid Id of the message received (probably unused). * @param[in] param Pointer to the parameters of the message. * @param[in] dest_id ID of the receiving task instance (probably unused). * @param[in] src_id ID of the sending task instance. * @return If the message was consumed or not. **************************************************************************************** */ static int gattc_disc_char_desc_ind_handler(ke_msg_id_t const msgid, struct gattc_disc_char_desc_ind const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id) { // Get the address of the environment struct tipc_env_tag *tipc_env = PRF_CLIENT_GET_ENV(dest_id, tipc); // Retrieve CTS descriptors prf_search_descs(TIPC_DESC_CTS_MAX, &tipc_env->cts.descs[0], &tipc_cts_char_desc[0], param, tipc_env->last_char_code); return (KE_MSG_CONSUMED); }
/** **************************************************************************************** * @brief Handles reception of the @ref GATT_DISC_CHAR_DESC_CMP_EVT message. * This event can be received 2-4 times, depending if measurement interval has seevral properties. * @param[in] msgid Id of the message received (probably unused). * @param[in] param Pointer to the parameters of the message. * @param[in] dest_id ID of the receiving task instance (probably unused). * @param[in] src_id ID of the sending task instance. * @return If the message was consumed or not. **************************************************************************************** */ static int gatt_disc_char_desc_evt_handler(ke_msg_id_t const msgid, struct gatt_disc_char_desc_cmp_evt const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id) { // Get the address of the environment struct htpc_env_tag *htpc_env = PRF_CLIENT_GET_ENV(dest_id, htpc); // Retrieve HTS descriptors prf_search_descs(HTPC_DESC_HTS_MAX, &htpc_env->hts.descs[0], &htpc_hts_char_desc[0], param, htpc_env->last_char_code); return (KE_MSG_CONSUMED); }
/** **************************************************************************************** * @brief Handles reception of the @ref GATT_DISC_CHAR_DESC_CMP_EVT message. * This event can be received several times * @param[in] msgid Id of the message received (probably unused). * @param[in] param Pointer to the parameters of the message. * @param[in] dest_id ID of the receiving task instance (probably unused). * @param[in] src_id ID of the sending task instance. * @return If the message was consumed or not. **************************************************************************************** */ static int gatt_disc_char_desc_evt_handler(ke_msg_id_t const msgid, struct gatt_disc_char_desc_cmp_evt const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id) { // Get the address of the environment struct basc_env_tag *basc_env = PRF_CLIENT_GET_ENV(dest_id, basc); // Retrieve BAS descriptors prf_search_descs(BAS_DESC_MAX, &basc_env->bas[basc_env->last_svc_inst_req].descs[0], &basc_bas_char_desc[0], param, basc_env->last_char_code); return (KE_MSG_CONSUMED); }
/** **************************************************************************************** * @brief Handles reception of the @ref GATTC_DISC_CHAR_DESC_IND message. * @param[in] msgid Id of the message received (probably unused). * @param[in] param Pointer to the parameters of the message. * @param[in] dest_id ID of the receiving task instance (probably unused). * @param[in] src_id ID of the sending task instance. * @return If the message was consumed or not. **************************************************************************************** */ static int gattc_disc_char_desc_ind_handler(ke_msg_id_t const msgid, struct gattc_disc_char_desc_ind const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id) { // Get the address of the environment struct anpc_env_tag *anpc_env = PRF_CLIENT_GET_ENV(dest_id, anpc); if (anpc_env != NULL) { ASSERT_ERR(anpc_env->operation != NULL); ASSERT_ERR(((struct anpc_cmd *)anpc_env->operation)->operation == ANPC_ENABLE_OP_CODE); // Retrieve ANPS descriptors prf_search_descs(ANPC_DESC_MAX, &anpc_env->ans.descs[0], &anpc_ans_char_desc[0], param, anpc_env->last_req); } return (KE_MSG_CONSUMED); }
/** **************************************************************************************** * @brief Handles reception of the @ref GATT_DISC_CHAR_DESC_CMP_EVT message. * @param[in] msgid Id of the message received * @param[in] param Pointer to the parameters of the message. * @param[in] dest_id ID of the receiving task instance. * @param[in] src_id ID of the sending task instance. * @return If the message was consumed or not. **************************************************************************************** */ static int gatt_disc_char_desc_evt_handler(ke_msg_id_t const msgid, struct gatt_disc_char_desc_cmp_evt const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id) { // Get the address of the environment struct cscpc_env_tag *cscpc_env = PRF_CLIENT_GET_ENV(dest_id, cscpc); // Check if the environment exists if (cscpc_env != NULL) { ASSERT_ERR(cscpc_env->operation != NULL); ASSERT_ERR(((struct cscpc_cmd *)cscpc_env->operation)->operation == CSCPC_ENABLE_OP_CODE); // Retrieve CSCS descriptors prf_search_descs(CSCPC_DESC_MAX, &cscpc_env->cscs.descs[0], &cscpc_cscs_char_desc[0], param, cscpc_env->last_req); } // else drop the message return (KE_MSG_CONSUMED); }