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.
Dependencies: nrf51-sdk
Dependents: microbit-dal microbit-ble-open microbit-dal-eddystone microbit-dal-ble-accelerometer-example ... more
Diff: btle/btle_discovery.h
- Revision:
- 243:a966506d1e5b
- Parent:
- 242:73fc02cc20b1
- Child:
- 244:57c98fe71376
diff -r 73fc02cc20b1 -r a966506d1e5b btle/btle_discovery.h
--- a/btle/btle_discovery.h Fri Jun 19 15:55:21 2015 +0100
+++ b/btle/btle_discovery.h Fri Jun 19 15:55:21 2015 +0100
@@ -110,9 +110,6 @@
static ServiceDiscovery *getSingleton(void);
-private:
- ble_error_t launchCharacteristicDiscovery(Gap::Handle_t connectionHandle, Gap::Handle_t startHandle, Gap::Handle_t endHandle);
-
public:
void terminate(void) {
sDiscoveryActive = false;
@@ -137,6 +134,50 @@
memset(characteristics, 0, sizeof(DiscoveredCharacteristic) * BLE_DB_DISCOVERY_MAX_CHAR_PER_SRV);
}
+ void serviceDiscoveryStarted(Gap::Handle_t connectionHandle) {
+ connHandle = connectionHandle;
+ resetDiscoveredServices();
+ sDiscoveryActive = true;
+ cDiscoveryActive = false;
+ }
+
+protected:
+ void characteristicDiscoveryStarted(Gap::Handle_t connectionHandle) {
+ connHandle = connectionHandle;
+ resetDiscoveredCharacteristics();
+ cDiscoveryActive = true;
+ sDiscoveryActive = false;
+ }
+
+protected:
+ ServiceDiscovery() {
+ /* empty */
+ }
+
+protected:
+ DiscoveredService services[BLE_DB_DISCOVERY_MAX_SRV]; /**< Information related to the current service being discovered.
+ * This is intended for internal use during service discovery. */
+ DiscoveredCharacteristic characteristics[BLE_DB_DISCOVERY_MAX_CHAR_PER_SRV];
+
+ uint16_t connHandle; /**< Connection handle as provided by the SoftDevice. */
+ uint8_t serviceIndex; /**< Index of the current service being discovered. This is intended for internal use during service discovery.*/
+ uint8_t numServices; /**< Number of services at the peers GATT database.*/
+ uint8_t characteristicIndex; /**< Index of the current characteristic being discovered. This is intended for internal use during service discovery.*/
+ uint8_t numCharacteristics; /**< Number of characteristics within the service.*/
+
+ bool sDiscoveryActive;
+ bool cDiscoveryActive;
+};
+
+class NordicServiceDiscovery : public ServiceDiscovery {
+public:
+ void setupDiscoveredServices(const ble_gattc_evt_prim_srvc_disc_rsp_t *response);
+ void setupDiscoveredCharacteristics(const ble_gattc_evt_char_disc_rsp_t *response);
+
+private:
+ ble_error_t launchCharacteristicDiscovery(Gap::Handle_t connectionHandle, Gap::Handle_t startHandle, Gap::Handle_t endHandle);
+
+public:
void progressCharacteristicDiscovery() {
while (cDiscoveryActive && (characteristicIndex < numCharacteristics)) {
/* THIS IS WHERE THE CALLBACK WILL GO */
@@ -181,45 +222,6 @@
}
}
- void serviceDiscoveryStarted(Gap::Handle_t connectionHandle) {
- connHandle = connectionHandle;
- resetDiscoveredServices();
- sDiscoveryActive = true;
- cDiscoveryActive = false;
- }
-
-private:
- void characteristicDiscoveryStarted(Gap::Handle_t connectionHandle) {
- connHandle = connectionHandle;
- resetDiscoveredCharacteristics();
- cDiscoveryActive = true;
- sDiscoveryActive = false;
- }
-
-protected:
- ServiceDiscovery() {
- /* empty */
- }
-
-protected:
- DiscoveredService services[BLE_DB_DISCOVERY_MAX_SRV]; /**< Information related to the current service being discovered.
- * This is intended for internal use during service discovery. */
- DiscoveredCharacteristic characteristics[BLE_DB_DISCOVERY_MAX_CHAR_PER_SRV];
-
- uint16_t connHandle; /**< Connection handle as provided by the SoftDevice. */
- uint8_t serviceIndex; /**< Index of the current service being discovered. This is intended for internal use during service discovery.*/
- uint8_t numServices; /**< Number of services at the peers GATT database.*/
- uint8_t characteristicIndex; /**< Index of the current characteristic being discovered. This is intended for internal use during service discovery.*/
- uint8_t numCharacteristics; /**< Number of characteristics within the service.*/
-
- bool sDiscoveryActive;
- bool cDiscoveryActive;
-};
-
-class NordicServiceDiscovery : public ServiceDiscovery {
-public:
- void setupDiscoveredServices(const ble_gattc_evt_prim_srvc_disc_rsp_t *response);
- void setupDiscoveredCharacteristics(const ble_gattc_evt_char_disc_rsp_t *response);
};
#endif /*_BTLE_DISCOVERY_H_*/
\ No newline at end of file