This commit is contained in:
Ben Meadors 2022-08-17 13:12:04 -05:00
parent 01a1f40ad2
commit adde8d1f07
2 changed files with 11 additions and 2 deletions

View File

@ -52,7 +52,8 @@
"shared_mutex": "cpp", "shared_mutex": "cpp",
"iostream": "cpp", "iostream": "cpp",
"esp_nimble_hci.h": "c", "esp_nimble_hci.h": "c",
"map": "cpp" "map": "cpp",
"random": "cpp"
}, },
"cSpell.words": [ "cSpell.words": [
"Blox", "Blox",

View File

@ -1,3 +1,4 @@
#include <Arduino.h>
#include "configuration.h" #include "configuration.h"
#include "NRF52Bluetooth.h" #include "NRF52Bluetooth.h"
#include "BluetoothCommon.h" #include "BluetoothCommon.h"
@ -11,6 +12,7 @@ static BLEService meshBleService = BLEService(BLEUuid(MESH_SERVICE_UUID_16));
static BLECharacteristic fromNum = BLECharacteristic(BLEUuid(FROMNUM_UUID_16)); static BLECharacteristic fromNum = BLECharacteristic(BLEUuid(FROMNUM_UUID_16));
static BLECharacteristic fromRadio = BLECharacteristic(BLEUuid(FROMRADIO_UUID_16)); static BLECharacteristic fromRadio = BLECharacteristic(BLEUuid(FROMRADIO_UUID_16));
static BLECharacteristic toRadio = BLECharacteristic(BLEUuid(TORADIO_UUID_16)); static BLECharacteristic toRadio = BLECharacteristic(BLEUuid(TORADIO_UUID_16));
static BLESecurity bleSecurity = BLESecurity();
static BLEDis bledis; // DIS (Device Information Service) helper class instance static BLEDis bledis; // DIS (Device Information Service) helper class instance
static BLEBas blebas; // BAS (Battery Service) helper class instance static BLEBas blebas; // BAS (Battery Service) helper class instance
@ -200,7 +202,6 @@ void setPairingMode() {
} }
// FIXME, turn off soft device access for debugging // FIXME, turn off soft device access for debugging
static bool isSoftDeviceAllowed = true; static bool isSoftDeviceAllowed = true;
@ -236,6 +237,13 @@ void NRF52Bluetooth::setup()
bledis.setFirmwareRev(optstr(APP_VERSION)); bledis.setFirmwareRev(optstr(APP_VERSION));
bledis.begin(); bledis.begin();
if (config.bluetooth.mode != Config_BluetoothConfig_PairingMode_NoPin) {
int32_t key = config.bluetooth.mode == Config_BluetoothConfig_PairingMode_FixedPin ?
config.bluetooth.fixed_pin : random(100000, 999999);
auto pinString = std::to_string(key);
DEBUG_MSG("Bluetooth pin set to '%i'\n", key);
bleSecurity.setPIN(pinString.c_str());
}
// Start the BLE Battery Service and set it to 100% // Start the BLE Battery Service and set it to 100%
DEBUG_MSG("Configuring the Battery Service\n"); DEBUG_MSG("Configuring the Battery Service\n");
blebas.begin(); blebas.begin();