add strike time preview
parent
107e865d3f
commit
4d1a98e009
|
|
@ -3065,7 +3065,7 @@
|
|||
"name": "Hour Strike",
|
||||
"shortName": "Hour Strike",
|
||||
"icon": "app-icon.png",
|
||||
"version": "0.04",
|
||||
"version": "0.05",
|
||||
"description": "Strike the clock on the hour. A great tool to remind you an hour has passed!",
|
||||
"tags": "tool,alarm",
|
||||
"readme": "README.md",
|
||||
|
|
|
|||
|
|
@ -2,3 +2,4 @@
|
|||
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
|
||||
0.05: Add display for the next strike time
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ This app is slightly different from [Hour Chime](https://github.com/espruino/Ban
|
|||
- 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
|
||||
- Preview when the next strike will happen
|
||||
|
||||
## Known Issues
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ function resetSettings() {
|
|||
start: 9,
|
||||
end: 21,
|
||||
vlevel: 0.5,
|
||||
next_hour: -1,
|
||||
next_minute: -1,
|
||||
};
|
||||
updateSettings();
|
||||
}
|
||||
|
|
@ -58,9 +60,10 @@ function showMainMenu() {
|
|||
settings.vlevel = v/10;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'< Back': ()=>load()
|
||||
}
|
||||
};
|
||||
mainmenu['Next strike '+settings.next_hour+':'+settings.next_minute] = function(){};
|
||||
mainmenu['< Back'] = ()=>load();
|
||||
return E.showMenu(mainmenu);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +1,25 @@
|
|||
(function() {
|
||||
var setting = require('Storage').readJSON('hourstrike.json',1)||[];
|
||||
var settings = require('Storage').readJSON('hourstrike.json',1)||[];
|
||||
var t = new Date();
|
||||
var t_min_sec = t.getMinutes()*60+t.getSeconds();
|
||||
var wait_msec = setting.interval>0?(setting.interval-t_min_sec%setting.interval)*1000:-1;
|
||||
var wait_msec = settings.interval>0?(settings.interval-t_min_sec%settings.interval)*1000:-1;
|
||||
if (wait_msec>0) {
|
||||
t.setMilliseconds(t.getMilliseconds()+wait_msec);
|
||||
var t_hour = t.getHours();
|
||||
if (t_hour<setting.start||t_hour>setting.end) {
|
||||
if (t_hour<settings.start||t_hour>settings.end) {
|
||||
var strike = new Date(t.getTime());
|
||||
strike.setHours(setting.start);
|
||||
if (t_hour>setting.end) {
|
||||
strike.setHours(settings.start);
|
||||
if (t_hour>settings.end) {
|
||||
strike.setDate(strike.getDate()+1);
|
||||
}
|
||||
wait_msec += strike-t;
|
||||
settings.next_hour = strike.getHours();
|
||||
settings.next_minute = strike.getMinutes();
|
||||
} else {
|
||||
settings.next_hour = t_hour;
|
||||
settings.next_minute = t.getMinutes();
|
||||
}
|
||||
require('Storage').write('hourstrike.json', settings);
|
||||
setTimeout(function() {load("hourstrike.js");}, wait_msec);
|
||||
}
|
||||
})();
|
||||
|
|
|
|||
Loading…
Reference in New Issue