This is getting closer to what I want. I need the background black, and I need the number of the day of the month to be added after the name of the day of the week with a space separating them. Then it'll be a cool watch I think.
EDIT: This works great on the watch. I'd like to find out how to do a short weekday and put it within the second minute character. Currently, this puts the day on top of the bottom row of the time, which actually looks good on the watch.
Graphics.prototype.setFontsquarepixel7 = function(scale) {
// Actual height 40 (59 - 20)
g.setFontCustom(atob("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAD/8AAAAAAAAAAA//AAAAAAAAAAAP/wAAAAAAAAAAD/8AAAAAAAAAAP//AAAAAAAAAAD/8AAAAAAAAAAA//AAAAAAAAAAAP/wAAAAAAAAAA//8AAAAAAAAAAP/wAAAAAAAAAAD/8AAAAAAAAAAA//AAAAAAAAAAD//wAAAAAAAAAA//AAAAAAAAAAAP/wAAAAAAAAAAD/8AAAAAAAAAAP//AAAAAAAAAAD/8AAAAAAAAAAA//AAAAAAAAAAAP/wAAAAAAAAAA//8AAAAAAAAAAP/wAAAAAAAAAAD/8AAAAAAAAAAA//AAAAAAAAAAD//wAAAAAAAAAA//AAAAAAAAAAAP/wAAAAAAAAAAD/8AAAAAAAAAAP//AAAAAAAAAAD/8AAAAAAAAAAA//AAAAAAAAAAAP/wAAAAAAAAAAD/8AAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP8AAP//AAAAAAD/AAD//wAAAAAA/wAA//8AAAAAAP8AD///AAAAAAD/AA///wAAAAAA/wAP//8AAAAAAP8AD///AAAAAAD/AP///wAAAAAA/wD/8P8AAAAAAP8A//D/AAAAAAD/AP/w/wAAAAAA/w//8P8AAAAAAP8P/wD/AAAAAAD/D/8A/wAAAAAA/w//AP8AAAAAAP///wD/AAAAAAD///AA/wAAAAAA///wAP8AAAAAAP//8AD/AAAAAAD///AA/wAAAAAA//8AAP8AAAAAAP//AAD/AAAAAAD//wAA/wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wD///8AAAAAAP8A////AAAAAAD/AP///wAAAAAA/wD///8AAAAAAP8A////AAAAAAD/AP///wAAAAAA/wD///8AAAAAAP8A////AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP///wD/AAAAAAD///8A/wAAAAAA////AP8AAAAAAP///wD/AAAAAAD///8A/wAAAAAA////AP8AAAAAAP///wD/AAAAAAD///8A/wAAAAAA////AP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAA/wAAAP8AAAAAAP8AAAD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAD///8AAAAAAAAA////AAAAAAAAAP///wAAAAAAAAD///8AAAAAAAAA////AAAAAAAAAP///wAAAAAAAAD///8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP8AAAAAAP///wD/AAAAAAD///8A/wAAAAAA////AP8AAAAAAP///wD/AAAAAAD///8A/wAAAAAA////AP8AAAAAAP///wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A////AAAAAAD/AP///wAAAAAA/wD///8AAAAAAP8A////AAAAAAD/AP///wAAAAAA/wAP//AAAAAAAP8AD//wAAAAAAD/AA//8AAAAAAA/wAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD///8AAAAAAP8A////AAAAAAD/AP///wAAAAAA/wD///8AAAAAAP8A////AAAAAAD/AP///wAAAAAA/wD///8AAAAAAP8A////AAAAAAD/AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA/wAAAAAAAAAAAP8AAAAAAAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A/wAAAAAA////AP8AAAAAAP///wD/AAAAAAD///8A/wAAAAAA////AP8AAAAAAP///wD/AAAAAAD///8A/wAAAAAA////AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA/wD/AP8AAAAAAP8A/wD/AAAAAAD/AP8A/wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAA//////8AAAAAAP//////AAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AP8AAAAAAAAA/wD/AAAAAAAAAP8A/wAAAAAAAAD/AP8AAAAAAAAA/wD/AAAAAAAAAP8A/wAAAAAAAAD/AP8AAAAAAAAA/wD/AAAAAAAAAP8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), 46, 44, 80+(scale<<8)+(1<<16));
}
// timeout used to update every minute
var drawTimeout;
// schedule a draw for the next minute
function queueDraw() {
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = setTimeout(function() {
drawTimeout = undefined;
draw();
}, 60000 - (Date.now() % 60000));
}
function draw() {
var x = g.getWidth()/2;
var y = g.getHeight()/2;
g.reset();
var date = new Date();
var timeStr = require("locale").time(date,1);
var dateStr = require("locale").date(date).toUpperCase();
var dowStr = require("locale").dow(date).toUpperCase();
var dowshortStr = dowStr.toString().split(' ')[0];
// draw time
g.setFontAlign(0,-5).setFontsquarepixel7(2);
g.setColor('#fff');
g.clearRect(0,y-40,g.getWidth(),y+35); // clear the background
g.setColor('#0f0');
g.drawString("09", g.getWidth()/2+3, -16);
g.setColor('#0ff');
g.drawString("30", g.getWidth()/2+3, +60);
g.setColor('#000');
// draw date
y += 82;
g.setFontAlign(0,0).setFont("6x8",2);
// g.clearRect(0,y-00,g.getWidth(),y+8); // clear the background
// g.drawString(dateStr,x,y);
//draw day of week
// y += 11;
//g.clearRect(0,y-8,g.getWidth(),y+8); // clear the background
g.drawString(dowshortStr,x,y);
// queue draw in one minute
queueDraw();
}
// Clear the screen once, at startup
g.clear();
// draw immediately at first, queue update
draw();
// Stop updates when LCD is off, restart when on
Bangle.on('lcdPower',on=>{
if (on) {
draw(); // draw immediately, queue redraw
} else { // stop draw timer
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = undefined;
}
});
// Show launcher when middle button pressed
Bangle.setUI("clock");
// Load widgets
Bangle.loadWidgets();
Bangle.drawWidgets();
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
This is getting closer to what I want. I need the background black, and I need the number of the day of the month to be added after the name of the day of the week with a space separating them. Then it'll be a cool watch I think.
EDIT: This works great on the watch. I'd like to find out how to do a short weekday and put it within the second minute character. Currently, this puts the day on top of the bottom row of the time, which actually looks good on the watch.
1 Attachment