forked from FOSS/BangleApps
Create myclockapp.js
parent
2e45174d4a
commit
bced6ac420
|
@ -0,0 +1,154 @@
|
|||
//load fonts
|
||||
require("Font7x11Numeric7Seg").add(Graphics);
|
||||
require("FontHaxorNarrow7x17").add(Graphics);
|
||||
//screen position
|
||||
const X = 170;
|
||||
const Y = 140;
|
||||
|
||||
function draw() {
|
||||
// Date Variables
|
||||
var date = new Date();
|
||||
var h = date.getHours();
|
||||
var m = date.getMinutes();
|
||||
var day = date.getDay();
|
||||
var month = date.getMonth();
|
||||
var dateNum = date.getDate();
|
||||
var year = date.getFullYear();
|
||||
var half = "AM";
|
||||
var time = (" " + h).substr(-2) + ":" + ("0" + m).substr(-2);
|
||||
|
||||
//convert day into string
|
||||
switch (day) {
|
||||
case 0:
|
||||
day = "Sunday";
|
||||
break;
|
||||
|
||||
case 1:
|
||||
day = "Monday";
|
||||
break;
|
||||
|
||||
case 2:
|
||||
day = "Tuesday";
|
||||
break;
|
||||
|
||||
case 3:
|
||||
day = "Wednesday";
|
||||
break;
|
||||
|
||||
case 4:
|
||||
day = "Thursday";
|
||||
break;
|
||||
|
||||
case 5:
|
||||
day = "Friday";
|
||||
break;
|
||||
|
||||
case 6:
|
||||
day = "Saturday";
|
||||
break;
|
||||
|
||||
default:
|
||||
day = "ERROR";
|
||||
break;
|
||||
}
|
||||
|
||||
//convert month into String
|
||||
switch(month) {
|
||||
case 0:
|
||||
month = "Jan";
|
||||
break;
|
||||
|
||||
case 1:
|
||||
month = "Feb";
|
||||
break;
|
||||
|
||||
case 2:
|
||||
month = "Mar";
|
||||
break;
|
||||
|
||||
case 3:
|
||||
month = "Apr";
|
||||
break;
|
||||
|
||||
case 4:
|
||||
month = "May";
|
||||
break;
|
||||
|
||||
case 5:
|
||||
month = "Jun";
|
||||
break;
|
||||
|
||||
case 6:
|
||||
month = "Jul";
|
||||
break;
|
||||
|
||||
case 7:
|
||||
month = "Aug";
|
||||
break;
|
||||
|
||||
case 8:
|
||||
month = "Sep";
|
||||
break;
|
||||
|
||||
case 9:
|
||||
month = "Oct";
|
||||
break;
|
||||
|
||||
case 10:
|
||||
month = "Nov";
|
||||
break;
|
||||
|
||||
case 11:
|
||||
month = "Dec";
|
||||
break;
|
||||
|
||||
default:
|
||||
month = "ERROR";
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if (h > 12) {
|
||||
half = "PM";
|
||||
h = h - 12;
|
||||
}
|
||||
//reset graphics
|
||||
g.reset();
|
||||
//draw the time
|
||||
g.setFont("7x11Numeric7Seg", 5);
|
||||
g.setFontAlign(1,1);
|
||||
g.drawString(time, X, Y, true /*clear background*/);
|
||||
g.setFont("7x11Numeric7Seg", 3);
|
||||
g.drawString(("0"+date.getSeconds()).substr(-2), X+50, Y, true /*clear background*/);
|
||||
g.setFontAlign(0,1);
|
||||
g.setFont("HaxorNarrow7x17", 2);
|
||||
g.drawString(half, X+30, Y-35, true);
|
||||
g.setFont("HaxorNarrow7x17", 3);
|
||||
g.drawString(day, X-60, Y+53, true);
|
||||
g.drawString(month, X-100, Y+95, true);
|
||||
g.drawString(dateNum, X-40, Y+95, true);
|
||||
g.drawString(year, X-90, Y-55, true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
//clear screen at startup
|
||||
g.clear();
|
||||
//draw immediatly
|
||||
draw();
|
||||
|
||||
var secondInterval = setInterval(draw, 1000);
|
||||
// Stop updates when LCD is off, restart when on
|
||||
Bangle.on('lcdPower',on=>{
|
||||
if (secondInterval) clearInterval(secondInterval);
|
||||
secondInterval = undefined;
|
||||
if (on) {
|
||||
secondInterval = setInterval(draw, 1000);
|
||||
draw(); // draw immediately
|
||||
}
|
||||
});
|
||||
|
||||
Bangle.loadWidgets();
|
||||
Bangle.drawWidgets();
|
||||
|
||||
setWatch(Bangle.showLauncher, BTN2, {repeat : false, edge: "falling"});
|
Loading…
Reference in New Issue