BangleApps/apps/cliock/app.js

52 lines
1.2 KiB
JavaScript
Raw Normal View History

2020-03-27 18:34:15 +00:00
var fontsize = 3;
2020-03-27 11:19:26 +00:00
var locale = require("locale");
var marginTop = 40;
var flag = false;
2020-03-27 17:04:46 +00:00
var WeekDays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
2020-03-27 11:19:26 +00:00
2020-03-27 15:31:18 +00:00
function drawAll(){
updateTime();
2020-03-31 19:13:52 +00:00
updateRest(new Date());
2020-03-31 18:13:35 +00:00
}
2020-03-31 19:13:52 +00:00
function updateRest(now){
2020-03-31 18:13:35 +00:00
let date = locale.date(now,false);
writeLine(WeekDays[now.getDay()],1);
writeLine(date,2);
2020-03-27 15:31:18 +00:00
}
2020-03-27 11:19:26 +00:00
function updateTime(){
if (!Bangle.isLCDOn()) return;
2020-03-31 18:13:35 +00:00
let now = new Date();
let h = now.getHours();
let m = now.getMinutes();
2020-03-27 18:34:15 +00:00
h = h>=10?h:"0"+h;
m = m>=10?m:"0"+m;
2020-03-31 18:13:35 +00:00
writeLine(h+":"+m,0);
writeLine(flag?" ":"_",3);
flag = !flag;
2020-03-31 19:13:52 +00:00
if(now.getMinutes() == 0)
updateRest(now);
2020-03-27 11:19:26 +00:00
}
2020-03-31 18:13:35 +00:00
function writeLineStart(line){
2020-03-27 18:42:23 +00:00
g.drawString(">",4,marginTop+line*30);
2020-03-27 11:19:26 +00:00
}
2020-03-31 18:13:35 +00:00
function writeLine(str,line){
g.setFont("6x8",fontsize);
g.setColor(0,1,0);
g.setFontAlign(-1,-1);
2020-03-27 18:42:23 +00:00
g.clearRect(0,marginTop+line*30,((str.length+1)*20),marginTop+25+line*30);
2020-03-31 18:13:35 +00:00
writeLineStart(line);
2020-03-27 18:42:23 +00:00
g.drawString(str,25,marginTop+line*30);
2020-03-27 11:19:26 +00:00
}
g.clear();
Bangle.loadWidgets();
Bangle.drawWidgets();
2020-03-27 15:31:18 +00:00
drawAll();
2020-03-27 11:19:26 +00:00
Bangle.on('lcdPower',function(on) {
if (on)
2020-03-27 15:31:18 +00:00
drawAll();
2020-03-27 11:19:26 +00:00
});
var click = setInterval(updateTime, 1000);
2020-03-27 18:00:12 +00:00
setWatch(Bangle.showLauncher, BTN2, {repeat:false,edge:"falling"});