add strength and more strike times
parent
d45c91aa4e
commit
1701e79f0c
|
|
@ -3065,7 +3065,7 @@
|
||||||
"name": "Hour Strike",
|
"name": "Hour Strike",
|
||||||
"shortName": "Hour Strike",
|
"shortName": "Hour Strike",
|
||||||
"icon": "app-icon.png",
|
"icon": "app-icon.png",
|
||||||
"version": "0.03",
|
"version": "0.04",
|
||||||
"description": "Strike the clock on the hour. A great tool to remind you an hour has passed!",
|
"description": "Strike the clock on the hour. A great tool to remind you an hour has passed!",
|
||||||
"tags": "tool,alarm",
|
"tags": "tool,alarm",
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
0.01: New App
|
0.01: New App
|
||||||
0.02: Add different strike intervals and support for quiet time
|
0.02: Add different strike intervals and support for quiet time
|
||||||
0.03: Bug fixes for setting attributes
|
0.03: Bug fixes for setting attributes
|
||||||
|
0.04: Add more time to strike and the strength
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,9 @@ This app is slightly different from [Hour Chime](https://github.com/espruino/Ban
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Strike the hour, the half hour, or the quarter hour
|
- Strike the hour, the half hour, the quarter hour, and more
|
||||||
- Set up a range of hours that clock will strike
|
- Set up a range of hours that clock will strike
|
||||||
|
- Set up the strength of the strike
|
||||||
|
|
||||||
## Known Issues
|
## Known Issues
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ function resetSettings() {
|
||||||
interval: 3600,
|
interval: 3600,
|
||||||
start: 9,
|
start: 9,
|
||||||
end: 21,
|
end: 21,
|
||||||
|
vlevel: 0.5,
|
||||||
};
|
};
|
||||||
updateSettings();
|
updateSettings();
|
||||||
}
|
}
|
||||||
|
|
@ -18,13 +19,13 @@ settings = storage.readJSON('hourstrike.json', 1);
|
||||||
if (!settings) resetSettings();
|
if (!settings) resetSettings();
|
||||||
|
|
||||||
function showMainMenu() {
|
function showMainMenu() {
|
||||||
var mode_txt = ['Off', 'Hour', 'Half', 'Quarter'];
|
var mode_txt = ['Off','1 min','5 min','10 min','1/4 h','1/2 h','1 h'];
|
||||||
var mode_interval = [-1, 3600, 1800, 900];
|
var mode_interval = [-1,60,300,600,900,1800,3600];
|
||||||
const mainmenu = {
|
const mainmenu = {
|
||||||
'': { 'title': 'Hour Strike' },
|
'': { 'title': 'Hour Strike' },
|
||||||
'Mode': {
|
'Notify every': {
|
||||||
value: 1 | mode_interval.indexOf(settings.interval),
|
value: mode_interval.indexOf(settings.interval),
|
||||||
min: 0, max: 3,
|
min: 0, max: 6,
|
||||||
format: v => mode_txt[v],
|
format: v => mode_txt[v],
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.interval = mode_interval[v];
|
settings.interval = mode_interval[v];
|
||||||
|
|
@ -34,6 +35,7 @@ function showMainMenu() {
|
||||||
'Start': {
|
'Start': {
|
||||||
value: settings.start,
|
value: settings.start,
|
||||||
min: 0, max: 23,
|
min: 0, max: 23,
|
||||||
|
format: v=>v+':00',
|
||||||
onchange: v=> {
|
onchange: v=> {
|
||||||
settings.start = v;
|
settings.start = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
|
|
@ -42,11 +44,21 @@ function showMainMenu() {
|
||||||
'End': {
|
'End': {
|
||||||
value: settings.end,
|
value: settings.end,
|
||||||
min: 0, max: 23,
|
min: 0, max: 23,
|
||||||
|
format: v=>v+':59',
|
||||||
onchange: v=> {
|
onchange: v=> {
|
||||||
settings.end = v;
|
settings.end = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
'Strength': {
|
||||||
|
value: settings.vlevel*10,
|
||||||
|
min: 1, max: 10,
|
||||||
|
format: v=>v/10,
|
||||||
|
onchange: v=> {
|
||||||
|
settings.vlevel = v/10;
|
||||||
|
updateSettings();
|
||||||
|
}
|
||||||
|
},
|
||||||
'< Back': ()=>load()
|
'< Back': ()=>load()
|
||||||
};
|
};
|
||||||
return E.showMenu(mainmenu);
|
return E.showMenu(mainmenu);
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
var setting = require('Storage').readJSON('hourstrike.json',1)||[];
|
var setting = require('Storage').readJSON('hourstrike.json',1)||[];
|
||||||
var cur = new Date();
|
var cur = new Date();
|
||||||
var cur_sec = cur.getMinutes()*60+cur.getSeconds();
|
var cur_sec = cur.getMinutes()*60+cur.getSeconds();
|
||||||
var notify_sec = setting.interval>0?setting.interval-setting.interval%cur_sec:-1;
|
var notify_sec = setting.interval>0?setting.interval-cur_sec%setting.interval:-1;
|
||||||
if (notify_sec>0) setTimeout(load('hourstrike.js'), notify_sec*1000);
|
if (notify_sec>0) setTimeout(function() {load("hourstrike.js");}, notify_sec*1000);
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,13 @@ if (cur_hour<setting.start) {
|
||||||
wait_sec = 0;
|
wait_sec = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
var notify_func = function () {
|
function notify_func () {
|
||||||
Bangle.buzz(200, 0.5)
|
Bangle.buzz(200, setting.vlevel)
|
||||||
.then(() => new Promise(resolve => setTimeout(resolve,200)))
|
.then(() => new Promise(resolve => setTimeout(resolve,200)))
|
||||||
.then(() => Bangle.buzz(200, 0.5));
|
.then(() => Bangle.buzz(200, setting.vlevel));
|
||||||
};
|
}
|
||||||
|
|
||||||
setTimeout(notify_func, wait_sec*1000);
|
setTimeout(notify_func, wait_sec*1000);
|
||||||
setTimeout(load, wait_sec*1000+800);
|
setTimeout(load, wait_sec*1000+800);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue