ci / test (push) Successful in 1m4s
ci / firmware (jc4827w543, sdkconfig.s3, esp32s3) (push) Successful in 3m56s
ci / firmware (wroom, sdkconfig.wroom, esp32) (push) Successful in 3m57s
ci / test (pull_request) Successful in 1m22s
ci / firmware (wroom, sdkconfig.wroom, esp32) (pull_request) Successful in 4m42s
ci / firmware (jc4827w543, sdkconfig.s3, esp32s3) (pull_request) Successful in 4m47s
2.3 KiB
2.3 KiB
INTEGRATION MEGAPLAN — AutoFilm-ESP32 S3 Hardware Integration
Audience: coding agent. One phase = one session. Do not start the next phase in the same session.
Summary
This megaplan drives the hardware integration for the ESP32-S3 (JC4827W543) board, activating the stepper motor, DS18B20 temperature sensor, and I2S speaker using conflict-free, header-available GPIOs. To ensure success, these changes have been broken down from a single monolithic phase into a sequence of safe, isolated phases.
Protocol (every session)
- Ensure you are on the appropriate integration branch off
develop. - Read only:
AGENTS.md, this file (status table), the assigned phase file. Open other docs only if the phaseREAD:list says so. - Execute
INonly. HonourOUTandFORBIDDEN. - Run
VERIFYexactly. Do not push if any verify item fails. - Commits: messages listed in the phase. Imperative. No secret tokens.
- Push to origin. PR target is
develop, notmain. - Set phase
STATUS:toDONEin the phase file and this table. One-lineNotesif you diverged (API name only — do not silently change behaviour).
If blocked: stop, commit nothing broken, write BLOCKED: at top of the phase file with the exact error.
Frozen constraints (never reinterpret)
- The motor EN/STEP/DIR, DS18B20, and I2S audio pins for the JC4827W543 are strictly defined in this plan and the pin audit doc.
- Constraints that eliminate S3 pins:
- QSPI display: 45, 47, 21, 48, 40, 39 + BL 1 — consumed
- GT911: SDA 8, SCL 4, INT 3, RST 38 — consumed
- Speaker I2S: 2 (LRCLK), 41 (DIN), 42 (BCLK) — consumed by onboard amp
- TF slot: 10–13; USB: 19/20; UART0: 43/44; BOOT+LCD_TE: 0
- Octal PSRAM: 33–37 off-limits
- GPIO46 is INPUT-ONLY on ESP32-S3 — excluded from outputs entirely
- UI never blocks on hardware operations (motor, OneWire, I2S).
- Watchdog stays on. No
vTaskDeleteof long-lived workers.
Status
| ID | File | Session goal | STATUS |
|---|---|---|---|
| I01 | integration/I01-board-configs.md |
Board pin allocations & accessors | DONE |
| I02 | integration/I02-temp-fix.md |
Temp HAL shared & starvation fix | TODO |
| I03 | integration/I03-motor-hal.md |
Motor HAL shared across boards | TODO |
| I04 | integration/I04-audio-i2s.md |
I2S audio implementation for S3 | TODO |