widshipbell: Adapt to new weak/strong buzz patterns
parent
c1e9600c1a
commit
bd88e4bbca
|
|
@ -2,7 +2,7 @@
|
||||||
var FILE = "widshipbell.json";
|
var FILE = "widshipbell.json";
|
||||||
// Load settings
|
// Load settings
|
||||||
var settings = Object.assign({
|
var settings = Object.assign({
|
||||||
enabled: true,
|
strength: 1,
|
||||||
}, require('Storage').readJSON(FILE, true) || {});
|
}, require('Storage').readJSON(FILE, true) || {});
|
||||||
|
|
||||||
function writeSettings() {
|
function writeSettings() {
|
||||||
|
|
@ -13,11 +13,12 @@
|
||||||
E.showMenu({
|
E.showMenu({
|
||||||
"" : { "title" : "Ship's bell" },
|
"" : { "title" : "Ship's bell" },
|
||||||
"< Back" : () => back(),
|
"< Back" : () => back(),
|
||||||
'Enable?': {
|
'Strength': {
|
||||||
value: !!settings.enabled, // !! converts undefined to false
|
value: settings.strength,
|
||||||
format: v => v?"Yes":"No",
|
min: 0, max: 2,
|
||||||
|
format: v => ["Off", "Weak", "Strong"][v],
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
settings.enabled = v;
|
settings.strength = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
(() => {
|
(() => {
|
||||||
var settings = Object.assign({
|
const strength = Object.assign({
|
||||||
enabled: true,
|
strength: 1,
|
||||||
}, require('Storage').readJSON("widshipbell.json", true) || {});
|
}, require('Storage').readJSON("widshipbell.json", true) || {}).strength;
|
||||||
|
|
||||||
|
function replaceAll(target, search, replacement) {
|
||||||
|
return target.split(search).join(replacement);
|
||||||
|
}
|
||||||
|
|
||||||
function check() {
|
function check() {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
|
|
@ -14,21 +18,25 @@
|
||||||
// buzz now
|
// buzz now
|
||||||
let pattern='';
|
let pattern='';
|
||||||
if (strikeHour === 0 && currentMinute == 0) {
|
if (strikeHour === 0 && currentMinute == 0) {
|
||||||
pattern = '.. .. .. ..';
|
pattern = '.. .. .. ..';
|
||||||
} else if (strikeHour === 0 && currentMinute == 30) {
|
} else if (strikeHour === 0 && currentMinute == 30) {
|
||||||
pattern = '.';
|
pattern = '.';
|
||||||
} else if (strikeHour === 1 && currentMinute == 0) {
|
} else if (strikeHour === 1 && currentMinute == 0) {
|
||||||
pattern = '..';
|
pattern = '..';
|
||||||
} else if (strikeHour === 1 && currentMinute == 30) {
|
} else if (strikeHour === 1 && currentMinute == 30) {
|
||||||
pattern = '.. .';
|
pattern = '.. .';
|
||||||
} else if (strikeHour === 2 && currentMinute == 0) {
|
} else if (strikeHour === 2 && currentMinute == 0) {
|
||||||
pattern = '.. ..';
|
pattern = '.. ..';
|
||||||
} else if (strikeHour === 2 && currentMinute == 30) {
|
} else if (strikeHour === 2 && currentMinute == 30) {
|
||||||
pattern = '.. .. .';
|
pattern = '.. .. .';
|
||||||
} else if (strikeHour === 3 && currentMinute == 0) {
|
} else if (strikeHour === 3 && currentMinute == 0) {
|
||||||
pattern = '.. .. ..';
|
pattern = '.. .. ..';
|
||||||
} else if (strikeHour === 3 && currentMinute == 30) {
|
} else if (strikeHour === 3 && currentMinute == 30) {
|
||||||
pattern = '.. .. .. .';
|
pattern = '.. .. .. .';
|
||||||
|
}
|
||||||
|
pattern = replaceAll(pattern, ' ', ' '); // longer pause
|
||||||
|
if (strength === 2) { // strong selected
|
||||||
|
pattern = replaceAll(pattern, '.', ':');
|
||||||
}
|
}
|
||||||
require("buzz").pattern(pattern);
|
require("buzz").pattern(pattern);
|
||||||
}
|
}
|
||||||
|
|
@ -37,7 +45,7 @@
|
||||||
setTimeout(check, etaSecond*1000);
|
setTimeout(check, etaSecond*1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.enabled === true) {
|
if (strength !== 0) {
|
||||||
check();
|
check();
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue