Files
electron 1885db9400
CI / sanity (push) Canceled after 11s
CI / build (push) Canceled after 0s
feat: UART link module for Box-3 display
Context: the Box-3 touch display needs a live mirror of the looper
state and a way to send commands back.

Approach: UART1 (TX=22, RX=21, 460800 bauds) driven from the core 0
task only; binary frames from shared/looper_link.h.

- src/link_module.cpp/.h: STATE frames at 20 Hz (track flags, gains,
  pans, position, tempo, VU meters), CMD dispatch to existing
  Loop_*/Click_* functions, EVT emission helper
- src/click_module: Click_GetTempoBPM/Click_SetTempoBPM
- src/config.h: link pins, reclaim GPIO 21 (unused MIDI RX2)
- src/sd_module.cpp/.h: save/load request stubs (next commit)
- platformio.ini: -Ishared include path

Impact: a Box-3 (or tests/link_sim.py over USB-serial) can now mirror
and control the looper.
2026-08-04 14:46:38 +02:00

47 lines
1.4 KiB
INI

; PlatformIO Project Configuration File
;
; ESP32 Multitrack Looper (Marcel Licence)
; Target board: ESP32 Audio Kit v2.2 (ESP32-A1S, 4MB flash + 4MB PSRAM)
;
; The code lives in src/ as regular .cpp/.h translation units
; (migrated from the original Arduino IDE .ino layout).
;
; Build: pio run
; Upload: pio run -t upload
; Monitor: pio device monitor
[platformio]
src_dir = src
default_envs = esp32_audio_kit_es8388
[env]
framework = arduino
board = esp32dev
monitor_speed = 115200
upload_speed = 921600
board_build.flash_mode = qio
; equivalent of "Partition Scheme: Default 4MB with spiffs" in Arduino IDE
board_build.partitions = default.csv
build_flags =
-Ishared
-DBOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue
; versions taken from doc/board_info.md (reference Arduino IDE build)
lib_deps =
https://github.com/marcel-licence/ML_SynthTools/archive/refs/tags/v1.1.0.zip
adafruit/Adafruit GFX Library@^1.11.5
adafruit/Adafruit BusIO@^1.14.1
adafruit/Adafruit SSD1306@^2.5.7
; --- default target: arduino-esp32 core 2.0.2 (reference version) ---
[env:esp32_audio_kit_es8388]
platform = [email protected]
; --- alternative: arduino-esp32 core 2.0.7 (see targets.csv) ---
[env:esp32_audio_kit_es8388_core_2_0_7]
platform = [email protected]
; --- alternative: arduino-esp32 core 1.0.6 (legacy, see targets.csv) ---
[env:esp32_audio_kit_es8388_core_1_0_6]
platform = [email protected]