Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of X_NUCLEO_IDB0XA1 by
Diff: source/BlueNRGGap.cpp
- Revision:
- 239:8e93d6e26c55
- Parent:
- 238:b6454c839f42
- Child:
- 240:f487d8c86ce4
--- a/source/BlueNRGGap.cpp Tue Jun 14 14:45:08 2016 +0200 +++ b/source/BlueNRGGap.cpp Wed Jun 15 13:27:50 2016 +0200 @@ -642,31 +642,22 @@ @endcode */ /**************************************************************************/ -ble_error_t BlueNRGGap::disconnect(Gap::DisconnectionReason_t reason) +ble_error_t BlueNRGGap::disconnect(Handle_t connectionHandle, Gap::DisconnectionReason_t reason) { - /* avoid compiler warnings about unused variables */ - (void)reason; + tBleStatus ret; - tBleStatus ret; - //For Reason codes check BlueTooth HCI Spec - - if(m_connectionHandle != BLE_CONN_HANDLE_INVALID) { - ret = aci_gap_terminate(m_connectionHandle, 0x16);//0x16 Connection Terminated by Local Host. + ret = aci_gap_terminate(connectionHandle, reason); - if (BLE_STATUS_SUCCESS != ret){ - PRINTF("Error in GAP termination (ret=0x%x)!!\n\r", ret) ; - switch (ret) { - case ERR_COMMAND_DISALLOWED: - return BLE_ERROR_OPERATION_NOT_PERMITTED; - case BLE_STATUS_TIMEOUT: - return BLE_STACK_BUSY; - default: - return BLE_ERROR_UNSPECIFIED; - } + if (BLE_STATUS_SUCCESS != ret){ + PRINTF("Error in GAP termination (ret=0x%x)!!\n\r", ret) ; + switch (ret) { + case ERR_COMMAND_DISALLOWED: + return BLE_ERROR_OPERATION_NOT_PERMITTED; + case BLE_STATUS_TIMEOUT: + return BLE_STACK_BUSY; + default: + return BLE_ERROR_UNSPECIFIED; } - - //PRINTF("Disconnected from localhost!!\n\r") ; - m_connectionHandle = BLE_CONN_HANDLE_INVALID; } return BLE_ERROR_NONE; @@ -691,49 +682,24 @@ @endcode */ /**************************************************************************/ -ble_error_t BlueNRGGap::disconnect(Handle_t connectionHandle, Gap::DisconnectionReason_t reason) +ble_error_t BlueNRGGap::disconnect(Gap::DisconnectionReason_t reason) { - /* avoid compiler warnings about unused variables */ - (void)reason; - - tBleStatus ret; - //For Reason codes check BlueTooth HCI Spec - - if(connectionHandle != BLE_CONN_HANDLE_INVALID) { - ret = aci_gap_terminate(connectionHandle, 0x16);//0x16 Connection Terminated by Local Host. - - if (BLE_STATUS_SUCCESS != ret){ - PRINTF("Error in GAP termination (ret=0x%x)!!\n\r", ret) ; - switch (ret) { - case ERR_COMMAND_DISALLOWED: - return BLE_ERROR_OPERATION_NOT_PERMITTED; - case BLE_STATUS_TIMEOUT: - return BLE_STACK_BUSY; - default: - return BLE_ERROR_UNSPECIFIED; - } - } - - //PRINTF("Disconnected from localhost!!\n\r") ; - m_connectionHandle = BLE_CONN_HANDLE_INVALID; - } - - return BLE_ERROR_NONE; + return disconnect(m_connectionHandle, reason); } /**************************************************************************/ /*! @brief Sets the 16-bit connection handle - @param[in] con_handle + @param[in] conn_handle Connection Handle which is set in the Gap Instance @returns void */ /**************************************************************************/ -void BlueNRGGap::setConnectionHandle(uint16_t con_handle) +void BlueNRGGap::setConnectionHandle(uint16_t conn_handle) { - m_connectionHandle = con_handle; + m_connectionHandle = conn_handle; } /**************************************************************************/ @@ -771,7 +737,7 @@ @endcode */ /**************************************************************************/ -ble_error_t BlueNRGGap::setAddress(AddressType_t type, const Address_t address) +ble_error_t BlueNRGGap::setAddress(AddressType_t type, const BLEProtocol::AddressBytes_t address) { tBleStatus ret; @@ -787,8 +753,10 @@ CONFIG_DATA_PUBADDR_LEN, address); if(ret != BLE_STATUS_SUCCESS) { - return BLE_ERROR_UNSPECIFIED; + return BLE_ERROR_OPERATION_NOT_PERMITTED; } + } else { + return BLE_ERROR_OPERATION_NOT_PERMITTED; } return BLE_ERROR_NONE;