update boot code

master
Weiming 2021-04-02 22:22:08 -04:00
parent df6d34b951
commit 10c7e2e8d6
4 changed files with 35 additions and 37 deletions

View File

@ -3065,14 +3065,13 @@
"name": "Hour Strike", "name": "Hour Strike",
"shortName": "Hour Strike", "shortName": "Hour Strike",
"icon": "app-icon.png", "icon": "app-icon.png",
"version": "0.06", "version": "0.07",
"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",
"storage": [ "storage": [
{"name":"hourstrike.app.js","url":"app.js"}, {"name":"hourstrike.app.js","url":"app.js"},
{"name":"hourstrike.boot.js","url":"boot.js"}, {"name":"hourstrike.boot.js","url":"boot.js"},
{"name":"hourstrike.js","url":"hourstrike.js"},
{"name":"hourstrike.img","url":"app-icon.js","evaluate":true} {"name":"hourstrike.img","url":"app-icon.js","evaluate":true}
] ]
} }

View File

@ -4,3 +4,4 @@
0.04: Add more time to strike and the strength 0.04: Add more time to strike and the strength
0.05: Add display for the next strike time 0.05: Add display for the next strike time
0.06: Move the next strike time to the first row of display 0.06: Move the next strike time to the first row of display
0.07: Change the boot function to avoid reloading the entire watch

View File

@ -1,29 +1,39 @@
(function() { (function() {
var settings = require('Storage').readJSON('hourstrike.json',1)||[]; function setup () {
var t = new Date(); var settings = require('Storage').readJSON('hourstrike.json',1)||[];
var t_min_sec = t.getMinutes()*60+t.getSeconds(); var t = new Date();
var wait_msec = settings.interval>0?(settings.interval-t_min_sec%settings.interval)*1000:-1; var t_min_sec = t.getMinutes()*60+t.getSeconds();
if (wait_msec>0) { var wait_msec = settings.interval>0?(settings.interval-t_min_sec%settings.interval)*1000:-1;
t.setMilliseconds(t.getMilliseconds()+wait_msec); if (wait_msec>0) {
var t_hour = t.getHours(); t.setMilliseconds(t.getMilliseconds()+wait_msec);
if (t_hour<settings.start||t_hour>settings.end) { var t_hour = t.getHours();
var strike = new Date(t.getTime()); if (t_hour<settings.start||t_hour>settings.end) {
strike.setHours(settings.start); var strike = new Date(t.getTime());
strike.setMinutes(0); strike.setHours(settings.start);
if (t_hour>settings.end) { strike.setMinutes(0);
strike.setDate(strike.getDate()+1); 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();
} }
wait_msec += strike-t; setTimeout(strike_func, wait_msec);
settings.next_hour = strike.getHours();
settings.next_minute = strike.getMinutes();
} else { } else {
settings.next_hour = t_hour; settings.next_hour = -1;
settings.next_minute = t.getMinutes(); settings.next_minute = -1;
} }
setTimeout(function() {load("hourstrike.js");}, wait_msec); require('Storage').write('hourstrike.json', settings);
} else {
settings.next_hour = -1;
settings.next_minute = -1;
} }
require('Storage').write('hourstrike.json', settings); function strike_func () {
var setting = require('Storage').readJSON('hourstrike.json',1)||[];
Bangle.buzz(200, setting.vlevel||0.5)
.then(() => new Promise(resolve => setTimeout(resolve,200)))
.then(() => Bangle.buzz(200, setting.vlevel||0.5));
setup();
}
setup();
})(); })();

View File

@ -1,12 +0,0 @@
clearInterval();
var setting = require('Storage').readJSON('hourstrike.json',1)||[];
function notify_func () {
Bangle.buzz(200, setting.vlevel||0.5)
.then(() => new Promise(resolve => setTimeout(resolve,200)))
.then(() => Bangle.buzz(200, setting.vlevel||0.5));
}
notify_func();
setTimeout(load, 800);