Files
AutoFilm-ESP32/docs/megaplans/INTEGRATION-MEGAPLAN.md
gronod a33b4b0c74
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
Mark I01 status DONE
2026-09-16 21:05:57 +01:00

42 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)
1. Ensure you are on the appropriate integration branch off `develop`.
2. Read only: `AGENTS.md`, this file (status table), **the assigned phase file**. Open other docs only if the phase `READ:` list says so.
3. Execute `IN` only. Honour `OUT` and `FORBIDDEN`.
4. Run `VERIFY` exactly. Do not push if any verify item fails.
5. Commits: messages listed in the phase. Imperative. No secret tokens.
6. Push to origin. PR target is `develop`, not `main`.
7. Set phase `STATUS:` to `DONE` in the phase file **and** this table. One-line `Notes` if 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 `vTaskDelete` of 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 |