revert to NimBLE-Arduino v1.4.0 (v2.2.3 caused button crash regression); restore v1.4.0 callback signatures, service->start(), and setScanResponse
This commit is contained in:
+1
-1
@@ -8,7 +8,7 @@ framework = arduino
|
||||
lib_deps =
|
||||
adafruit/Adafruit TinyUSB [email protected]
|
||||
fastled/FastLED@^3.9.0
|
||||
h2zero/NimBLE-Arduino@^2.2.3
|
||||
h2zero/NimBLE-Arduino@^1.4.0
|
||||
|
||||
build_unflags =
|
||||
-DARDUINO_USB_MODE=1
|
||||
|
||||
@@ -13,11 +13,11 @@ static NimBLECharacteristic* ble_char = nullptr;
|
||||
static bool device_connected = false;
|
||||
|
||||
class ServerCallbacks : public NimBLEServerCallbacks {
|
||||
void onConnect(NimBLEServer* server, NimBLEConnInfo&) override {
|
||||
void onConnect(NimBLEServer* server) override {
|
||||
device_connected = true;
|
||||
Serial.println("[BLE] Client connected");
|
||||
}
|
||||
void onDisconnect(NimBLEServer* server, NimBLEConnInfo&, int) override {
|
||||
void onDisconnect(NimBLEServer* server) 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, NimBLEConnInfo&) override {
|
||||
void onWrite(NimBLECharacteristic* characteristic) override {
|
||||
std::string value = characteristic->getValue();
|
||||
if (value.length() > 0 && instance) {
|
||||
instance->on_receive((const uint8_t*)value.data(), value.length());
|
||||
@@ -83,13 +83,15 @@ bool BleMidiTransport::begin() {
|
||||
ble_char->setCallbacks(new CharCallbacks());
|
||||
Serial.println("[BLE] Callbacks set");
|
||||
|
||||
Serial.println("[BLE] Service created (auto-starts with server)");
|
||||
Serial.println("[BLE] Starting service...");
|
||||
ble_service->start();
|
||||
Serial.println("[BLE] Service started");
|
||||
|
||||
Serial.println("[BLE] Starting advertising...");
|
||||
NimBLEAdvertising* adv = NimBLEDevice::getAdvertising();
|
||||
adv->setName("JOC Midi");
|
||||
adv->addServiceUUID(BLE_MIDI_SERVICE_UUID);
|
||||
adv->enableScanResponse(true);
|
||||
adv->setScanResponse(true);
|
||||
adv->start();
|
||||
|
||||
initialized = true;
|
||||
|
||||
Reference in New Issue
Block a user