Add JC ESP32-P4 M3 audio firmware - #1
Draft
ssjgesus wants to merge 4 commits into
Draft
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a dedicated
esp32p4-jc-m3-ethfirmware for the JC-ESP32P4-M3-DEV and configures its on-board ES8311 microphone for ProjectMM's audio-reactive pipeline.Root causes
0x18, while the codec control adapter expects the legacy 8-bit wire address.esp_codec_dev_new()inesp_codec_dev1.6.2 rejects a configuration without adata_if. ProjectMM owns I2S separately, so the high-level device wrapper always failed before capture began and surfaced as “codec init failed - check I2C wiring”.Changes
esp_codec_dev1.6 minor line.sdPinlive-editable so GPIO11 can be hardware-tested without reflashing.Validation
esp_codec_dev1.6.2.NetworkModule.hwarning unrelated to this change.