/**@brief Function for creating a message for writing to the CCCD. */ static uint32_t cccd_configure(uint16_t conn_handle, uint16_t handle_cccd, bool notification_enable) { NRF_LOG_DEBUG("Configuring CCCD. CCCD Handle = %d, Connection Handle = %d", handle_cccd,conn_handle); tx_message_t * p_msg; uint16_t cccd_val = notification_enable ? BLE_GATT_HVX_NOTIFICATION : 0; p_msg = &m_tx_buffer[m_tx_insert_index++]; m_tx_insert_index &= TX_BUFFER_MASK; p_msg->req.write_req.gattc_params.handle = handle_cccd; p_msg->req.write_req.gattc_params.len = WRITE_MESSAGE_LENGTH; p_msg->req.write_req.gattc_params.p_value = p_msg->req.write_req.gattc_value; p_msg->req.write_req.gattc_params.offset = 0; p_msg->req.write_req.gattc_params.write_op = BLE_GATT_OP_WRITE_REQ; p_msg->req.write_req.gattc_value[0] = LSB_16(cccd_val); p_msg->req.write_req.gattc_value[1] = MSB_16(cccd_val); p_msg->conn_handle = conn_handle; p_msg->type = WRITE_REQ; tx_buffer_process(); return NRF_SUCCESS; }
/**@brief Function for handling write response events. * * @param[in] p_bas_c Pointer to the Battery Service Client Structure. * @param[in] p_ble_evt Pointer to the SoftDevice event. */ static void on_write_rsp(ble_bas_c_t * p_bas_c, const ble_evt_t * p_ble_evt) { // Check if there is any message to be sent across to the peer and send it. tx_buffer_process(); }
/**@brief Function for handling write response events. */ static void on_evt_write_rsp() { tx_buffer_process(); }
/**@brief Function for handling write response events. */ static void event_write_rsp(ble_ans_c_t * p_ans, const ble_evt_t * p_ble_evt) { tx_buffer_process(); }