Add files via upload

Added night mode
master
yngv27 2020-07-17 14:58:08 -04:00 committed by GitHub
parent 229fd1c672
commit 8babc1ecf4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 54 additions and 43 deletions

View File

@ -1,4 +1,3 @@
g.clear();
require("Font8x12").add(Graphics);
@ -9,7 +8,11 @@ let stepCounter = 0;
let msgs = require("Storage").readJSON('yngv27.msgs.json');
let alarms = require("Storage").readJSON('yngv27.alarm.json');
let alarming = false;
let nightMode = false;
function showMsg(msg) {
alarming = true;
g.setFontAlign(0,-1);
g.setColor(1,1,1);
g.drawString("<< ALARM >>", 120, 180, true);
@ -214,9 +217,7 @@ let points5 = [
79, 0,
];
function drawPoints(points, x0, y0) {
let x = points[0]*xs+x0, y = points[1]*ys+y0;
//g.drawEllipse(x-2, y-2, x+2, y+2);
g.moveTo(x, y);
@ -228,13 +229,14 @@ function drawPoints(points, x0, y0) {
}
}
/* create 5 from 2 , and 9 from 6 */
/* nope, we have a better 5; less authentic, but whatev
/* create 5 from 2 */
/* uncomment if you want the 5 to look more authentic (but uglier)
for (let idx=0; idx*2 < points2.length; idx++) {
points5[idx*2] = points2[idx*2];
points5[idx*2+1] = 99-points2[idx*2+1];
}
*/
/* create 9 from 6 */
for (let idx=0; idx*2 < points6.length; idx++) {
points9[idx*2] = 79-points6[idx*2];
points9[idx*2+1] = 99-points6[idx*2+1];
@ -243,10 +245,13 @@ for (let idx=0; idx*2 < points6.length; idx++) {
pointsArray = [points0, points1, points2, points3, points4, points5, points6, points7, points8, points9];
function eraseDigit(d, x, y) {
// first time draw
if(d < 0) return;
g.setColor("#000000");
drawPoints(pointsArray[d], x-2, y-2);
if(nightMode) {
drawPoints(pointsArray[d], x, y);
return;
}
drawPoints(pointsArray[d], x-2, y-2);
drawPoints(pointsArray[d], x+2, y-2);
drawPoints(pointsArray[d], x-2, y+2);
drawPoints(pointsArray[d], x+2, y+2);
@ -257,13 +262,14 @@ function eraseDigit(d, x, y) {
}
function drawDigit(d, x, y) {
//g.drawEllipse(20+4*xs, 20, 20+(72 * xs), 20+(40*ys));
//g.drawEllipse(20, 20+(40*ys), 20+(80 * xs), 20+(99*ys));
//g.drawEllipse(20, 20, 20+(79 * xs), 20+(99*ys));
if(nightMode) {
g.setColor("#206040");
drawPoints(pointsArray[d], x, y);
return;
}
g.setColor("#202020");
for (let idx = pointsArray.length - 1; idx >= 0 ; idx--) {
if(idx == d) {
g.setColor("#FF0000");
drawPoints(pointsArray[d], x-2, y-2);
drawPoints(pointsArray[d], x+2, y-2);
@ -274,7 +280,7 @@ function drawDigit(d, x, y) {
drawPoints(pointsArray[d], x+1, y-1);
drawPoints(pointsArray[d], x-1, y+1);
drawPoints(pointsArray[d], x+1, y+1);
g.setColor("#FFC000");
drawPoints(pointsArray[d], x, y);
@ -283,12 +289,11 @@ function drawDigit(d, x, y) {
drawPoints(pointsArray[idx], x, y);
}
}
}
function drawTime() {
const mstr="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC";
let d = new Date();
let hour = d.getHours();
let minute = d.getMinutes();
@ -303,7 +308,7 @@ function drawTime() {
if(h1 == prevH1 && h2 == prevH2 && m1 == prevM1 && m2 == prevM2) {
return;
}
if(h1 != prevH1) {
eraseDigit(prevH1, 10, 80);
drawDigit(h1, 10, 80);
@ -315,32 +320,47 @@ function drawTime() {
if(m1 != prevM1) {
eraseDigit(prevM1, 135, 80);
drawDigit(m1, 135, 80);
}
}
if(m2 != prevM2) {
eraseDigit(prevM2, 190, 80);
drawDigit(m2, 190, 80);
}
g.setColor("#000000");
g.fillRect(0, 10, 240, 24);
g.fillRect(0, 222, 240, 240);
g.setColor("#202020");
g.drawLine(0, 24, 239, 24);
g.drawLine(0, 226, 239, 226);
g.setColor("#C06000");
g.setFontAlign(0, -1);
g.drawString(mstr.slice(month*3,month*3+3) + " " + date, 120, 10);
g.setFontAlign(-1,-1);
g.drawString("STEP " + stepCounter, 0, 230);
g.setFontAlign(1,-1);
g.drawString("BTY "+E.getBattery(), 240, 230);
}
if(!nightMode) {
g.setColor("#000000");
g.fillRect(0, 10, 240, 24);
g.fillRect(0, 222, 240, 240);
g.setColor("#202020");
g.drawLine(0, 24, 239, 24);
g.drawLine(0, 226, 239, 226);
g.setColor("#C06000");
g.setFontAlign(0, -1);
g.drawString(mstr.slice(month*3,month*3+3) + " " + date, 120, 10);
g.setFontAlign(-1,-1);
g.drawString("STEP " + stepCounter, 0, 230);
g.setFontAlign(1,-1);
g.drawString("BTY "+E.getBattery(), 240, 230);
}
prevH1 = h1;
prevH2 = h2;
prevM1 = m1;
prevM2 = m2;
}
function btn1Func() {
if(alarming) {
alarming = false;
} else {
nightMode = !nightMode;
g.setRotation(nightMode ? 1 : 0, 0);
}
g.clear();
prevH1 = -1;
prevH2 = -1;
prevM1 = -1;
prevM2 = -1;
drawTime();
}
function stop () {
@ -353,7 +373,6 @@ function start () {
if (interval) {
clearInterval(interval);
}
// first time init
interval = setInterval(drawTime, 10000);
drawTime();
}
@ -369,14 +388,6 @@ Bangle.on('lcdPower', function (on) {
}
});
function btn1Func() {
g.clear();
prevH1 = -1;
prevH2 = -1;
prevM1 = -1;
prevM2 = -1;
drawTime();
}
function btn3Func() {
showMsg("This is a test message");