diff --git a/apps/bthrm/default.json b/apps/bthrm/default.json index 2c729ec68..79605b412 100644 --- a/apps/bthrm/default.json +++ b/apps/bthrm/default.json @@ -17,5 +17,6 @@ "gracePeriodConnect": 0, "gracePeriodService": 0, "gracePeriodRequest": 0, - "bonding": false + "bonding": false, + "active": true } diff --git a/apps/bthrm/lib.js b/apps/bthrm/lib.js index 32a0f5a40..08f626392 100644 --- a/apps/bthrm/lib.js +++ b/apps/bthrm/lib.js @@ -387,8 +387,14 @@ exports.enable = () => { return; } log("Requesting device with filters", filters); - promise = NRF.requestDevice({ filters: filters, active: true }); - + try { + promise = NRF.requestDevice({ filters: filters, active: settings.active }); + } catch (e){ + log("Error during initial request:", e); + onDisconnect(e); + return; + } + if (settings.gracePeriodRequest){ log("Add " + settings.gracePeriodRequest + "ms grace period after request"); } diff --git a/apps/bthrm/settings.js b/apps/bthrm/settings.js index fb5aa04da..459ed29fc 100644 --- a/apps/bthrm/settings.js +++ b/apps/bthrm/settings.js @@ -102,6 +102,12 @@ writeSettings("bonding",v); } }, + 'Use active scanning': { + value: !!settings.active, + onchange: v => { + writeSettings("active",v); + } + }, 'Grace periods': function() { E.showMenu(submenu_grace); } };