update

Dependencies:   microbit

Fork of BluetoothWorldBeaconsClass by KEN OGAMI

Files at this revision

API Documentation at this revision

Comitter:
PEZAT
Date:
Tue Sep 26 07:34:31 2017 +0000
Parent:
6:7343c9b85d7f
Commit message:
Update Code

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 7343c9b85d7f -r a6a3137843c6 main.cpp
--- a/main.cpp	Thu Aug 03 18:25:18 2017 +0000
+++ b/main.cpp	Tue Sep 26 07:34:31 2017 +0000
@@ -2,12 +2,68 @@
 
 MicroBit uBit;
 
+//************************************************************************
+char URL[] = "https://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()
 {
- 
+//*****************************************************************************************
+    // Initialize 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);
+    
+    uBit.bleManager.advertise();  //First Advertisment, adv name only
+    
+    release_fiber();
+//****************************************************************************************** 
   
 }