diff --git a/extra_script.py b/extra_script.py index fda0754..8baa197 100644 --- a/extra_script.py +++ b/extra_script.py @@ -1,3 +1,21 @@ Import("env") +import os -env.Append(LINKFLAGS=["-Wl,--allow-multiple-definition"]) +lib_path = os.path.join( + env.subst("$PROJECT_DIR"), + ".pio", "libdeps", env.subst("$PIOENV"), + "Adafruit TinyUSB Library", "src" +) + +conflicting = [ + "tusb.c", + "common/tusb_fifo.c", + "device/usbd.c", + "device/usbd_control.c", +] + +for f in conflicting: + path = os.path.join(lib_path, f) + if os.path.exists(path): + os.remove(path) + print(f"[extra_script] Removed {f} (provided by ESP32 core libarduino_tinyusb.a)") diff --git a/src/midi_transport.cpp b/src/midi_transport.cpp index f857355..c218813 100644 --- a/src/midi_transport.cpp +++ b/src/midi_transport.cpp @@ -13,27 +13,15 @@ UsbMidiTransport::~UsbMidiTransport() { bool UsbMidiTransport::begin() { Serial.println("[MIDI] Setting up USB MIDI device..."); - if (!TinyUSBDevice.isInitialized()) { - TinyUSBDevice.begin(0); - } - - TinyUSBDevice.setManufacturerDescriptor("Ashley Strahle"); - TinyUSBDevice.setProductDescriptor("Loopy Foot Controller"); - TinyUSBDevice.setSerialDescriptor("LFMIDI001"); - if (!usb_midi.begin()) { Serial.println("[MIDI] ERROR: USB MIDI init failed"); return false; } - if (TinyUSBDevice.mounted()) { - TinyUSBDevice.detach(); - delay(10); - TinyUSBDevice.attach(); - } + Serial.printf("[MIDI] USB VID:PID=%04X:%04X\r\n", + TinyUSBDevice.idVendor(), TinyUSBDevice.idProduct()); initialized = true; - Serial.println("[MIDI] USB MIDI ready - enumerating..."); return true; }