70 lines
2.5 KiB
JavaScript
70 lines
2.5 KiB
JavaScript
// Simply listen for core events and show data
|
|
|
|
Bangle.setLCDPower(1);
|
|
Bangle.setLCDTimeout(0);
|
|
|
|
var btm = g.getHeight() - 1;
|
|
var px = g.getWidth() / 2;
|
|
|
|
var corelogo = {
|
|
width : 146,
|
|
height : 48,
|
|
bpp : 4,
|
|
transparent : 0,
|
|
palette : new Uint16Array([ 65535, 65535, 2854, 1419 ]),
|
|
buffer :
|
|
require("heatshrink")
|
|
.decompress(atob(
|
|
"AEUDmczmBD/I4xJ/AAMCkBHFAAJG8kQABJAJHFSVURAAUQRphHCkQGBJAySngJHDJRhHEJALZDAgiSBEQ0RPBIAKHAwQQI4xIEaoQFEEZpIULSRHFkDZDBwZIMEYhITa44SKSAxIDSARIDJ4IjKJCpHNEoiQGJDA2CJCQSOCYaQGJDBsCGiKQGTZIJCI4xBEJBAAEFpQAPDQoMGBQyOGIJJPGF6AALC5glCbJAQEgZCEAoowTSBypJBwKQMIQaSBAgZIJWw5ITB5RTDSBLbEAAjDOPRIVabIiQFJBCQKPYhIVCRxIEBg7WDSBpIVbJ5IQJIqQBgZIiCh7ZLJIriDbhJI3JoxIebIZITI6BIjCZ5IRI4RIPHAYAJJH4AIUAJIzHIhI/SAwzBJH6QGJH5HIHApI2HCIAJL4pITkATOJQJIMHCJeFJD8zaZCQHJCEBJCUCJCKPBJBhWGJEcia5oACJBSfHJB4QMJA6SLI4ZIKPAg3QJCUAJCbbBJETbPJAbbKbIhIBYJpIQbZ5UDbZzZFPBxIVSRIOBJA5JISAhIIF4ZIUfQpJHEwQKDJAhJHbJbBJJCIZECY4KGSQoABBIZOBSBbbIJC6IEBQqSJJoyQLbZBIRbYoAKJAaSHJAjbCF541RSRISLSRkgJAKQKbY5ISJJyQDSRyQMbYxITChhHFSRhGMbY5IUCpRHHJJZITiBIVbpBHJbpJHPFhBITfI4ANIwcgI6AAV"))
|
|
};
|
|
|
|
function onCore(c) {
|
|
g.setFontAlign(0, 0);
|
|
g.clearRect(0, 32 + 48, g.getWidth(), 32 + 48 + 24 * 3);
|
|
g.setColor(g.theme.dark ? "#CCC" : "#333"); // gray
|
|
g.setFont("6x8", 3).drawString("Core: " + ((c.core<327)?(c.core + c.unit):'n/a'), px, 48 + 48);
|
|
g.setFont("6x8", 3).drawString("Skin: " + c.skin + c.unit, px, 48 + 48 + 24);
|
|
}
|
|
|
|
// Background task will activate once settings are enabled.
|
|
function enableSensor() {
|
|
settings = require("Storage").readJSON("coretemp.json", 1) || {};
|
|
|
|
if (!settings.enabled) {
|
|
settings.enabled = true;
|
|
require("Storage").write("coretemp.json", settings);
|
|
|
|
drawBackground();
|
|
Bangle.loadWidgets();
|
|
Bangle.drawWidgets();
|
|
}
|
|
}
|
|
|
|
function drawBackground() {
|
|
g.reset().setFont("6x8", 2).setFontAlign(0, 0);
|
|
|
|
g.clearRect(0, 24, g.getWidth(), g.getHeight() - 24);
|
|
g.drawImage(corelogo, px - 146 / 2, 30);
|
|
|
|
g.drawString("Please wait...\nWaiting for data", g.getWidth() / 2,
|
|
g.getHeight() / 2 + 16);
|
|
}
|
|
|
|
g.clear();
|
|
Bangle.loadWidgets();
|
|
Bangle.drawWidgets();
|
|
Bangle.on('CoreTemp', onCore);
|
|
|
|
settings = require("Storage").readJSON("coretemp.json", 1) || {};
|
|
g.clearRect(0, 24, g.getWidth(), g.getHeight() - 24);
|
|
|
|
if (!settings.enabled) {
|
|
g.reset().setFont("6x8", 2).setFontAlign(0, 0);
|
|
g.drawString("Sensor disabled,\nBTN2 to enable.", g.getWidth() / 2,
|
|
g.getHeight() / 2 - 16);
|
|
} else {
|
|
drawBackground();
|
|
}
|
|
|
|
setWatch(() => { enableSensor(); }, BTN2, {repeat : false});
|