mirror of https://github.com/espruino/BangleApps
Create app.js
parent
85b3ed9842
commit
f964a9bb6c
|
@ -0,0 +1,97 @@
|
|||
var counter = 1;
|
||||
var logging_started;
|
||||
var interval;
|
||||
var value;
|
||||
|
||||
var file = require("Storage").open("hrm_log.csv", "w");
|
||||
file.write("");
|
||||
|
||||
file = require("Storage").open("hrm_log.csv", "a");
|
||||
|
||||
function update_timer() {
|
||||
g.clear();
|
||||
g.setColor("#00ff7f");
|
||||
g.setFont("6x8", 4);
|
||||
g.setFontAlign(0, 0); // center font
|
||||
|
||||
g.drawString(counter, 120, 120);
|
||||
g.setFont("6x8", 2);
|
||||
g.setFontAlign(-1, -1);
|
||||
g.drawString("-", 220, 200);
|
||||
g.drawString("+", 220, 40);
|
||||
g.drawString("GO", 210, 120);
|
||||
|
||||
g.setColor("#ffffff");
|
||||
g.setFontAlign(0, 0); // center font
|
||||
g.drawString("Timer (minutes)", 120, 90);
|
||||
|
||||
g.setFont("6x8", 4); // bitmap font, 8x magnified
|
||||
|
||||
if (!logging_started)
|
||||
g.flip();
|
||||
}
|
||||
|
||||
function btn1Pressed() {
|
||||
if (!logging_started) {
|
||||
if (counter < 60)
|
||||
counter += 1;
|
||||
else
|
||||
counter = 1;
|
||||
update_timer();
|
||||
}
|
||||
}
|
||||
|
||||
function btn3Pressed() {
|
||||
if (!logging_started) {
|
||||
if (counter > 1)
|
||||
counter -= 1;
|
||||
else
|
||||
counter = 60;
|
||||
update_timer();
|
||||
}
|
||||
}
|
||||
|
||||
function btn2Pressed() {
|
||||
launchtime = 0 | getTime();
|
||||
file.write(launchtime + "," + "\n");
|
||||
logging_started = true;
|
||||
counter = counter * 60;
|
||||
interval = setInterval(countDown, 1000);
|
||||
Bangle.setHRMPower(1);
|
||||
}
|
||||
|
||||
function fmtMSS(e) {
|
||||
var m = Math.floor(e % 3600 / 60).toString().padStart(2, '0'),
|
||||
s = Math.floor(e % 60).toString().padStart(2, '0');
|
||||
return m + ':' + s;
|
||||
}
|
||||
|
||||
function countDown() {
|
||||
g.clear();
|
||||
counter--;
|
||||
if (counter == 0) {
|
||||
Bangle.setHRMPower(0);
|
||||
clearInterval(interval);
|
||||
g.drawString("Finished", g.getWidth() / 2, g.getHeight() / 2);
|
||||
Bangle.buzz(500, 1);
|
||||
}
|
||||
else
|
||||
g.drawString(fmtMSS(counter), g.getWidth() / 2, g.getHeight() / 2);
|
||||
}
|
||||
|
||||
update_timer();
|
||||
|
||||
setWatch(btn1Pressed, BTN1, { repeat: true });
|
||||
setWatch(btn2Pressed, BTN2, { repeat: true });
|
||||
setWatch(btn3Pressed, BTN3, { repeat: true });
|
||||
|
||||
Bangle.on('HRM', function (hrm) {
|
||||
for (let i = 0; i < hrm.raw.length; i++) {
|
||||
value = hrm.raw[i];
|
||||
if (value < -2)
|
||||
value = -2;
|
||||
if (value > 6)
|
||||
value = 6;
|
||||
file.write(value + "," + "\n");
|
||||
}
|
||||
});
|
Loading…
Reference in New Issue