diff --git a/src/ble_midi_transport.cpp b/src/ble_midi_transport.cpp index 2872fc9..588dd3a 100644 --- a/src/ble_midi_transport.cpp +++ b/src/ble_midi_transport.cpp @@ -13,11 +13,11 @@ static NimBLECharacteristic* ble_char = nullptr; static bool device_connected = false; class ServerCallbacks : public NimBLEServerCallbacks { - void onConnect(NimBLEServer* server) override { + void onConnect(NimBLEServer* server, NimBLEConnInfo&) override { device_connected = true; Serial.println("[BLE] Client connected"); } - void onDisconnect(NimBLEServer* server) override { + void onDisconnect(NimBLEServer* server, NimBLEConnInfo&, int) override { device_connected = false; Serial.println("[BLE] Client disconnected, restarting advertising"); NimBLEDevice::startAdvertising(); @@ -25,7 +25,7 @@ class ServerCallbacks : public NimBLEServerCallbacks { }; class CharCallbacks : public NimBLECharacteristicCallbacks { - void onWrite(NimBLECharacteristic* characteristic) override { + void onWrite(NimBLECharacteristic* characteristic, NimBLEConnInfo&) override { std::string value = characteristic->getValue(); if (value.length() > 0 && instance) { instance->on_receive((const uint8_t*)value.data(), value.length()); @@ -83,9 +83,7 @@ bool BleMidiTransport::begin() { ble_char->setCallbacks(new CharCallbacks()); Serial.println("[BLE] Callbacks set"); - Serial.println("[BLE] Starting service..."); - ble_service->start(); - Serial.println("[BLE] Service started"); + Serial.println("[BLE] Service created (auto-starts with server)"); Serial.println("[BLE] Starting advertising..."); NimBLEAdvertising* adv = NimBLEDevice::getAdvertising();