Skip to content

refactor: unify the espfoc inverter driver to make pwm and adc codes integrated.#44

Open
uLipe wants to merge 11 commits into
mainfrom
feature/unified-inverter
Open

refactor: unify the espfoc inverter driver to make pwm and adc codes integrated.#44
uLipe wants to merge 11 commits into
mainfrom
feature/unified-inverter

Conversation

@uLipe

@uLipe uLipe commented Jun 14, 2026

Copy link
Copy Markdown
Owner

No description provided.

uLipe added 11 commits June 14, 2026 17:05
Drop ESPF capture, stream bridges, host GUI, and related Kconfig/CI/docs so
bring-up relies on the console shell and external tools such as MCU Viewer.
Replace separate inverter, isensor, and rotor_sensor vtables with one
inverter handle (PWM + shunt) and encoder factories by driver type.
Add esp_foc_inverter_mcpwm factories, internal isensor_adc, and MCPWM
comparator-triggered sampling; rename rotor drivers to esp_foc_encoder.
Drop ESP32-S2 ADC support from the build.
Axis init takes inverter plus encoder only; current sense flows through
the inverter vtable. FITL exposes two handles and drops scope hooks.
Refresh mocks and FITL integration tests, migrate examples to
esp_foc_inverter_mcpwm factories, and document the breaking API change.
Each supported target gets a self-contained source/drivers/inverter/<soc>/
folder (PWM, ADC, DMA, ETM, bundle); encoders live under encoder/<type>/.
CMake selects the inverter tree at build time; the public factory header
moves to include/espFoC/drivers/.
Drop CONFIG_ESP_FOC_TUNER_ENABLE axis magic, stale sdkconfig scope/tuner
options, and rename esp_foc_calibration_axis_tuner_store to store_live
for the shell persist command.
Migrate test apps to unified inverter/encoder includes, extend CI builds
to esp32/esp32c6/esp32s3/esp32p4, and compile-check unit tests on all
supported HW targets.
Use vTaskDelay(1) instead of esp_foc_sleep_ms/usleep so GPTimer ISRs
keep firing under QEMU, and stop any prior GPTimer before re-arming.
Derived-driver _new() entry points belong under source/drivers/include so
include/espFoC stays limited to the esp_foc_inverter_t interface.
Keeps derived-driver factories colocated with the inverter driver tree.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant