add adv->setName(JOC Midi) and health check to restart advertising

This commit is contained in:
ash
2026-06-30 12:55:29 +00:00
parent 8515963e07
commit 5ee5949420
+10
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,15 @@ bool BleMidiTransport::begin() {
void BleMidiTransport::update() { void BleMidiTransport::update() {
client_connected = device_connected; client_connected = device_connected;
static unsigned long last_health = 0;
if (millis() - last_health > 30000) {
last_health = millis();
NimBLEAdvertising* adv = NimBLEDevice::getAdvertising();
if (adv && !adv->isAdvertising()) {
Serial.println("[BLE] Restarting advertising...");
adv->start();
}
}
} }
void BleMidiTransport::on_midi_receive(std::function<void(const MidiEvent&)> callback) { void BleMidiTransport::on_midi_receive(std::function<void(const MidiEvent&)> callback) {