1
0
Fork 0
BangleApps/apps/bootbthomebatt/boot.js

40 lines
985 B
JavaScript
Raw Normal View History

2024-06-26 17:53:59 +00:00
var btHomeBatterySequence = 0;
function advertiseBTHomeBattery() {
var advert = [ 0x40, /* BTHome Device Information
bit 0: "Encryption flag"
bit 1-4: "Reserved for future use"
bit 5-7: "BTHome Version" */
0x00, // Sequence number
btHomeBatterySequence,
0x01, // Battery, 8 bit
E.getBattery()
];
if(Array.isArray(Bangle.bleAdvert)){
var found = false;
for(var ad in Bangle.bleAdvert){
if(ad[0xFCD2]){
ad[0xFCD2] = advert;
found = true;
break;
}
}
if(!found)
Bangle.bleAdvert.push({ 0xFCD2: advert });
} else {
Bangle.bleAdvert[0xFCD2] = advert;
2024-06-26 17:01:18 +00:00
}
2024-06-26 17:53:59 +00:00
NRF.setAdvertising(Bangle.bleAdvert);
btHomeBatterySequence = (btHomeBatterySequence + 1) & 255;
}
if (!Bangle.bleAdvert) Bangle.bleAdvert = {};
setInterval(function() {
advertiseBTHomeBattery();
}, 300000); // update every 5 min
2024-06-26 17:01:18 +00:00
2024-06-26 17:53:59 +00:00
advertiseBTHomeBattery();