fix v2.2.3 API: update callback signatures (onConnect, onDisconnect, onWrite) and remove deprecated service->start()

This commit is contained in:
ash
2026-07-01 04:30:50 +00:00
parent 18844c17c0
commit 993a09fa7c
+4 -6
View File
@@ -13,11 +13,11 @@ static NimBLECharacteristic* ble_char = nullptr;
static bool device_connected = false; static bool device_connected = false;
class ServerCallbacks : public NimBLEServerCallbacks { class ServerCallbacks : public NimBLEServerCallbacks {
void onConnect(NimBLEServer* server) override { void onConnect(NimBLEServer* server, NimBLEConnInfo&) override {
device_connected = true; device_connected = true;
Serial.println("[BLE] Client connected"); Serial.println("[BLE] Client connected");
} }
void onDisconnect(NimBLEServer* server) override { void onDisconnect(NimBLEServer* server, NimBLEConnInfo&, int) override {
device_connected = false; device_connected = false;
Serial.println("[BLE] Client disconnected, restarting advertising"); Serial.println("[BLE] Client disconnected, restarting advertising");
NimBLEDevice::startAdvertising(); NimBLEDevice::startAdvertising();
@@ -25,7 +25,7 @@ class ServerCallbacks : public NimBLEServerCallbacks {
}; };
class CharCallbacks : public NimBLECharacteristicCallbacks { class CharCallbacks : public NimBLECharacteristicCallbacks {
void onWrite(NimBLECharacteristic* characteristic) override { void onWrite(NimBLECharacteristic* characteristic, NimBLEConnInfo&) override {
std::string value = characteristic->getValue(); std::string value = characteristic->getValue();
if (value.length() > 0 && instance) { if (value.length() > 0 && instance) {
instance->on_receive((const uint8_t*)value.data(), value.length()); instance->on_receive((const uint8_t*)value.data(), value.length());
@@ -83,9 +83,7 @@ bool BleMidiTransport::begin() {
ble_char->setCallbacks(new CharCallbacks()); ble_char->setCallbacks(new CharCallbacks());
Serial.println("[BLE] Callbacks set"); Serial.println("[BLE] Callbacks set");
Serial.println("[BLE] Starting service..."); Serial.println("[BLE] Service created (auto-starts with server)");
ble_service->start();
Serial.println("[BLE] Service started");
Serial.println("[BLE] Starting advertising..."); Serial.println("[BLE] Starting advertising...");
NimBLEAdvertising* adv = NimBLEDevice::getAdvertising(); NimBLEAdvertising* adv = NimBLEDevice::getAdvertising();