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: BLE_API mbed nRF51822
Fork of BLE_PhysicalWeb by
Revision 6:31b65d4ea67d, committed 2014-11-28
- Comitter:
- rgrover1
- Date:
- Fri Nov 28 14:21:41 2014 +0000
- Parent:
- 5:e5b0bfe715d5
- Child:
- 7:6faec5978fb4
- Commit message:
- Implementation for URIBeacon2; ; https://github.com/google/uribeacon
Changed in this revision
--- a/BLE_API.lib Wed Nov 05 14:24:53 2014 +0000 +++ b/BLE_API.lib Fri Nov 28 14:21:41 2014 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/teams/Bluetooth-Low-Energy/code/BLE_API/#fede41ce9407 +http://mbed.org/teams/Bluetooth-Low-Energy/code/BLE_API/#933961a2ac6f
--- a/main.cpp Wed Nov 05 14:24:53 2014 +0000
+++ b/main.cpp Fri Nov 28 14:21:41 2014 +0000
@@ -16,31 +16,34 @@
#include "mbed.h"
#include "BLEDevice.h"
+#include "URIBeacon2Service.h"
+#include "DFUService.h"
+#include "DeviceInformationService.h"
BLEDevice ble;
-static const uint8_t BEACON_UUID[] = {0xD8, 0xFE};
-uint8_t urldata[] = {
- BEACON_UUID[0], BEACON_UUID[1],
- 0x00, // flags
- 0x20, // power
- 0x02, // http://
- 'm',
- 'b',
- 'e',
- 'd',
- 0x08, // .".org"
-};
+void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason)
+{
+ ble.startAdvertising();
+}
int main(void)
{
ble.init();
+ ble.onDisconnection(disconnectionCallback);
- ble.accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, BEACON_UUID, sizeof(BEACON_UUID));
- ble.accumulateAdvertisingPayload(GapAdvertisingData::SERVICE_DATA, urldata, sizeof(urldata));
+ URIBeacon2Service uriBeacon(ble, "http://developer.mbed.org");
+ if (!uriBeacon.configuredSuccessfully()) {
+ error("failed to accommodate URI");
+ }
+ /* optional use of the API offered by URIBeacon2Service */
+ uriBeacon.setTxPowerLevel(URIBeacon2Service::TX_POWER_MODE_LOW, -4);
+ uriBeacon.useTxPowerMode(URIBeacon2Service::TX_POWER_MODE_LOW);
- ble.setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED);
- ble.setAdvertisingInterval(1600); /* 1s; in multiples of 0.625ms. */
+ /* Setup auxiliary services. */
+ DFUService dfu(ble); /* To allow over-the-air firmware udpates. optional. */
+ DeviceInformationService deviceInfo(ble, "ARM", "URIBeacon2", "SN1", "hw-rev1", "fw-rev1", "soft-rev1"); /* optional */
+
ble.startAdvertising();
while (true) {
--- a/nRF51822.lib Wed Nov 05 14:24:53 2014 +0000 +++ b/nRF51822.lib Fri Nov 28 14:21:41 2014 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/teams/Nordic-Semiconductor/code/nRF51822/#61da91a52bd6 +http://mbed.org/teams/Nordic-Semiconductor/code/nRF51822/#9a5ba2c5d53c
