This repository is for Bluetooth Asia 2018 developer training, beacon session.

Dependencies:   microbit-dal

Fork of BluetoothAsiaBeaconClass by Kaiser Ren

Revision:
21:6512562f058d
Child:
22:4f919611ff42
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/beacon_src.txt	Wed Mar 14 09:19:49 2018 +0000
@@ -0,0 +1,68 @@
+/*  
+
+#include "MicroBit.h"
+
+MicroBit uBit;
+
+char URL[] = "http://www.bluetooth.com";
+
+// lvl : Pwr@ 1m : Pwr@ 0m
+//  0  :   -90   :   -49
+//  1  :   -78   :   -37
+//  2  :   -74   :   -33
+//  3  :   -69   :   -28 
+//  4  :   -66   :   -25 
+//  5  :   -61   :   -20 
+//  6  :   -56   :   -15 
+//  7  :   -51   :   -10 
+
+const int8_t CALIBRATED_POWERS[] = {-49, -37, -33, -28, -25, -20, -15, -10};
+
+uint8_t advertising = 0;
+uint8_t tx_power_level = 6;
+
+void startAdvertising() {
+    uBit.bleManager.advertiseEddystoneUrl(URL, CALIBRATED_POWERS[tx_power_level-1], false);
+    uBit.bleManager.setTransmitPower(tx_power_level);
+    uBit.display.scroll("ADV");
+    advertising = 1;
+}
+
+void stopAdvertising() {
+    uBit.bleManager.stopAdvertising();
+    uBit.display.scroll("OFF");
+    advertising = 0;
+}
+
+void onButtonA(MicroBitEvent)
+{
+    if (advertising == 1) {
+        return;
+    }
+    startAdvertising();
+}
+
+void onButtonB(MicroBitEvent)
+{
+    if (advertising == 0) {
+        return;
+    }
+    stopAdvertising();
+}
+
+int main()
+{
+    // Initialise the micro:bit runtime.
+    uBit.init();
+
+    uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);
+    uBit.messageBus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB);
+    
+    startAdvertising();
+    
+    release_fiber();
+}
+
+
+
+*/
\ No newline at end of file