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 BLE_GATT_Example by
Revision 2:e84c13abc479, committed 2015-02-14
- Comitter:
- mbedAustin
- Date:
- Sat Feb 14 14:48:29 2015 +0000
- Parent:
- 1:94152e7d8b5c
- Child:
- 3:0fb60f81f693
- Commit message:
- further updates to the example program, still incomplete
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sat Feb 14 06:49:01 2015 +0000
+++ b/main.cpp Sat Feb 14 14:48:29 2015 +0000
@@ -12,6 +12,21 @@
const static char DEVICE_NAME[] = "MyDeviceName"; // change this
static const uint16_t uuid16_list[] = {0xFF}; //Custom UUID, FF is reserved for development
+// Set Up Characteristics
+static uint8_t readValue[1] = {0x00};
+GattCharacteristic readChar(0xAAAA /* read char UUID*/, readValue, sizeof(readValue), sizeof(readValue),
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY);
+
+static uint8_t writeValue[1] = {0x00};
+GattCharacteristic writeChar(0xBBBB /*write char UUID*/, writeValue, sizeof(writeValue), sizeof(writeValue),
+ GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_WRITE | GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_NOTIFY);
+
+GattCharacteristic *characteristics[] = {&readChar, &writeChar};
+
+// Set up custom service
+GattService customService(0x221D /*Service UUID*/, characteristics, sizeof(characteristics) / sizeof(GattCharacteristic *));
+
+
// Restart advertising when phone app disconnects
void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason)
{
@@ -23,7 +38,21 @@
main(void)
{
led = 0; // turn LED off
- ble.init(); // initialize BLE
+ ble.init();
+ ble.onDisconnection(disconnectionCallback);
+
+ /* setup advertising */
+ ble.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED);
+ ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED);
+ ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */
+ ble.startAdvertising(); // start advertising
+
+ ble.addService(customService); // Add our custom service to device
+
+ while (true) {
+ ble.waitForEvent(); //Save power
+ }
+
// TODO: impliment the rest of triggering for LED based on Write of characteristic.
// TODO: impliment a read characteristic that sends text back to app
