binaryclk 0.10: Add blinking when battery is charging

master
shansou504 2024-03-31 20:25:43 -04:00
parent ec9f9cecf9
commit 06c65f0a7f
3 changed files with 64 additions and 35 deletions

View File

@ -7,3 +7,4 @@
0.07: Removed percentage from battery and cleaned up logic 0.07: Removed percentage from battery and cleaned up logic
0.08: Changed month to day and text color to black on date 0.08: Changed month to day and text color to black on date
0.09: Changed day color back to white 0.09: Changed day color back to white
0.10: Add blinking when charging

View File

@ -5,8 +5,46 @@ var settings = Object.assign({
showbat: true, showbat: true,
}, require('Storage').readJSON("binaryclk.json", true) || {}); }, require('Storage').readJSON("binaryclk.json", true) || {});
var gap = 4;
var mgn = 24;
var sq = 33;
if (settings.fullscreen) {
gap = 8;
mgn = 0;
sq = 34;
}
var pos = sq + gap;
function drawbat() {
var bat = E.getBattery();
if (bat < 20) {
g.setColor('#FF0000');
} else if (bat < 40) {
g.setColor('#FFA500');
} else {
g.setColor('#00FF00');
}
g.fillRect(Math.floor(mgn/2) + gap + 2 * pos, mgn + gap, Math.floor(mgn/2) + gap + 2 * pos + Math.floor(bat * sq / 100), mgn + gap + sq);
}
function drawbatrect() {
if (g.theme.dark) {
g.setColor(-1);
} else {
g.setColor(1);
}
g.drawRect(Math.floor(mgn/2) + gap + 2 * pos, mgn + gap, Math.floor(mgn/2) + gap + 2 * pos + sq, mgn + gap + sq);
}
function clearbat() {
g.clearRect(Math.floor(mgn/2) + gap + 2 * pos, mgn + gap, Math.floor(mgn/2) + gap + 2 * pos + sq, mgn + gap + sq);
}
function draw() { function draw() {
let i = 0;
var cnt = 0; var cnt = 0;
var dt = new Date(); var dt = new Date();
var h = dt.getHours(); var h = dt.getHours();
@ -23,19 +61,6 @@ function draw() {
g.reset(); g.reset();
g.clearRect(Bangle.appRect); g.clearRect(Bangle.appRect);
let i = 0;
var gap = 4;
var mgn = 24;
var sq = 33;
if (settings.fullscreen) {
gap = 8;
mgn = 0;
sq = 34;
}
var pos = sq + gap;
for (let r = 3; r >= 0; r--) { for (let r = 3; r >= 0; r--) {
for (let c = 0; c < 4; c++) { for (let c = 0; c < 4; c++) {
if (t[c] & Math.pow(2, r)) { if (t[c] & Math.pow(2, r)) {
@ -53,9 +78,6 @@ function draw() {
if (settings.hidesq) { if (settings.hidesq) {
c1sqhide = 2; c1sqhide = 2;
c3sqhide = 1; c3sqhide = 1;
}
if (settings.hidesq) {
g.clearRect(Math.floor(mgn/2), mgn, Math.floor(mgn/2) + pos, mgn + c1sqhide * pos); g.clearRect(Math.floor(mgn/2), mgn, Math.floor(mgn/2) + pos, mgn + c1sqhide * pos);
g.clearRect(Math.floor(mgn/2) + 2 * pos + gap, mgn, Math.floor(mgn/2) + 3 * pos, mgn + c3sqhide * pos); g.clearRect(Math.floor(mgn/2) + 2 * pos + gap, mgn, Math.floor(mgn/2) + 3 * pos, mgn + c3sqhide * pos);
} }
@ -80,24 +102,11 @@ function draw() {
if (cnt == 0) { if (cnt == 0) {
if (settings.showbat) { if (settings.showbat) {
var bat = E.getBattery(); drawbat();
if (bat < 20) { drawbatrect();
g.setColor('#FF0000');
} else if (bat < 40) {
g.setColor('#FFA500');
} else {
g.setColor('#00FF00');
}
g.fillRect(Math.floor(mgn/2) + gap + 2 * pos, mgn + gap, Math.floor(mgn/2) + gap + 2 * pos + Math.floor(bat * sq / 100), mgn + gap + sq);
if (g.theme.dark) {
g.setColor(-1);
} else {
g.setColor(1);
}
g.drawRect(Math.floor(mgn/2) + gap + 2 * pos, mgn + gap, Math.floor(mgn/2) + gap + 2 * pos + sq, mgn + gap + sq);
} }
cnt++; cnt++;
if (cnt > 599999) { if (cnt > 29) {
cnt = 0; cnt = 0;
} }
} }
@ -105,9 +114,28 @@ function draw() {
g.clear(); g.clear();
draw(); draw();
/*var secondInterval =*/ setInterval(draw, 60000); setInterval(draw, 60000);
Bangle.setUI("clock"); Bangle.setUI("clock");
if (!settings.fullscreen) { if (!settings.fullscreen) {
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); Bangle.drawWidgets();
} }
var blink = true;
function blinkbat() {
if (blink) {
clearbat();
} else {
drawbat();
}
drawbatrect();
blink = !blink;
}
function getcharging() {
if (Bangle.isCharging()) {
blinkbat();
}
}
setInterval(getcharging, 1000);

View File

@ -1,7 +1,7 @@
{ {
"id": "binaryclk", "id": "binaryclk",
"name": "Bin Clock", "name": "Bin Clock",
"version": "0.09", "version": "0.10",
"description": "Binary clock with date and battery", "description": "Binary clock with date and battery",
"icon": "app-icon.png", "icon": "app-icon.png",
"screenshots": [{"url":"screenshot.png"}], "screenshots": [{"url":"screenshot.png"}],