binaryclk 0.10: Add blinking when battery is charging
parent
ec9f9cecf9
commit
06c65f0a7f
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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"}],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue