1
0
Fork 0
BangleApps/apps/coretemp/widget.js

70 lines
1.7 KiB
JavaScript

// TODO Change to generic multiple sensor
(() => {
var settings = {};
var count = 0;
var img0 = {
width : 24,
height : 24,
bpp : 4,
transparent : 0,
buffer :
require("heatshrink")
.decompress(atob(
"AA0IxGIBAtms0ABQOIwAKFsAWCDAkGBYQUCBwIKEBYgmBBYoHBC4oKDBAILECwRSFDQQLBsBLDBYg4CNYoKBwALGDQYLCQpALaF45jBBZBfJMIZ3GZgwkGZYibCDIMGWoILDWYbBDd4gMFWoTvFYYgAFEYYHDA=="))
};
var img1 = {
width : 24,
height : 24,
bpp : 3,
transparent : 0,
buffer :
require("heatshrink")
.decompress(atob(
"AAkCpMgAwYFBiVJkgHCAoMAyQIBwAIBAoMEyEABAUkBAkEBAdICIkBBAIdBBAcJEwo1BBAI4EAoJBEKAMAiAIEAAIvBLgosBBCYjFJQIIFKwJHFBARZFBwRrCNAKbCC4J0CpApFR4REGBAWShIxDPQSSCYogvEA="))
};
// draw your widget
function draw() {
if (!settings.enabled)
return;
g.reset();
g.setFontAlign(0, 0);
g.clearRect(this.x, this.y, this.x + 23, this.y + 23);
g.drawImage((count & 1) img1: img0, this.x, this.y);
}
// Set a listener to 'blink'
function onTemp(temp) {
count = count + 1;
WIDGETS["coretemp"].draw();
}
// Called by sensor app to update status
function reload() {
settings = require("Storage").readJSON("coretemp.json", 1) || {};
Bangle.removeListener('CoreTemp', onTemp);
if (settings.enabled) {
WIDGETS["coretemp"].width = 24;
Bangle.on('CoreTemp', onTemp);
} else {
WIDGETS["coretemp"].width = 0;
count = 0;
}
}
// add the widget
WIDGETS["coretemp"] = {
area : "tl",
width : 24,
draw : draw,
reload : function() {
reload();
Bangle.drawWidgets(); // relayout all widgets
}
};
// load settings, set correct widget width
reload();
})()