Stopwatch Touch: README and screenshots

master
hughbarney 2021-10-20 21:13:40 +01:00
parent 8d439968ba
commit 7d99cde28d
7 changed files with 18 additions and 7 deletions

BIN
apps/stopwatch/A.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
apps/stopwatch/B.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -1,20 +1,33 @@
# Stopwatch # Stopwatch Touch
A touch screen based stop watch for Bangle 2 A touch screen based stop watch for Bangle 2
## Screenshots ## Screenshots
![](screenshot1.png)
![](screenshot2.png)
![](screenshot3.png)
## Features ## Features
* Feature A * Attractive UI design
* Feature B * Will run up to 99 hours
* Shows 10th of seconds up to 1 hour
* Start / Pause button
* Reset button
## Future features ## Future features
I'm keen to complete this project with I'm keen to complete this project with
* Ability to dismiss the app and leave it running in the background * Ability to dismiss the app and leave it running in the background
* A small widget to show the elapsed time on the curren active clock * A small widget to show the elapsed time on the current active clock
* Laptimes, with a way to view all the laptimes on a scrollable screen * Laptimes, with a way to view all the laptimes on a scrollable screen
## One of these is a genuine Bangle Js 2 Open Source Smartwatch, the other isn't
Which one is which ?
![](A.jpg)
![](B.jpg)

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -11,7 +11,6 @@ const iconScale = g.getWidth() / 178; // scale up/down based on Bangle 2 size
// 24 pixel images, scale to watch // 24 pixel images, scale to watch
// 1 bit optimal, image string, no E.toArrayBuffer() // 1 bit optimal, image string, no E.toArrayBuffer()
//const reset_img_a = atob("GBiBAf////////////AAD+AAB+AAB+AAB+AAB+D/B+D/B+D/B+D/B+D/B+D/B+D/B+D/B+AAB+AAB+AAB+AAB/AAD////////////w==");
const pause_img = atob("GBiBAf////////////////wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP////////////////w=="); const pause_img = atob("GBiBAf////////////////wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP/wYP////////////////w==");
const play_img = atob("GBjBAP//AAAAAAAAAAAIAAAOAAAPgAAP4AAP+AAP/AAP/wAP/8AP//AP//gP//gP//AP/8AP/wAP/AAP+AAP4AAPgAAOAAAIAAAAAAAAAAA="); const play_img = atob("GBjBAP//AAAAAAAAAAAIAAAOAAAPgAAP4AAP+AAP/AAP/wAP/8AP//AP//gP//gP//AP/8AP/wAP/AAP+AAP4AAPgAAOAAAIAAAAAAAAAAA=");
const reset_img = atob("GBiBAf////////////AAD+AAB+f/5+f/5+f/5+cA5+cA5+cA5+cA5+cA5+cA5+cA5+cA5+f/5+f/5+f/5+AAB/AAD////////////w=="); const reset_img = atob("GBiBAf////////////AAD+AAB+f/5+f/5+f/5+cA5+cA5+cA5+cA5+cA5+cA5+cA5+cA5+f/5+f/5+f/5+AAB/AAD////////////w==");
@ -51,7 +50,7 @@ function drawButtons() {
} }
function drawTime() { function drawTime() {
//log_debug("drawTime()"); log_debug("drawTime()");
let Tt = tCurrent-tTotal; let Tt = tCurrent-tTotal;
let Ttxt = timeToText(Tt); let Ttxt = timeToText(Tt);
@ -128,7 +127,6 @@ function lapReset() {
redrawButtons = true; redrawButtons = true;
Bangle.buzz(); Bangle.buzz();
tStart = tCurrent = tTotal = Date.now(); tStart = tCurrent = tTotal = Date.now();
log_debug("lapReset - clear screen");
g.clearRect(0,24,w,h); g.clearRect(0,24,w,h);
draw(); draw();
} }