BangleApps/apps/coretemp/coretemp.js

67 lines
2.5 KiB
JavaScript
Raw Normal View History

2021-12-19 17:09:43 +00:00
// Simply listen for core events and show data
2024-03-04 20:34:50 +00:00
//var btm = g.getHeight() - 1;
var px = g.getWidth() / 2;
// Dark or light logo
var col = (process.env.HWVERSION == 1) ? 65535 : 0;
2021-12-28 21:09:26 +00:00
var corelogo = {
2021-12-28 18:25:43 +00:00
width : 146,
height : 48,
bpp : 4,
transparent : 0,
palette : new Uint16Array([ col, col, 2854, 1419 ]),
2021-12-28 18:25:43 +00:00
buffer :
require("heatshrink")
.decompress(atob(
"AEUDmczmBD/I4xJ/AAMCkBHFAAJG8kQABJAJHFSVURAAUQRphHCkQGBJAySngJHDJRhHEJALZDAgiSBEQ0RPBIAKHAwQQI4xIEaoQFEEZpIULSRHFkDZDBwZIMEYhITa44SKSAxIDSARIDJ4IjKJCpHNEoiQGJDA2CJCQSOCYaQGJDBsCGiKQGTZIJCI4xBEJBAAEFpQAPDQoMGBQyOGIJJPGF6AALC5glCbJAQEgZCEAoowTSBypJBwKQMIQaSBAgZIJWw5ITB5RTDSBLbEAAjDOPRIVabIiQFJBCQKPYhIVCRxIEBg7WDSBpIVbJ5IQJIqQBgZIiCh7ZLJIriDbhJI3JoxIebIZITI6BIjCZ5IRI4RIPHAYAJJH4AIUAJIzHIhI/SAwzBJH6QGJH5HIHApI2HCIAJL4pITkATOJQJIMHCJeFJD8zaZCQHJCEBJCUCJCKPBJBhWGJEcia5oACJBSfHJB4QMJA6SLI4ZIKPAg3QJCUAJCbbBJETbPJAbbKbIhIBYJpIQbZ5UDbZzZFPBxIVSRIOBJA5JISAhIIF4ZIUfQpJHEwQKDJAhJHbJbBJJCIZECY4KGSQoABBIZOBSBbbIJC6IEBQqSJJoyQLbZBIRbYoAKJAaSHJAjbCF541RSRISLSRkgJAKQKbY5ISJJyQDSRyQMbYxITChhHFSRhGMbY5IUCpRHHJJZITiBIVbpBHJbpJHPFhBITfI4ANIwcgI6AAV"))
2021-12-28 18:26:45 +00:00
};
2021-12-13 16:00:56 +00:00
2021-12-28 18:26:45 +00:00
function onCore(c) {
// Large or small font
var sz = ((process.env.HWVERSION == 1) ? 3 : 2);
2021-12-28 18:26:45 +00:00
g.setFontAlign(0, 0);
g.clearRect(0, 32 + 48, g.getWidth(), 32 + 48 + 24 * 4);
g.setColor(g.theme.dark ? "#CCC" : "#333"); // gray
g.setFont("6x8", sz).drawString(
"Core: " + ((c.core < 327) ? (c.core + c.unit) : 'n/a'), px, 48 + 48);
g.setFont("6x8", sz).drawString("Skin: " + c.skin + c.unit, px, 48 + 48 + 24);
2021-12-28 18:26:45 +00:00
}
2021-12-28 21:09:26 +00:00
// Background task will activate once settings are enabled.
2021-12-28 21:09:26 +00:00
function enableSensor() {
settings = require("Storage").readJSON("coretemp.json", 1) || {};
if (!settings.enabled) {
settings.enabled = true;
require("Storage").write("coretemp.json", settings);
drawBackground("Waiting for\ndata...");
2021-12-28 21:09:26 +00:00
}
}
function drawBackground(message) {
g.clear();
Bangle.loadWidgets();
Bangle.drawWidgets();
g.reset().setFont("6x8", 2).setFontAlign(0, 0);
g.drawImage(corelogo, px - 146 / 2, 30);
g.drawString(message, g.getWidth() / 2, g.getHeight() / 2 + 16);
2021-12-28 21:09:26 +00:00
}
Bangle.on('CoreTemp', onCore);
settings = require("Storage").readJSON("coretemp.json", 1) || {};
if (!settings.enabled) {
drawBackground("Sensor off\nBTN" +
((process.env.HWVERSION == 1) ? '2' : '1') + " to enable");
} else {
drawBackground("Waiting for\ndata...");
}
2021-12-28 21:09:26 +00:00
setWatch(() => { enableSensor(); }, (process.env.HWVERSION == 1) ? BTN2 : BTN1,
{repeat : false});