mirror of https://github.com/espruino/BangleApps
setting 0.32: Fix 'beep' menu on Bangle.js 2
parent
c10e4b426b
commit
6bd548d409
|
@ -115,7 +115,7 @@
|
||||||
{
|
{
|
||||||
"id": "setting",
|
"id": "setting",
|
||||||
"name": "Settings",
|
"name": "Settings",
|
||||||
"version": "0.31",
|
"version": "0.32",
|
||||||
"description": "A menu for setting up Bangle.js",
|
"description": "A menu for setting up Bangle.js",
|
||||||
"icon": "settings.png",
|
"icon": "settings.png",
|
||||||
"tags": "tool,system",
|
"tags": "tool,system",
|
||||||
|
|
|
@ -34,3 +34,4 @@
|
||||||
0.29: Add Customize to Theme menu
|
0.29: Add Customize to Theme menu
|
||||||
0.30: Move '< Back' to the top of menus
|
0.30: Move '< Back' to the top of menus
|
||||||
0.31: Remove Bangle 1 settings when running on Bangle 2
|
0.31: Remove Bangle 1 settings when running on Bangle 2
|
||||||
|
0.32: Fix 'beep' menu on Bangle.js 2
|
||||||
|
|
|
@ -72,8 +72,37 @@ if (!('qmOptions' in settings)) settings.qmOptions = {}; // easier if this alway
|
||||||
const boolFormat = v => v ? "On" : "Off";
|
const boolFormat = v => v ? "On" : "Off";
|
||||||
|
|
||||||
function showMainMenu() {
|
function showMainMenu() {
|
||||||
var beepV = BANGLEJS2 ? [false,true] : [false, true, "vib"];
|
var beepMenuItem;
|
||||||
var beepN = BANGLEJS2 ? ["Off","On"] : ["Off", "Piezo", "Vibrate"];
|
if (BANGLEJS2) { // Bangle.js 2 is simply on/off
|
||||||
|
beepMenuItem = {
|
||||||
|
value: settings.beep,
|
||||||
|
format: boolFormat,
|
||||||
|
onchange: v => {
|
||||||
|
settings.beep = v;
|
||||||
|
updateSettings();
|
||||||
|
if (settings.beep) {
|
||||||
|
analogWrite(VIBRATE,0.1,{freq:2000});
|
||||||
|
setTimeout(()=>VIBRATE.reset(),200);
|
||||||
|
} // beep with vibration moter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else { // Bangle.js 1 has different options
|
||||||
|
var beepV = [false, true, "vib"];
|
||||||
|
var beepN = ["Off", "Piezo", "Vibrate"];
|
||||||
|
beepMenuItem = {
|
||||||
|
value: Math.max(0 | beepV.indexOf(settings.beep),0),
|
||||||
|
min: 0, max: beepV.length-1,
|
||||||
|
format: v => beepN[v],
|
||||||
|
onchange: v => {
|
||||||
|
settings.beep = beepV[v];
|
||||||
|
if (v==1) { analogWrite(D18,0.5,{freq:2000});setTimeout(()=>D18.reset(),200); } // piezo on Bangle.js 1
|
||||||
|
else if (v==2) { analogWrite(VIBRATE,0.1,{freq:2000});setTimeout(()=>VIBRATE.reset(),200); } // vibrate
|
||||||
|
updateSettings();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const mainmenu = {
|
const mainmenu = {
|
||||||
'': { 'title': 'Settings' },
|
'': { 'title': 'Settings' },
|
||||||
'< Back': ()=>load(),
|
'< Back': ()=>load(),
|
||||||
|
@ -88,22 +117,12 @@ function showMainMenu() {
|
||||||
updateSettings();
|
updateSettings();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'Beep': {
|
'Beep': beepMenuItem,
|
||||||
value: 0 | beepV.indexOf(settings.beep),
|
|
||||||
min: 0, max: 2,
|
|
||||||
format: v => beepN[v],
|
|
||||||
onchange: v => {
|
|
||||||
settings.beep = beepV[v];
|
|
||||||
if (v==1) { analogWrite(D18,0.5,{freq:2000});setTimeout(()=>D18.reset(),200); } // piezo
|
|
||||||
else if (v==2) { analogWrite(D13,0.1,{freq:2000});setTimeout(()=>D13.reset(),200); } // vibrate
|
|
||||||
updateSettings();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'Vibration': {
|
'Vibration': {
|
||||||
value: settings.vibrate,
|
value: settings.vibrate,
|
||||||
format: boolFormat,
|
format: boolFormat,
|
||||||
onchange: () => {
|
onchange: v => {
|
||||||
settings.vibrate = !settings.vibrate;
|
settings.vibrate = v;
|
||||||
updateSettings();
|
updateSettings();
|
||||||
if (settings.vibrate) {
|
if (settings.vibrate) {
|
||||||
VIBRATE.write(1);
|
VIBRATE.write(1);
|
||||||
|
@ -146,7 +165,7 @@ function showBLEMenu() {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'HID': {
|
'HID': {
|
||||||
value: 0 | hidV.indexOf(settings.HID),
|
value: Math.max(0,0 | hidV.indexOf(settings.HID)),
|
||||||
min: 0, max: 3,
|
min: 0, max: 3,
|
||||||
format: v => hidN[v],
|
format: v => hidN[v],
|
||||||
onchange: v => {
|
onchange: v => {
|
||||||
|
|
Loading…
Reference in New Issue