Hello Cypress BLE World:
I would like to know which Cypress BLE API function(s) is (are) required to acquire the UUIDs of the Services and the UUIDs and Handles of the Service Characteristics of a connected Client.
For example, the services of a Peripheral Server (implementing the Device Information Service and a Custom Service) are as listed below and includes the UUIDs of the Services (i.e. 180A and AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) and the UUIDs and Handles of the Service Characteristics (e.g. 2A25,000B and 11111111111111111111111111111111,0018):
Note: The Service Characteristics with duplicated UUIDS (i.e. 1’s and 3’s above) are those of Read Characteristics employing a Read and Notification that require a separate Handle for each.
Initially, I thought the function CyBle_GattcDiscoverAllPrimaryServices() was to be called while collecting the results in the CYBLE_EVT_GATTC_READ_BY_GROUP_TYPE_RSP event till completed as indicated by the CYBLE_EVT_GATTC_ERROR_RSP event as described on Page 156 of 558 of 'PSoC Creator Component Datasheet, Bluetooth Low Energy (BLE) 2.0' (Document Number: 001-97122 Rev. **).
However, calling CyBle_GattcDiscoverAllPrimaryServices() and collecting data in the CYBLE_EVT_GATTC_READ_BY_GROUP_TYPE_RSP event results in the following:
And the CYBLE_EVT_GATTC_ERROR_RSP event is never activated.
Is it possible that the function CyBle_GattcFindIncludedServices(), as described on Page 158 of 558, is to be called instead?
Unfortunately, as described in the document, there is a lot more work to be done to get that information and I would like to know if that is the function that is to be implemented before I spend a great deal of time coding, confirming, and testing it.
Is it possible that there is a function other than GattcDiscoverAllPrimaryServices() and CyBle_GattcFindIncludedServices() that should be used to get the connected Client Services and Service Characteristics UUIDs and Handles?