/********************************************************************* * @fn simpleTopology_sendAttRsp * * @brief Send a pending ATT response message. * * @param none * * @return none */ static void simpleTopology_sendAttRsp(void) { // See if there's a pending ATT Response to be transmitted if (pAttRsp != NULL) { uint8_t status; // Increment retransmission count rspTxRetry++; // Try to retransmit ATT response till either we're successful or // the ATT Client times out (after 30s) and drops the connection. status = GATT_SendRsp(pAttRsp->connHandle, pAttRsp->method, &(pAttRsp->msg)); if ((status != blePending) && (status != MSG_BUFFER_NOT_AVAIL)) { // Disable connection event end notice HCI_EXT_ConnEventNoticeCmd(pAttRsp->connHandle, selfEntity, 0); // We're done with the response message simpleTopology_freeAttRsp(status); } else { // Continue retrying LCD_WRITE_STRING_VALUE("Rsp send retry:", rspTxRetry, 10, LCD_PAGE6); } } }
/********************************************************************* * @fn SimpleBLEPeripheral_sendAttRsp * * @brief Send a pending ATT response message. * * @param none * * @return none */ static void SimpleBLEPeripheral_sendAttRsp(void) { // See if there's a pending ATT Response to be transmitted if (pAttRsp != NULL) { uint8_t status; // Increment retransmission count rspTxRetry++; // Try to retransmit ATT response till either we're successful or // the ATT Client times out (after 30s) and drops the connection. status = GATT_SendRsp(pAttRsp->connHandle, pAttRsp->method, &(pAttRsp->msg)); if ((status != blePending) && (status != MSG_BUFFER_NOT_AVAIL)) { // Disable connection event end notice HCI_EXT_ConnEventNoticeCmd(pAttRsp->connHandle, selfEntity, 0); // We're done with the response message SimpleBLEPeripheral_freeAttRsp(status); } else { // Continue retrying Display_print1(dispHandle, 5, 0, "Rsp send retry: %d", rspTxRetry); } } }