commit
c45cfb47b1
|
|
@ -118,11 +118,12 @@
|
|||
{ "id": "setting",
|
||||
"name": "Settings",
|
||||
"icon": "settings.png",
|
||||
"version":"0.09",
|
||||
"version":"0.10",
|
||||
"description": "A menu for setting up Bangle.js",
|
||||
"tags": "tool,system",
|
||||
"storage": [
|
||||
{"name":"setting.app.js","url":"settings.js"},
|
||||
{"name":"setting.boot.js","url":"boot.js"},
|
||||
{"name":"setting.json","url":"settings-default.json","evaluate":true},
|
||||
{"name":"setting.img","url":"settings-icon.js","evaluate":true}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -6,3 +6,4 @@
|
|||
0.07: Added vibrate as beep workaround
|
||||
0.08: Add support for app/widget settings
|
||||
0.09: Move Welcome into App/widget settings
|
||||
0.10: Added LCD wake-up settings
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
(() => {
|
||||
var settings = require('Storage').readJSON('setting.json', true);
|
||||
if (settings != undefined) {
|
||||
Bangle.setOptions(settings.options);
|
||||
}
|
||||
})()
|
||||
|
|
@ -10,4 +10,15 @@
|
|||
clock: null, // a string for the default clock's name
|
||||
"12hour" : false, // 12 or 24 hour clock?
|
||||
// welcomed : undefined/true (whether welcome app should show)
|
||||
options: {
|
||||
wakeOnBTN1: true,
|
||||
wakeOnBTN2: true,
|
||||
wakeOnBTN3: true,
|
||||
wakeOnFaceUp: false,
|
||||
wakeOnTouch: false,
|
||||
wakeOnTwist: true,
|
||||
twistThreshold: 819.2,
|
||||
twistMaxY: -800,
|
||||
twistTimeout: 1000
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,21 @@ function updateSettings() {
|
|||
storage.write('setting.json', settings);
|
||||
}
|
||||
|
||||
function updateOptions() {
|
||||
updateSettings();
|
||||
Bangle.setOptions(settings.options)
|
||||
}
|
||||
|
||||
function gToInternal(g) {
|
||||
// converts g to Espruino internal unit
|
||||
return g * 8192;
|
||||
}
|
||||
|
||||
function internalToG(u) {
|
||||
// converts Espruino internal unit to g
|
||||
return u / 8192
|
||||
}
|
||||
|
||||
function resetSettings() {
|
||||
settings = {
|
||||
ble: true, // Bluetooth enabled by default
|
||||
|
|
@ -22,6 +37,17 @@ function resetSettings() {
|
|||
clock: null, // a string for the default clock's name
|
||||
"12hour": false, // 12 or 24 hour clock?
|
||||
// welcomed : undefined/true (whether welcome app should show)
|
||||
options: {
|
||||
wakeOnBTN1: true,
|
||||
wakeOnBTN2: true,
|
||||
wakeOnBTN3: true,
|
||||
wakeOnFaceUp: false,
|
||||
wakeOnTouch: false,
|
||||
wakeOnTwist: true,
|
||||
twistThreshold: 819.2,
|
||||
twistMaxY: -800,
|
||||
twistTimeout: 1000
|
||||
}
|
||||
};
|
||||
updateSettings();
|
||||
}
|
||||
|
|
@ -106,6 +132,7 @@ function showMainMenu() {
|
|||
}
|
||||
},
|
||||
'Set Time': showSetTimeMenu,
|
||||
'LCD Wake-Up': showWakeUpMenu,
|
||||
'App/widget settings': showAppSettingsMenu,
|
||||
'Reset Settings': showResetMenu,
|
||||
'Turn Off': Bangle.off,
|
||||
|
|
@ -114,6 +141,92 @@ function showMainMenu() {
|
|||
return E.showMenu(mainmenu);
|
||||
}
|
||||
|
||||
function showWakeUpMenu() {
|
||||
const wakeUpMenu = {
|
||||
'': { 'title': 'LCD Wake-Up' },
|
||||
'< Back': showMainMenu,
|
||||
'Wake On BTN1': {
|
||||
value: settings.options.wakeOnBTN1,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnBTN1 = !settings.options.wakeOnBTN1;
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Wake On BTN2': {
|
||||
value: settings.options.wakeOnBTN2,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnBTN2 = !settings.options.wakeOnBTN2;
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Wake On BTN3': {
|
||||
value: settings.options.wakeOnBTN3,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnBTN3 = !settings.options.wakeOnBTN3;
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Wake on FaceUp': {
|
||||
value: settings.options.wakeOnFaceUp,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnFaceUp = !settings.options.wakeOnFaceUp;
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Wake on Touch': {
|
||||
value: settings.options.wakeOnTouch,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnTouch = !settings.options.wakeOnTouch;
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Wake On Twist': {
|
||||
value: settings.options.wakeOnTwist,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.options.wakeOnTwist = !settings.options.wakeOnTwist;
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Twist Threshold': {
|
||||
value: internalToG(settings.options.twistThreshold),
|
||||
min: -0.5,
|
||||
max: 0.5,
|
||||
step: 0.01,
|
||||
onchange: v => {
|
||||
settings.options.twistThreshold = gToInternal(v || 0.1);
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Twist Max Y': {
|
||||
value: settings.options.twistMaxY,
|
||||
min: -1500,
|
||||
max: 1500,
|
||||
step: 100,
|
||||
onchange: v => {
|
||||
settings.options.twistMaxY = v || -800;
|
||||
updateOptions();
|
||||
}
|
||||
},
|
||||
'Twist Timeout': {
|
||||
value: settings.options.twistTimeout,
|
||||
min: 0,
|
||||
max: 2000,
|
||||
step: 100,
|
||||
onchange: v => {
|
||||
settings.options.twistTimeout = v || 1000;
|
||||
updateOptions();
|
||||
}
|
||||
}
|
||||
}
|
||||
return E.showMenu(wakeUpMenu)
|
||||
}
|
||||
|
||||
function showLocaleMenu() {
|
||||
const localemenu = {
|
||||
'': { 'title': 'Locale' },
|
||||
|
|
|
|||
Loading…
Reference in New Issue