only one announcer seems supported in ESP32 BLE, so use that for our mesh service

1.2-legacy
geeksville 2020-02-13 11:53:46 -08:00
rodzic 59aaffa3e5
commit a7b5da5dd2
2 zmienionych plików z 13 dodań i 9 usunięć

Wyświetl plik

@ -199,19 +199,17 @@ BLEServer *initBLE(std::string deviceName, std::string hwVendor, std::string swV
// BLEService *pBattery = createBatteryService(pServer);
BLEService *pUpdate = createUpdateService(pServer); // We need to advertise this so our android ble scan operation can see it
pServer->getAdvertising()->addServiceUUID(pUpdate->getUUID());
// It seems only one service can be advertised - so for now don't advertise our updater
// pServer->getAdvertising()->addServiceUUID(pUpdate->getUUID());
// start all our services (do this after creating all of them)
pDevInfo->start();
pUpdate->start();
// Start advertising
BLEAdvertising *advert = pServer->getAdvertising();
// FIXME turn on this restriction only after the device is paired with a phone
// advert->setScanFilter(false, true); // We let anyone scan for us (FIXME, perhaps only allow that until we are paired with a phone and configured) but only let whitelist phones connect
advert->start();
BLESecurity *pSecurity = new BLESecurity();
pSecurity->setCapability(ESP_IO_CAP_OUT);

Wyświetl plik

@ -382,6 +382,9 @@ void setup()
DEBUG_MSG("Starting bluetooth\n");
BLEServer *serve = initBLE(getDeviceName(), HW_VENDOR, APP_VERSION); // FIXME, use a real name based on the macaddr
createMeshBluetoothService(serve);
// Start advertising - this must be done _after_ creating all services
serve->getAdvertising()->start();
}
enableModemSleep();
@ -422,9 +425,12 @@ void loop()
if (axp.isVbusRemoveIRQ())
isCharging = false;
// This is not a GPIO actually connected on the tbeam board
// digitalWrite(2, !digitalRead(2));
axp.clearIRQ();
if (axp.isAcinPlugInIRQ())
fixme - cleanup all this is chrarging crap.just read the status registers then clear the irq
isUSBPowered = true
// This is not a GPIO actually connected on the tbeam board
// digitalWrite(2, !digitalRead(2));
axp.clearIRQ();
}
#endif
}