Changelog

# ChangeLog

## 1.4.1 - 2026-7-28

### Enhancements:
* FOC:
    * Update ``espressif/arduino-foc`` dependency to v2.4.0 (SimpleFOC v2.4.0).
    * Include ``HybridStepperMotor``, ``InlineCurrentSense`` and ``StepDirListener`` in the ``esp_simplefoc.h`` umbrella header.

### Bug Fix:
* FOC:
    * Add missing ``StepperDriver2PWM``/``StepperDriver4PWM`` ``setPhaseState`` implementations.
    * Fix ``_driverSyncLowSide`` return type to match the SimpleFOC hardware API (``void*``).

## 1.4.0 - 2026-7-6

### Enhancements:
* FOC:
    * Remove the component target whitelist.
    * Guard MCPWM-only 6PWM and lowside current sense paths with SoC capability checks.

## 1.3.0 - 2026-5-17

### Enhancements:
* FOC:
    * Refactor 3PWM hardware resource allocation to use SoC capability macros and improve automatic driver selection.
    * Add ESP-IDF hardware support for ``InlineCurrentSense`` based on ADC oneshot and calibration drivers.
    * Add ESP-IDF hardware support for ``LowsideCurrentSense`` on MCPWM-based ``BLDCDriver3PWM`` and ``BLDCDriver6PWM``.
    * Add ESP platform support for ``StepperDriver2PWM`` and ``StepperDriver4PWM``.
    * Add compatibility support for ESP-IDF release/v6.0.
    * Update ``test_apps`` to support newer ESP-IDF test app directory layouts.

### Bug Fix:
* FOC:
    * Fix repeated LEDC initialization warnings by improving 3PWM LEDC resource cleanup.

## v1.2.3 - 2026-1-23

### Bug Fix:
* FOC:
    *  Fix ``Sensor::init()`` not being called after MT6701 spi sensor initialization.

## v1.2.2 - 2026-1-22

### Bug Fix:
* FOC:
    *  Fix ``Sensor::init()`` not being called after hardware sensor initialization.

## v1.2.1 - 2025-4-15

### Bug Fix:
* FOC:
    *  Fix uninitialized local driver struct variables causing assignment issues under compiler optimization.

## v1.2.0 - 2024-12-31
### Enhancements:
* FOC:
  *  The angle sensor initializes I2C using the ``i2c_bus`` component to support both new and old I2C driver.

### Bug Fix:
* FOC:
  *  Fix the issue where the pins used by the SPI sensor in TEST_APPS exceed the pin range of the ESP32.

## v1.1.0 - 2024-11-26
### Enhancements:
* FOC:
    * Support 6PWM driver. Note that only chips that support ``MCPWM`` can use 6PWM driver.

## v1.0.0 - 2024-9-20
### Enhancements:
* FOC:
    * MT6701 encoder supports I2C mode.
    * Modify the ledc source clock of ESP32C6 and ESP32H2 to auto.
    * Version maintenance.

## v0.2.0 - 2024-7-5
### Enhancements:
* FOC:
    * Support for as5048a encoder added

## v0.1.2 - 2023-12-11
### Bug Fix:
* FOC:
    * Fix mcpwm's comparator configuration not initializing interrupt priority.

## v0.1.1 - 2023-12-4
### Enhancements:
* FOC:
    * Change angle sensor driver with c++.

## v0.1.0 - 2023-11-4
### Enhancements:
* FOC:
    * Support chip which without mcpwm driver.

## V0.0.3 - 2023-8-16
### Enhancements:
* FOC:
    * Fix int type to uart_port_t type conversion.

## V0.0.2 - 2023-7-13
### Enhancements:
* FOC:
    * Remove the arduino-foc submodule and replace it with a component dependency.
    * Modify the Driver class of Arduino-FOC to support manual selection of pwm driver mode. If no PWM driver mode is specified, the system automatically applies for PWM driver.
    * Synchronize changes to test_apps.

## V0.0.1 - 2023-6-27
### Enhancements:
* FOC:
    * Add ESP-IDF driver for Arduino-FOC.
    * Fix mcpwm driver for esp-simplefoc.
    * Compatible with SimpleFOC Studio host computer.