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 19:477567297aac, committed 2015-10-20
- Comitter:
- andresag
- Date:
- Tue Oct 20 13:41:38 2015 +0000
- Parent:
- 17:32973972d2dd
- Child:
- 20:fcc752d401ec
- Commit message:
- Updated BLE and mbed dependencies, also modified demo code to comply with changes to the API.
Changed in this revision
--- a/BLE_API.lib Thu Apr 02 18:30:24 2015 +0000 +++ b/BLE_API.lib Tue Oct 20 13:41:38 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/teams/Bluetooth-Low-Energy/code/BLE_API/#8c645f5694b2 +http://mbed.org/teams/Bluetooth-Low-Energy/code/BLE_API/#d494ad3e87bd
--- a/main.cpp Thu Apr 02 18:30:24 2015 +0000
+++ b/main.cpp Tue Oct 20 13:41:38 2015 +0000
@@ -1,8 +1,8 @@
#include "mbed.h"
-#include "BLEDevice.h"
+#include "ble/BLE.h"
-BLEDevice ble;
-DigitalOut led(LED1);
+BLE ble;
+DigitalOut led(LED1, 1);
uint16_t customServiceUUID = 0xA000;
uint16_t readCharUUID = 0xA001;
uint16_t writeCharUUID = 0xA002;
@@ -24,61 +24,62 @@
/*
* Restart advertising when phone app disconnects
-*/
-void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason)
+*/
+void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *)
{
- ble.startAdvertising();
+ ble.gap().startAdvertising();
}
-/*
+/*
* handle writes to writeCharacteristic
*/
-void writeCharCallback(const GattCharacteristicWriteCBParams *params)
+void writeCharCallback(const GattWriteCallbackParams *params)
{
// check to see what characteristic was written, by handle
- if(params->charHandle == writeChar.getValueHandle()) {
+ if(params->handle == writeChar.getValueHandle()) {
// toggle LED if only 1 byte is written
if(params->len == 1) {
led = params->data[0];
- (params->data[0] == 0x00) ? printf("\n\rled on ") : printf("\n\rled off "); // print led toggle
+ (params->data[0] == 0x00) ? printf("led on\n\r") : printf("led off\n\r"); // print led toggle
}
// print the data if more than 1 byte is written
else {
- printf("\n\r Data received: length = %d, data = 0x",params->len);
+ printf("Data received: length = %d, data = 0x",params->len);
for(int x=0; x < params->len; x++) {
- printf("%x",params->data[x]);
+ printf("%x", params->data[x]);
}
+ printf("\n\r");
}
// update the readChar with the value of writeChar
- ble.updateCharacteristicValue(readChar.getValueHandle(),params->data,params->len);
+ ble.updateCharacteristicValue(readChar.getValueHandle(), params->data,params->len);
}
}
/*
* main loop
-*/
+*/
int
main(void)
{
/* initialize stuff */
printf("\n\r********* Starting Main Loop *********\n\r");
ble.init();
- ble.onDisconnection(disconnectionCallback);
- ble.onDataWritten(writeCharCallback);
+ ble.gap().onDisconnection(disconnectionCallback);
+ ble.gattServer().onDataWritten(writeCharCallback);
/* setup advertising */
- ble.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); // BLE only, no classic BT
- ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); // advertising type
- ble.accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); // add name
- ble.accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); // UUID's broadcast in advertising packet
- ble.setAdvertisingInterval(100); // 100ms.
+ ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); // BLE only, no classic BT
+ ble.gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); // advertising type
+ ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); // add name
+ ble.gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); // UUID's broadcast in advertising packet
+ ble.gap().setAdvertisingInterval(100); // 100ms.
// add our custom service
ble.addService(customService);
// start advertising
- ble.startAdvertising();
-
+ ble.gap().startAdvertising();
+
// infinite loop waiting for BLE interrupt events
while (true) {
ble.waitForEvent(); //Save power
--- a/mbed.bld Thu Apr 02 18:30:24 2015 +0000 +++ b/mbed.bld Tue Oct 20 13:41:38 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/487b796308b0 \ No newline at end of file +http://mbed.org/users/mbed_official/code/mbed/builds/34e6b704fe68 \ No newline at end of file
--- a/nRF51822.lib Thu Apr 02 18:30:24 2015 +0000 +++ b/nRF51822.lib Tue Oct 20 13:41:38 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/teams/Nordic-Semiconductor/code/nRF51822/#bdc690669431 +http://mbed.org/teams/Nordic-Semiconductor/code/nRF51822/#088f5738bf18
