fix: add adv->setName, add periodic health check to diagnose invisible BLE device

This commit is contained in:
ash
2026-06-30 07:44:04 +00:00
parent 6e3173c9b8
commit af6fd2dc26
+8
View File
@@ -95,6 +95,7 @@ bool BleMidiTransport::begin() {
NimBLEAdvertising* adv = NimBLEDevice::getAdvertising(); NimBLEAdvertising* adv = NimBLEDevice::getAdvertising();
adv->addServiceUUID(BLE_MIDI_SERVICE_UUID); adv->addServiceUUID(BLE_MIDI_SERVICE_UUID);
adv->setScanResponse(true); adv->setScanResponse(true);
adv->setName("JOC Midi");
adv->start(); adv->start();
initialized = true; initialized = true;
@@ -104,6 +105,13 @@ bool BleMidiTransport::begin() {
void BleMidiTransport::update() { void BleMidiTransport::update() {
client_connected = device_connected; client_connected = device_connected;
static unsigned long last_report = 0;
if (millis() - last_report > 15000) {
last_report = millis();
NimBLEAdvertising* adv = NimBLEDevice::getAdvertising();
Serial.printf("[BLE] Health: connected=%d advertising=%d initialized=%d\n",
device_connected, adv ? adv->isAdvertising() : 0, initialized);
}
} }
void BleMidiTransport::on_midi_receive(std::function<void(const MidiEvent&)> callback) { void BleMidiTransport::on_midi_receive(std::function<void(const MidiEvent&)> callback) {