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

Dependencies:   microbit-dal

Fork of BluetoothAsiaBeaconClass by Kaiser Ren

beacon_src.txt

Committer:
krenbluetoothsig
Date:
2018-03-14
Revision:
21:6512562f058d
Child:
22:4f919611ff42

File content as of revision 21:6512562f058d:

/*  

#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();
}



*/