Add JC ESP32-P4 M3 audio firmware support - #55
Conversation
Add a dedicated JC-ESP32P4-M3-DEV firmware variant so its ES8311 microphone feeds audio-reactive effects with the board's correct codec configuration and I2S framing. KPI: not collected; no ESP32 hardware is connected in this workspace, and the existing desktop test target is blocked by the pre-existing NetworkModule.h format-truncation warning. Core: - ESP32 platform: configure the JC board's ES8311 on GPIO7/8 with MCLK GPIO13, convert its 7-bit address at the driver seam, and capture 32-bit I2S samples. Scripts / MoonDeck: - ESP32 builder: add the esp32p4-jc-m3-eth firmware and its board-specific sdkconfig fragment. Tests: - JC firmware contracts: pin codec selection, dependency gating, address conversion, word size, and catalog audio pins. Docs / CI: - Device catalog and reference: document the JC board and publish GPIO48 as the default mic data pin while keeping it live-editable. - GitHub Actions: build and retain a complete flash package for the JC firmware branch.
Run the dedicated ESP32-P4 firmware build when the branch opens or updates a pull request, preserving the complete flash package as a GitHub Actions artifact. Docs / CI: - GitHub Actions: trigger the JC firmware build for pull requests targeting main.
Keep the bootloader and partition-table directories in the firmware artifact so the included ESP-IDF flash arguments resolve every binary without manual path edits. Docs / CI: - GitHub Actions: stage the JC firmware artifact with its original ESP-IDF directory layout.
Configure the ES8311 codec interface directly because ProjectMM owns the I2S data path. The esp_codec_dev high-level wrapper requires a non-null data_if and previously failed before audio capture started. Pin the validated esp_codec_dev 1.6 minor line and extend the JC firmware regression check.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Hi @ssjgesus , I didn't know about this board, nice PR ! few questions/remarks
|
Summary
Adds a dedicated firmware configuration and hardware profile for the JC-ESP32P4-M3-DEV, including working support for its onboard ES8311 microphone codec for ProjectMM audio-reactive effects.
Changes
Validation
The following checks pass:
Hardware validation
The firmware has been successfully installed and tested on a physical JC-ESP32P4-M3-DEV.
The onboard ES8311 microphone works with the configured pinout, and ProjectMM’s audio service successfully receives microphone input for audio-reactive effects.
References