mirror of https://github.com/espruino/BangleApps
Move BLE into its own menu, add passkey pairing setup. Doesn't seem great when working via web bluetooth
parent
fcd5a06e21
commit
297188624e
|
@ -3,4 +3,5 @@
|
|||
if (!settings) return;
|
||||
if (settings.options) Bangle.setOptions(settings.options);
|
||||
if (settings.brightness && settings.brightness!=1) Bangle.setLCDBrightness(settings.brightness);
|
||||
if (settings.passkey!==undefined && settings.passkey.length==6) NRF.setSecurity({passkey:settings.passkey, mitm:1, display:1});
|
||||
})()
|
||||
|
|
|
@ -67,22 +67,7 @@ function showMainMenu() {
|
|||
'': { 'title': 'Settings' },
|
||||
'Make Connectable': ()=>makeConnectable(),
|
||||
'App/Widget Settings': ()=>showAppSettingsMenu(),
|
||||
'BLE': {
|
||||
value: settings.ble,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.ble = !settings.ble;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'Programmable': {
|
||||
value: settings.blerepl,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.blerepl = !settings.blerepl;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'BLE': ()=>showBLEMenu(),
|
||||
'Debug Info': {
|
||||
value: settings.log,
|
||||
format: v => v ? "Show" : "Hide",
|
||||
|
@ -134,6 +119,58 @@ function showMainMenu() {
|
|||
return E.showMenu(mainmenu);
|
||||
}
|
||||
|
||||
function showBLEMenu() {
|
||||
E.showMenu({
|
||||
'BLE': {
|
||||
value: settings.ble,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.ble = !settings.ble;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'Programmable': {
|
||||
value: settings.blerepl,
|
||||
format: boolFormat,
|
||||
onchange: () => {
|
||||
settings.blerepl = !settings.blerepl;
|
||||
updateSettings();
|
||||
}
|
||||
},
|
||||
'Passkey': {
|
||||
value: settings.passkey?settings.passkey:"none",
|
||||
onchange: () => setTimeout(showPasskeyMenu) // graphical_menu redraws after the call
|
||||
},
|
||||
'< Back': ()=>showMainMenu()
|
||||
});
|
||||
}
|
||||
|
||||
function showPasskeyMenu() {
|
||||
var menu = {
|
||||
"Disable" : () => {
|
||||
settings.passkey = undefined;
|
||||
updateSettings();
|
||||
showBLEMenu();
|
||||
}
|
||||
};
|
||||
if (!settings.passkey || settings.passkey.length!=6)
|
||||
settings.passkey = "123456";
|
||||
for (var i=0;i<6;i++) (function(i){
|
||||
menu[`Digit ${i+1}`] = {
|
||||
value : 0|settings.passkey[i],
|
||||
min: 0, max: 9,
|
||||
onchange: v => {
|
||||
var p = settings.passkey.split("");
|
||||
p[i] = v;
|
||||
settings.passkey = p.join("");
|
||||
updateSettings();
|
||||
}
|
||||
};
|
||||
})(i);
|
||||
menu['< Back']=()=>showBLEMenu();
|
||||
E.showMenu(menu);
|
||||
}
|
||||
|
||||
function showLCDMenu() {
|
||||
const lcdMenu = {
|
||||
'': { 'title': 'LCD' },
|
||||
|
|
Loading…
Reference in New Issue