add strength and more strike times
parent
d45c91aa4e
commit
1701e79f0c
|
|
@ -3065,7 +3065,7 @@
|
|||
"name": "Hour Strike",
|
||||
"shortName": "Hour Strike",
|
||||
"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!",
|
||||
"tags": "tool,alarm",
|
||||
"readme": "README.md",
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
0.01: New App
|
||||
0.02: Add different strike intervals and support for quiet time
|
||||
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
|
||||
|
||||
- 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 the strength of the strike
|
||||
|
||||
## Known Issues
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ function resetSettings() {
|
|||
interval: 3600,
|
||||
start: 9,
|
||||
end: 21,
|
||||
vlevel: 0.5,
|
||||
};
|
||||
updateSettings();
|
||||
}
|
||||
|
|
@ -18,13 +19,13 @@ settings = storage.readJSON('hourstrike.json', 1);
|
|||
if (!settings) resetSettings();
|
||||
|
||||
function showMainMenu() {
|
||||
var mode_txt = ['Off', 'Hour', 'Half', 'Quarter'];
|
||||
var mode_interval = [-1, 3600, 1800, 900];
|
||||
var mode_txt = ['Off','1 min','5 min','10 min','1/4 h','1/2 h','1 h'];
|
||||
var mode_interval = [-1,60,300,600,900,1800,3600];
|
||||
const mainmenu = {
|
||||
'': { 'title': 'Hour Strike' },
|
||||
'Mode': {
|
||||
value: 1 | mode_interval.indexOf(settings.interval),
|
||||
min: 0, max: 3,
|
||||
'Notify every': {
|
||||
value: mode_interval.indexOf(settings.interval),
|
||||
min: 0, max: 6,
|
||||
format: v => mode_txt[v],
|
||||
onchange: v => {
|
||||
settings.interval = mode_interval[v];
|
||||
|
|
@ -34,6 +35,7 @@ function showMainMenu() {
|
|||
'Start': {
|
||||
value: settings.start,
|
||||
min: 0, max: 23,
|
||||
format: v=>v+':00',
|
||||
onchange: v=> {
|
||||
settings.start = v;
|
||||
updateSettings();
|
||||
|
|
@ -42,11 +44,21 @@ function showMainMenu() {
|
|||
'End': {
|
||||
value: settings.end,
|
||||
min: 0, max: 23,
|
||||
format: v=>v+':59',
|
||||
onchange: v=> {
|
||||
settings.end = v;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'Strength': {
|
||||
value: settings.vlevel*10,
|
||||
min: 1, max: 10,
|
||||
format: v=>v/10,
|
||||
onchange: v=> {
|
||||
settings.vlevel = v/10;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'< Back': ()=>load()
|
||||
};
|
||||
return E.showMenu(mainmenu);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
var setting = require('Storage').readJSON('hourstrike.json',1)||[];
|
||||
var cur = new Date();
|
||||
var cur_sec = cur.getMinutes()*60+cur.getSeconds();
|
||||
var notify_sec = setting.interval>0?setting.interval-setting.interval%cur_sec:-1;
|
||||
if (notify_sec>0) setTimeout(load('hourstrike.js'), notify_sec*1000);
|
||||
var notify_sec = setting.interval>0?setting.interval-cur_sec%setting.interval:-1;
|
||||
if (notify_sec>0) setTimeout(function() {load("hourstrike.js");}, notify_sec*1000);
|
||||
})();
|
||||
|
||||
|
|
|
|||
|
|
@ -15,11 +15,13 @@ if (cur_hour<setting.start) {
|
|||
wait_sec = 0;
|
||||
}
|
||||
|
||||
var notify_func = function () {
|
||||
Bangle.buzz(200, 0.5)
|
||||
function notify_func () {
|
||||
Bangle.buzz(200, setting.vlevel)
|
||||
.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(load, wait_sec*1000+800);
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue