From 04c60aac896c9d950e6164762323d031a91c4043 Mon Sep 17 00:00:00 2001 From: chopster44 Date: Wed, 12 Nov 2025 20:59:28 +0000 Subject: [PATCH] advertise ble server --- lib/BLEOTA | 2 +- src/main.cpp | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/BLEOTA b/lib/BLEOTA index 361424d..8d5b663 160000 --- a/lib/BLEOTA +++ b/lib/BLEOTA @@ -1 +1 @@ -Subproject commit 361424ded32a10b6e2e6ee9353acf537337f8387 +Subproject commit 8d5b663c785cabd0c80bae1580474ee61eb76792 diff --git a/src/main.cpp b/src/main.cpp index 8ea5bef..7fac57e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,6 +13,23 @@ unsigned long lastBlink = 0; BLEServer* pServer = NULL; +bool deviceConnected = false; + +class ServerCallbacks : public BLEServerCallbacks { + void onConnect(BLEServer* pServer) override { + deviceConnected = true; + } + + void onDisconnect(BLEServer* pServer) override { + deviceConnected = false; + pServer->startAdvertising(); + } + + void onMtuChanged(BLEServer* pServer, esp_ble_gatts_cb_param_t* param) override { + Serial.print("MTU is now: "); + Serial.println(param->mtu.mtu); + } +}; void setup() { Serial.begin(115200); @@ -21,8 +38,17 @@ void setup() { BLEDevice::init(BLE_SERVER_NAME); pServer = BLEDevice::createServer(); + pServer->setCallbacks(new ServerCallbacks()); BLEota.begin(pServer); + + BLEAdvertising* pAdvertising = BLEDevice::getAdvertising(); + pAdvertising->setScanResponse(true); + pAdvertising->setMinPreferred(0x06); + pAdvertising->setMinPreferred(0x12); + BLEDevice::startAdvertising(); + BLEDevice::setMTU(128); + delay(1000); Serial.println("Started!"); }