Last active
January 7, 2025 15:06
-
-
Save devsnek/0167a15ebb6fffc5e211d468ed0ca35b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const fontStr = E.toString( | |
require("heatshrink").decompress( | |
atob( | |
"ACsf4AFDg/wAocB/gSEv4YdACUHwAFDh/gAoc//AqE/w2D///DAUDAoIYCh4FBDAUfAol/AoJWCAgP/MQQFCEYU//4vDEYJnDF4JzEGgYYCLIrDdMIRjDAoZdBJQIABJgJuCLAQYZQoSuCOgQJCMYYYCN4QJBDExjkDAoAYPlbgwMAY7DJQhtGAARUDDCgAUh/+j5jEw5jE8JjE/F/MYYYY8Ef4DHDg/wY4cB/jHEv7HEDEZIBDAgGBDAYFBDAYFBDCq0YawZjDBIgnDMYb5DSvAYfR4L5DAoX/VwYABVwYABDCgAYcAQFCcAa9CcAS9CfIQYbgB8BHIiVBAAaVBAoaVBDE6ulDAoAYGIUPGInDGInwGIn8n5KEDC2APgIYC8CVBBIMD/CVBBIIOBSoIJBDFCVDDAKuEDAKuDDAKuDDCIAYfNYYGV3IYFV0QYFVybKESoIbEGgQACn40BDCwLEOQQYDEgiLCDFL5SBgauBDC6uSAApKxSoMH+CGC/0B/ifCSoN/T4QOBj/ABIIYmMcgYFADAcBJQxjDAoJjDAoJjDDDCu4DAqukDAoAZJYJSBAoJaCKQMALQRrBAwJBBNYIYaAAo", | |
), | |
), | |
); | |
function setFont() { | |
g.setFontCustom(fontStr, 46, atob("DBQdGh0dHR0dHB0dDA=="), 50 | 65536); | |
} | |
const width = g.getWidth(); | |
const height = g.getHeight(); | |
function draw() { | |
// black out | |
g.setColor("#000"); | |
g.fillRect(0, 0, width, height); | |
// red rect | |
g.setColor("#f00"); | |
g.fillRect(0, 65, width, 111); | |
// text | |
const date = new Date(); | |
const yearStr = date.getFullYear().toString(); | |
let timeStr = ""; | |
const hours = date.getHours(); | |
const minutes = date.getMinutes(); | |
if (hours < 10) timeStr += "0"; | |
timeStr += hours; | |
if (minutes < 10) timeStr += "0"; | |
timeStr += minutes; | |
let dateStr = ""; | |
const month = date.getMonth() + 1; | |
if (month < 10) dateStr += "0"; | |
dateStr += month; | |
const day = date.getDate(); | |
if (day < 10) dateStr += "0"; | |
dateStr += day; | |
setFont(); | |
function d(s, y) { | |
let x = 10; | |
for (let i = 0; i < 4; i += 1) { | |
g.drawString(s[i], x, y); | |
x += 41; | |
} | |
} | |
g.setColor("#666"); | |
d("1532", -25); | |
g.setColor("#fff"); | |
d(yearStr, 23); | |
d(timeStr, 70); | |
d(dateStr, 117); | |
g.setColor("#666"); | |
d("8543", 165); | |
queueDraw(); | |
} | |
let drawTimeout; | |
function queueDraw() { | |
if (drawTimeout) clearTimeout(drawTimeout); | |
drawTimeout = setTimeout(function () { | |
drawTimeout = undefined; | |
draw(); | |
}, 60000 - (Date.now() % 60000)); | |
} | |
g.clear(); | |
draw(); | |
Bangle.on("lcdPower", (on) => { | |
if (on) { | |
draw(); | |
} else { | |
if (drawTimeout) clearTimeout(drawTimeout); | |
drawTimeout = undefined; | |
} | |
}); | |
Bangle.setUI("clock"); | |
Bangle.loadWidgets(); | |
Bangle.drawWidgets(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment