Bugs fixed and simplified
Fixed bug in function drawClock: displayed time jumps from 11:50 to 12:59 to 12:07 Fixed bug in function drawClock: skipping 23 o'clock Simplified various parts & removed unreachable checksmaster
parent
e5493caa9d
commit
844b01c54d
|
|
@ -162,7 +162,6 @@ Math.mod = function (a, b) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
const delta = 2;
|
|
||||||
const sunrise = new Date().sunrise(lat, lon);
|
const sunrise = new Date().sunrise(lat, lon);
|
||||||
const sr = sunrise.getHours() + ':' + sunrise.getMinutes();
|
const sr = sunrise.getHours() + ':' + sunrise.getMinutes();
|
||||||
console.log('sunrise', sunrise);
|
console.log('sunrise', sunrise);
|
||||||
|
|
@ -176,25 +175,18 @@ const oy = h / 1.7;
|
||||||
|
|
||||||
let sunRiseX = 0;
|
let sunRiseX = 0;
|
||||||
let sunSetX = 0;
|
let sunSetX = 0;
|
||||||
const sinStep = 12;
|
const sinStep = 13;
|
||||||
|
|
||||||
function drawSinuses () {
|
function drawSinuses () {
|
||||||
let x = 0;
|
let x = 0;
|
||||||
|
|
||||||
g.setColor(0, 0, 0);
|
|
||||||
// g.fillRect(0,oy,w, h);
|
|
||||||
g.setColor(1, 1, 1);
|
g.setColor(1, 1, 1);
|
||||||
let y = oy;
|
let y = ypos(x);
|
||||||
for (i = 0; i < w; i++) {
|
while (x < w) {
|
||||||
x = i;
|
y2 = ypos(x);
|
||||||
x2 = x + sinStep + 1;
|
g.drawLine(x, y, x + sinStep, y2);
|
||||||
y2 = ypos(i);
|
|
||||||
if (x == 0) {
|
|
||||||
y = y2;
|
y = y2;
|
||||||
}
|
x += sinStep; // no need to draw all steps
|
||||||
g.drawLine(x, y, x2, y2);
|
|
||||||
y = y2;
|
|
||||||
i += sinStep; // no need to draw all steps
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// sea level line
|
// sea level line
|
||||||
|
|
@ -206,7 +198,6 @@ function drawSinuses () {
|
||||||
sunSetX = xfromTime(hh1) + (r / 2);
|
sunSetX = xfromTime(hh1) + (r / 2);
|
||||||
g.setColor(0, 0.5, 1);
|
g.setColor(0, 0.5, 1);
|
||||||
g.drawLine(0, sl0, w, sl1);
|
g.drawLine(0, sl0, w, sl1);
|
||||||
g.setColor(0, 0.5, 1);
|
|
||||||
g.drawLine(0, sl0 + 1, w, sl1 + 1);
|
g.drawLine(0, sl0 + 1, w, sl1 + 1);
|
||||||
/*
|
/*
|
||||||
g.setColor(0, 0, 1);
|
g.setColor(0, 0, 1);
|
||||||
|
|
@ -295,27 +286,19 @@ function drawClock () {
|
||||||
} else {
|
} else {
|
||||||
ypos = 32;
|
ypos = 32;
|
||||||
fhours = 24 * (pos / w);
|
fhours = 24 * (pos / w);
|
||||||
if (fhours > 23) {
|
|
||||||
fhours = 0;
|
|
||||||
}
|
|
||||||
const nexth = 24 * 60 * (pos / w);
|
const nexth = 24 * 60 * (pos / w);
|
||||||
fmins = 59 - ((24 * 60) - nexth) % 60;
|
fmins = 59 - ((24 * 60) - nexth) % 60;
|
||||||
if (fmins < 0) {
|
|
||||||
fmins = 0;
|
// this prevents the displayed time to jump from 11:50 to 12:59 to 12:07
|
||||||
|
if (fmins == 59) {
|
||||||
|
fhours--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fmins > 59) {
|
|
||||||
fmins = 59;
|
|
||||||
}
|
|
||||||
const hours = ((fhours < 10) ? '0' : '') + (0 | fhours);
|
const hours = ((fhours < 10) ? '0' : '') + (0 | fhours);
|
||||||
const mins = ((fmins < 10) ? '0' : '') + (0 | fmins);
|
const mins = ((fmins < 10) ? '0' : '') + (0 | fmins);
|
||||||
curTime = hours + ':' + mins;
|
curTime = hours + ':' + mins;
|
||||||
g.setFont('Vector', 30);
|
g.setFont('Vector', 30);
|
||||||
if (realTime) {
|
g.setColor(realTime, 1, 1);
|
||||||
g.setColor(1, 1, 1);
|
|
||||||
} else {
|
|
||||||
g.setColor(0, 1, 1);
|
|
||||||
}
|
|
||||||
g.drawString(curTime, w / 1.9, ypos);
|
g.drawString(curTime, w / 1.9, ypos);
|
||||||
// day-month
|
// day-month
|
||||||
if (realTime) {
|
if (realTime) {
|
||||||
|
|
@ -361,8 +344,6 @@ Bangle.on('lock', () => {
|
||||||
|
|
||||||
renderScreen();
|
renderScreen();
|
||||||
|
|
||||||
realPos = xfromTime((new Date()).getHours());
|
|
||||||
|
|
||||||
function initialAnimationFrame () {
|
function initialAnimationFrame () {
|
||||||
let distance = (realPos - curPos) / 4;
|
let distance = (realPos - curPos) / 4;
|
||||||
if (distance > 20) {
|
if (distance > 20) {
|
||||||
|
|
@ -371,10 +352,6 @@ function initialAnimationFrame () {
|
||||||
curPos += distance;
|
curPos += distance;
|
||||||
pos = curPos;
|
pos = curPos;
|
||||||
renderScreen();
|
renderScreen();
|
||||||
if (curPos >= realPos) {
|
|
||||||
frame = 0;
|
|
||||||
}
|
|
||||||
frames--;
|
|
||||||
if (frames-- > 0) {
|
if (frames-- > 0) {
|
||||||
setTimeout(initialAnimationFrame, 50);
|
setTimeout(initialAnimationFrame, 50);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue