mirror of https://github.com/espruino/BangleApps
Have it average readings
After 10 consecutive readings it starts averaging the temp displayed from a FIFO cache. It slows down the responsiveness but delivers better figures over time instead of jumping degrees +/-.pull/1092/head
parent
9769934d71
commit
b192f75b55
|
@ -1,26 +1,25 @@
|
|||
function onTemperature(p) {
|
||||
function drawTemperature() {
|
||||
g.reset(1).clearRect(0,24,g.getWidth(),g.getHeight());
|
||||
g.setFont("6x8",2).setFontAlign(0,0);
|
||||
var x = g.getWidth()/2;
|
||||
var y = g.getHeight()/2 + 10;
|
||||
g.drawString("Temp", x, y - 45);
|
||||
g.setFontVector(70).setFontAlign(0,0);
|
||||
var t = require('locale').temp(p.temperature);
|
||||
var h = E.getTemperature();
|
||||
if (avg.length < 10) {
|
||||
avg[avg.length] = h;
|
||||
} else {
|
||||
avg.shift();
|
||||
avg[avg.length] = h;
|
||||
h = ((avg[0] + avg[1] + avg[2] + avg[3] + avg[4] + avg[5] + avg[6] + avg[7] + avg[8] + avg[9]) / 10);
|
||||
}
|
||||
var t = require('locale').temp(h);
|
||||
g.drawString(t, x, y);
|
||||
}
|
||||
|
||||
function drawTemperature() {
|
||||
onTemperature({
|
||||
temperature : E.getTemperature()
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
const avg = [];
|
||||
setInterval(function() {
|
||||
drawTemperature();
|
||||
}, 2000);
|
||||
drawTemperature();
|
||||
E.showMessage("Loading...");
|
||||
Bangle.loadWidgets();
|
||||
Bangle.drawWidgets();
|
||||
|
|
Loading…
Reference in New Issue