using calibrated powers for Eddystone
This commit is contained in:
parent
019b00209e
commit
c85b6f9507
@ -120,6 +120,7 @@ namespace bluetooth {
|
|||||||
registerWithDal(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, body);
|
registerWithDal(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, body);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const int8_t CALIBRATED_POWERS[] = {-49, -37, -33, -28, -25, -20, -15, -10};
|
||||||
/**
|
/**
|
||||||
* Advertise an Eddystone URL
|
* Advertise an Eddystone URL
|
||||||
* @param url the url to transmit. Must be no longer than the supported eddystone url length, eg: "https://pxt.io/"
|
* @param url the url to transmit. Must be no longer than the supported eddystone url length, eg: "https://pxt.io/"
|
||||||
@ -131,7 +132,7 @@ namespace bluetooth {
|
|||||||
//% help=bluetooth/advertise-url blockExternalInputs=1
|
//% help=bluetooth/advertise-url blockExternalInputs=1
|
||||||
void advertiseUrl(StringData* url, int power, bool connectable) {
|
void advertiseUrl(StringData* url, int power, bool connectable) {
|
||||||
power = min(MICROBIT_BLE_POWER_LEVELS-1, max(0, power));
|
power = min(MICROBIT_BLE_POWER_LEVELS-1, max(0, power));
|
||||||
int8_t level = MICROBIT_BLE_POWER_LEVEL[power];
|
int8_t level = CALIBRATED_POWERS[power];
|
||||||
uBit.bleManager.advertiseEddystoneUrl(ManagedString(url), level, connectable);
|
uBit.bleManager.advertiseEddystoneUrl(ManagedString(url), level, connectable);
|
||||||
uBit.bleManager.setTransmitPower(power);
|
uBit.bleManager.setTransmitPower(power);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user