Files
AutoFilm-ESP32/docs/megaplans/integration/I03-motor-hal.md
gronod b6c385e09c
ci / test (pull_request) Successful in 1m14s
ci / test (push) Successful in 1m17s
ci / firmware (wroom, sdkconfig.wroom, esp32) (pull_request) Successful in 3m48s
ci / firmware (jc4827w543, sdkconfig.s3, esp32s3) (pull_request) Successful in 3m57s
ci / firmware (wroom, sdkconfig.wroom, esp32) (push) Successful in 4m4s
ci / firmware (jc4827w543, sdkconfig.s3, esp32s3) (push) Successful in 4m8s
Mark I03 status DONE
2026-09-16 21:58:26 +01:00

863 B

STATUS: DONE DEPENDS: I01

READ: docs/megaplans/INTEGRATION-MEGAPLAN.md, components/hal_motor/*

IN:

  1. hal_motor: Generalize wroom/hal_motor.c (already pure-IDF RMT) to read pins from board.h; compile for both targets via CMake (IDF_TARGET esp32|esp32s3 → shared source, PRIV_REQUIRES board_wroom|board_jc4827w543).
  2. Preserve: EN HIGH at init + on stop, stop_req sampled inside step loop, immortal task, hal_motor_request_stop ISR-safe.

OUT: Temp logic, audio logic. FORBIDDEN: Blocking UI on motor operations.

VERIFY: idf.py build succeeds for both targets. Run host ctests if any apply to motor logic.

COMMITS:

  1. Share RMT motor HAL across both boards

DoD checkboxes:

  • hal_motor generalized to use board accessors.
  • EN HIGH initialization preserved.
  • Build succeeds on both targets.