Demo program for the SimpleBLE library - Library that exposes BLE characteristics as ordinary variables.

Dependencies:   SimpleBLE mbed nRF51822

This is an example program for SimpleBLE, a library targeted at workshops and hackathons that makes building Bluetooth Low Energy devices a lot simpler.

For more information and the API, see the SimpleBLE homepage or read the announcement blog post.

For the mbed OS 5 version (with nRF52-DK support), see SimpleBLE-Example-mbedos5.

Revision:
2:12a235e7691a
Parent:
0:ba1c49874d3c
Child:
3:e439dd384d7e
--- a/main.cpp	Tue May 17 18:32:31 2016 +0000
+++ b/main.cpp	Tue May 17 19:34:03 2016 +0000
@@ -1,26 +1,23 @@
-/**
- * This is an example program that's using the SimpleBLE library
- * to expose some variables to the outside world using BLE.
- * Written by Jan Jongboom (jan.jongboom@arm.com)
- */
-
 #include "mbed.h"
 #include "SimpleBLE.h"
 
+DigitalOut led(LED1);
+
 // The first thing we need to do is create a SimpleBLE instance:
 // * first argument is the device name
 // * second is the advertisement interval in ms. (default 1000 ms.)
-SimpleBLE ble("DEVICE_NAME", 1000);
+SimpleBLE ble("DEVICE_NAME");
 
 // Now we can declare some variables that we want to expose.
 // After you created the variable you can use it like any other var,
 // but it's value will be automatically updated over Bluetooth!
 
 // F.e. here we declare service 0x180d (heartrate), char 0x2a37 (curr. value) as uint8_t
-SimpleChar<uint8_t> heartrate = ble.readOnly<uint8_t>(0x180D, 0x2A37, true /* notify */, 100 /* default value */);
+SimpleChar<uint8_t> heartrate = ble.readOnly_u8(0x180D, 0x2A37, true /* notify */, 100 /* default value */);
 
 // now we can use this variable everywhere in our code like a normal uint8_t
 void updateHeartrate() {
+      led = !led; // keep-alive LED
     // we just loop between 100 and 180
     heartrate = heartrate + 1;
     if (heartrate > 180) {
@@ -34,7 +31,7 @@
     printf("My value was updated to %d\n", newValue);
 }
 // FYI, you can also use UUIDs here instead of short services :-)
-SimpleChar<uint32_t> writeMe = ble.readWrite<uint32_t>(0x9310, 0x9311, &callback);
+SimpleChar<uint32_t> writeMe = ble.readWrite_u32(0x9310, 0x9311, &callback);
 
 int main(int, char**) {
     // update the heart rate every second