add init() return check, controller status, and MAC address debug

This commit is contained in:
ash
2026-06-30 22:07:06 +00:00
parent 2d3a5a9031
commit beb59da3e0
+10 -5
View File
@@ -44,20 +44,25 @@ BleMidiTransport::~BleMidiTransport() {
bool BleMidiTransport::begin() {
Serial.println("[BLE] Initializing BLE MIDI...");
// NimBLE-Arduino v1.4.0+ handles ESP32-S3 internally, using
// bt_cfg.bluetooth_mode = ESP_BT_MODE_BLE. Do NOT pre-init the
// BT controller here or NimBLEDevice::init() will see an
// error from double-init and abort via ESP_ERROR_CHECK.
Serial.println("[BLE] NimBLEDevice init...");
NimBLEDevice::init("JOC Midi");
if (!NimBLEDevice::init("JOC Midi")) {
Serial.println("[BLE] ERROR: NimBLEDevice::init() FAILED!");
return false;
}
Serial.println("[BLE] NimBLEDevice initialized");
esp_bt_controller_status_t ctl = esp_bt_controller_get_status();
Serial.printf("[BLE] Controller status: %d (0=IDLE 1=INITED 2=ENABLED)\n", ctl);
Serial.println("[BLE] Creating server...");
ble_server = NimBLEDevice::createServer();
if (!ble_server) {
Serial.println("[BLE] FAILED to create server");
return false;
}
NimBLEAddress addr = NimBLEDevice::getAddress();
Serial.printf("[BLE] Address: %s\n", addr.toString().c_str());
Serial.println("[BLE] Server created, setting callbacks...");
ble_server->setCallbacks(new ServerCallbacks());