esp-nimble-cpp icon indicating copy to clipboard operation
esp-nimble-cpp copied to clipboard

Taking more time to connect from NRF to ESP32 BLE Server

Open demirschmid61 opened this issue 2 years ago • 2 comments

Hello sir,

Thank you very much for this wonderful library which reduces the RAM. I am trying to migrate from ArduinoBLE to NimBLE, but facing some issues.

When I am trying to connect from NRF it's taking more time to connect to the ESP32 BLE server compared to ardroidBLE. I have 6 characteristics.

The BLE initialization code snippet is mentioned below `void initBLE() { NimBLEDevice::init("ESP32Server"); NimBLEDevice::setPower(ESP_PWR_LVL_P9); NimBLEDevice::setMTU(516);

// Create Server pServer = NimBLEDevice::createServer();

pServer->setCallbacks(new ServerCallBack()); // Set callback for onConnect onDisconnect

// Create Service createService(); NimBLEAdvertising *pAdvertising = pServer->getAdvertising();

pAdvertising->addServiceUUID(SERVICE_UUID); pAdvertising->start(); pAdvertising->setScanResponse(true); pAdvertising->setMinPreferred(0x06); pAdvertising->setMinPreferred(0x12); NimBLEDevice::startAdvertising(); }`

The service and characteristic creation code snippet is mentioned below

`void createService() { NimBLEService *pService = pServer->createService(SERVICE_UUID);

pCharacteristic1 = pService->createCharacteristic(CHARACTERISTIC_UUID1, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE_NR | NIMBLE_PROPERTY::WRITE | NIMBLE_PROPERTY::NOTIFY); pCharacteristic2 = pService->createCharacteristic(CHARACTERISTIC_UUID2, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::NOTIFY);

pCharacteristic5 = pService->createCharacteristic(CHARACTERISTIC_UUID5, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::NOTIFY); pCharacteristic3 = pService->createCharacteristic(CHARACTERISTIC_UUID3, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::NOTIFY);

pCharacteristic4 = pService->createCharacteristic(CHARACTERISTIC_UUID4, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::NOTIFY);

pCharacteristic6 = pService->createCharacteristic(CHARACTERISTIC_UUID6, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE_NR | NIMBLE_PROPERTY::WRITE | NIMBLE_PROPERTY::NOTIFY);

pCharacteristic7 = pService->createCharacteristic(CHARACTERISTIC_UUID7, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE_NR | NIMBLE_PROPERTY::WRITE | NIMBLE_PROPERTY::NOTIFY);

pCharacteristic8 = pService->createCharacteristic(CHARACTERISTIC_UUID8, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE_NR | NIMBLE_PROPERTY::NOTIFY);

pCharacteristic9 = pService->createCharacteristic(CHARACTERISTIC_UUID9, NIMBLE_PROPERTY::READ | NIMBLE_PROPERTY::WRITE_NR | NIMBLE_PROPERTY::NOTIFY);

pCharacteristic1->setCallbacks(&chrCallBack);
pCharacteristic6->setCallbacks(&confCallBack); pCharacteristic7->setCallbacks(&synchCallback); pService->start(); }`

Is there anything i am missing?

WhatsApp Image 2024-01-17 at 07 55 01_a4cc53ee

demirschmid61 avatar Jan 17 '24 02:01 demirschmid61

You're quite welcome.

The issue could just be the nRF app, there should be no issue on the NimBLE side that can cause this.

h2zero avatar Jan 17 '24 21:01 h2zero