/********************************************************************* * @fn controlBLECentralProcessGATTMsg * * @brief Process GATT messages * * @return none */ static void controlBLECentralProcessGATTMsg( gattMsgEvent_t *pMsg ) { if ( simpleBLEState != BLE_STATE_CONNECTED ) { // In case a GATT message came after a connection has dropped, // ignore the message return; } if ( ( pMsg->method == ATT_READ_RSP ) || ( ( pMsg->method == ATT_ERROR_RSP ) && ( pMsg->msg.errorRsp.reqOpcode == ATT_READ_REQ ) ) ) { if ( pMsg->method == ATT_ERROR_RSP ) { uint8 status = pMsg->msg.errorRsp.errCode; app_write_string("ATT_READ_RSP Read Error"); //LCD_WRITE_STRING_VALUE( "Read Error", status, 10, HAL_LCD_LINE_1 ); } else { // After a successful read, display the read value uint8 valueRead = pMsg->msg.readRsp.value[0]; app_write_string(" Read value is:"); app_write_string(uint8_to_string(valueRead)); //LCD_WRITE_STRING_VALUE( "Read rsp:", valueRead, 10, HAL_LCD_LINE_1 ); } simpleBLEProcedureInProgress = FALSE; } else if ( ( pMsg->method == ATT_WRITE_RSP ) || ( ( pMsg->method == ATT_ERROR_RSP ) && ( pMsg->msg.errorRsp.reqOpcode == ATT_WRITE_REQ ) ) ) { if ( pMsg->method == ATT_ERROR_RSP == ATT_ERROR_RSP ) { uint8 status = pMsg->msg.errorRsp.errCode; app_write_string("ATT_WRITE_RSP write Error"); LCD_WRITE_STRING_VALUE( "Write Error", status, 10, HAL_LCD_LINE_1 ); } else { app_write_string("write value is:"); app_write_string(uint8_to_string(simpleBLECharVal++)); // After a succesful write, display the value that was written and increment value //LCD_WRITE_STRING_VALUE( "Write sent:", simpleBLECharVal++, 10, HAL_LCD_LINE_1 ); } simpleBLEProcedureInProgress = FALSE; } else if ( simpleBLEDiscState != BLE_DISC_STATE_IDLE ) { simpleBLEGATTDiscoveryEvent( pMsg ); } }
/********************************************************************* * @fn simpleBLECentralProcessGATTMsg * * @brief Process GATT messages * * @return none */ static void simpleBLECentralProcessGATTMsg( gattMsgEvent_t *pMsg ) { if ( simpleBLEState != BLE_STATE_CONNECTED ) { // In case a GATT message came after a connection has dropped, // ignore the message return; } if ( ( pMsg->method == ATT_READ_RSP ) || ( ( pMsg->method == ATT_ERROR_RSP ) && ( pMsg->msg.errorRsp.reqOpcode == ATT_READ_REQ ) ) ) { if ( pMsg->method == ATT_ERROR_RSP ) { uint8 status = pMsg->msg.errorRsp.errCode; LCD_WRITE_STRING_VALUE( "Read Error", status, 10, HAL_LCD_LINE_1 ); } else { // After a successful read, display the read value uint8 valueRead = pMsg->msg.readRsp.value[0]; if (valueRead == 0x55) { P0_4 = 1; } #if 0 char strTemp[35] = {0}; sprintf(strTemp, "raad value = %d\r\n",valueRead); NPI_WriteTransport((uint8*)strTemp, osal_strlen(strTemp)); #endif LCD_WRITE_STRING_VALUE( "Read rsp:", valueRead, 10, HAL_LCD_LINE_1 ); } #if 0 char strTemp[35] = {0}; sprintf(strTemp, "raad process function\r\n"); NPI_WriteTransport((uint8*)strTemp, osal_strlen(strTemp)); #endif simpleBLEProcedureInProgress = FALSE; } else if ( ( pMsg->method == ATT_WRITE_RSP ) || ( ( pMsg->method == ATT_ERROR_RSP ) && ( pMsg->msg.errorRsp.reqOpcode == ATT_WRITE_REQ ) ) ) { if ( pMsg->method == ATT_ERROR_RSP == ATT_ERROR_RSP ) { uint8 status = pMsg->msg.errorRsp.errCode; LCD_WRITE_STRING_VALUE( "Write Error", status, 10, HAL_LCD_LINE_1 ); } else { // After a succesful write, display the value that was written and increment value LCD_WRITE_STRING_VALUE( "Write sent:", simpleBLECharVal++, 10, HAL_LCD_LINE_1 ); } simpleBLEProcedureInProgress = FALSE; } else if ( simpleBLEDiscState != BLE_DISC_STATE_IDLE ) { simpleBLEGATTDiscoveryEvent( pMsg ); } }