forked from FOSS/BangleApps
70 lines
1.7 KiB
JavaScript
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();
|
|
})()
|