68 lines
1.5 KiB
JavaScript
68 lines
1.5 KiB
JavaScript
// TODO Change to a generic multiple sensor widget?
|
|
|
|
(() => {
|
|
var settings = {};
|
|
var count = 0;
|
|
var core = 0;
|
|
|
|
// draw your widget
|
|
function draw() {
|
|
if (!settings.enabled)
|
|
return;
|
|
g.reset();
|
|
g.setFont("6x8", 1).setFontAlign(0, 0);
|
|
g.setFontAlign(0, 0);
|
|
g.clearRect(this.x, this.y, this.x + 23, this.y + 23);
|
|
|
|
if (count & 1) {
|
|
g.setColor("#0f0"); // green
|
|
} else {
|
|
g.setColor(g.theme.dark ? "#333" : "#CCC"); // off = grey
|
|
}
|
|
|
|
g.drawImage(
|
|
atob(
|
|
"GBgBAAHwAHP4A+f8B+4cH+4MH84cPwYcfAf4eAP4+AHi+AAO8AAe8AAe8AAe+AAG+AA4eAA8fAB8PgD4P8b4H/7wB/9gA/8AAP4A"),
|
|
this.x, this.y);
|
|
|
|
g.setColor(g.theme.fg);
|
|
g.drawString(core, this.x + 24 / 2, this.y + 19);
|
|
|
|
g.setColor(-1);
|
|
}
|
|
|
|
// Set a listener to 'blink'
|
|
function onTemp(temp) {
|
|
count = count + 1;
|
|
core = temp.core;
|
|
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();
|
|
})()
|