// Loopy MIDI Controller - Phase 1 // ESP32-S3 USB MIDI Foot Controller #include #include "midi_transport.h" #include "led_stub.h" #include "switch_stub.h" #include "app_task.h" DefaultLedStub led_driver; DefaultSwitchStub switch_driver; UsbMidiTransport midi_transport; AppTask controller(&led_driver, &switch_driver, &midi_transport); TaskHandle_t midi_task_handle = NULL; void midi_task(void* parameter) { Serial.println("[TASK] MIDI task started on core 0"); while (true) { midi_transport.update(); vTaskDelay(1); } } void setup() { Serial.begin(115200); delay(1000); Serial.println("================================="); Serial.println(" Loopy MIDI Controller v0.1"); Serial.println(" Phase 1: USB MIDI"); Serial.println("================================="); led_driver.begin(); switch_driver.begin(); midi_transport.begin(); controller.begin(); xTaskCreatePinnedToCore( midi_task, "midi_task", 4096, NULL, 3, &midi_task_handle, 0 ); Serial.println("================================="); Serial.println(" All systems ready"); Serial.println(" Waiting for USB connection..."); Serial.println("================================="); } void loop() { controller.update(); delay(10); }