mirror of https://github.com/espruino/BangleApps
inspire: Disable autolock when breathing
parent
becba294dd
commit
999f4abdb8
|
@ -1 +1,2 @@
|
|||
0.01: First public version
|
||||
0.02: Disable screen lock when breathing
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
A minimalistic app that will help you practive breathing.
|
||||
|
||||
Author: Written by pancake in 2022, powered by insomnia
|
||||
Author: Written by pancake in 2022, updated in 2023, powered by insomnia
|
||||
|
||||
## Features
|
||||
|
||||
|
@ -10,6 +10,7 @@ Author: Written by pancake in 2022, powered by insomnia
|
|||
* [x] Tap to start
|
||||
* [x] Subtle vibrations
|
||||
* [x] Drag to pause breathing
|
||||
* [x] Dont lock screen while breathing
|
||||
* [ ] Automatic buzz every hour during day
|
||||
|
||||
## Screenshots
|
||||
|
|
|
@ -14,6 +14,7 @@ var mode = 0;
|
|||
var sin = 0;
|
||||
var dragged = 0;
|
||||
var lastTime = Date.now();
|
||||
|
||||
function breath(t) {
|
||||
var r = Math.abs(Math.sin(t / 100)) * w2;
|
||||
g.fillCircle(w/2,h/2, r);
|
||||
|
@ -26,7 +27,7 @@ setTimeout(()=>{Bangle.buzz(60);}, 500);
|
|||
|
||||
function showTouchScreen() {
|
||||
g.setColor(1,1,1);
|
||||
g.fillCircle (w2, h2, h2-5);
|
||||
g.fillCircle(w2, h2, h2-5);
|
||||
g.setColor(0,0,0);
|
||||
g.setFont("Vector", 32);
|
||||
g.drawString("Tap to", w/6, h2-fs);
|
||||
|
@ -40,7 +41,7 @@ g.clear();
|
|||
function animateCircle() {
|
||||
g.clear();
|
||||
g.setColor(1,1,1);
|
||||
g.fillCircle (w2, h2, radius);
|
||||
g.fillCircle(w2, h2, radius);
|
||||
radius-=2;
|
||||
if (radius < 40) {
|
||||
breathing = true;
|
||||
|
@ -68,6 +69,9 @@ function main() {
|
|||
return;
|
||||
}
|
||||
started = true;
|
||||
Bangle.setLCDPower(1);
|
||||
Bangle.setLocked(0);
|
||||
Bangle.setLCDTimeout(0);
|
||||
animateCircle();
|
||||
Bangle.buzz(40);
|
||||
}
|
||||
|
@ -78,13 +82,13 @@ function main() {
|
|||
main();
|
||||
|
||||
function startBreathing() {
|
||||
var cicles = 3;
|
||||
g.setFont("Vector", fs);
|
||||
var cicles = 3;
|
||||
g.setFont("Vector", fs);
|
||||
|
||||
var interval = setInterval(function() {
|
||||
if (lastTime + 10 > Date.now()) {
|
||||
function breathTime() {
|
||||
if (lastTime + 10 > Date.now()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
lastTime = Date.now();
|
||||
g.setColor(0, 0, 0);
|
||||
g.clear();
|
||||
|
@ -120,6 +124,6 @@ if (lastTime + 10 > Date.now()) {
|
|||
Bangle.showClock();
|
||||
}
|
||||
dragged = 0;
|
||||
|
||||
}, 4);
|
||||
}
|
||||
var interval = setInterval(breathTime, 4);
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"id": "inspire",
|
||||
"name": "Inspire Breathing",
|
||||
"shortName": "Inspire",
|
||||
"version": "0.01",
|
||||
"version": "0.02",
|
||||
"description": "exercise breathing every now and then",
|
||||
"icon": "app-icon.png",
|
||||
"tags": "tools,health",
|
||||
|
|
Loading…
Reference in New Issue