refactor(ledc): remove deprecated API/macro for v6.0

This commit is contained in:
Song Ruo Jing
2025-06-17 20:40:05 +08:00
parent d87de032df
commit dca8f204eb
14 changed files with 61 additions and 91 deletions

View File

@@ -10,13 +10,12 @@ endif()
if(${target} STREQUAL "linux") if(${target} STREQUAL "linux")
set(priv_requires "") set(priv_requires "")
else() else()
set(priv_requires esp_pm) set(priv_requires esp_pm esp_driver_gpio)
endif() endif()
idf_component_register( idf_component_register(
SRCS ${srcs} SRCS ${srcs}
INCLUDE_DIRS ${public_include} INCLUDE_DIRS ${public_include}
PRIV_REQUIRES "${priv_requires}" PRIV_REQUIRES "${priv_requires}"
REQUIRES esp_driver_gpio # IDF-11989: Remove this in IDF v6.0
LDFRAGMENTS "linker.lf" LDFRAGMENTS "linker.lf"
) )

View File

@@ -9,27 +9,11 @@
#include "esp_err.h" #include "esp_err.h"
#include "esp_intr_alloc.h" #include "esp_intr_alloc.h"
#include "hal/ledc_types.h" #include "hal/ledc_types.h"
#include "driver/gpio.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if SOC_LEDC_SUPPORT_APB_CLOCK
/**
* @brief Frequency of one of the LEDC peripheral clock sources, APB_CLK
* @note This macro should have no use in your application, we keep it here only for backward compatible
*/
#define LEDC_APB_CLK_HZ _Pragma ("GCC warning \"'LEDC_APB_CLK_HZ' macro is deprecated\"") (APB_CLK_FREQ)
#endif
#if SOC_LEDC_SUPPORT_REF_TICK
/**
* @brief Frequency of one of the LEDC peripheral clock sources, REF_TICK
* @note This macro should have no use in your application, we keep it here only for backward compatible
*/
#define LEDC_REF_CLK_HZ _Pragma ("GCC warning \"'LEDC_REF_CLK_HZ' macro is deprecated\"") (REF_CLK_FREQ)
#endif
#define LEDC_ERR_DUTY (0xFFFFFFFF) #define LEDC_ERR_DUTY (0xFFFFFFFF)
#define LEDC_ERR_VAL (-1) #define LEDC_ERR_VAL (-1)
@@ -349,27 +333,6 @@ esp_err_t ledc_set_fade(ledc_mode_t speed_mode, ledc_channel_t channel, uint32_t
*/ */
esp_err_t ledc_isr_register(void (*fn)(void *), void *arg, int intr_alloc_flags, ledc_isr_handle_t *handle); esp_err_t ledc_isr_register(void (*fn)(void *), void *arg, int intr_alloc_flags, ledc_isr_handle_t *handle);
/**
* @brief Configure LEDC timer settings
*
* This function does not take care of whether the chosen clock source is enabled or not, also does not handle the clock source
* to meet channel sleep mode choice.
*
* If the chosen clock source is a new clock source to the LEDC timer, please use `ledc_timer_config`;
* If the clock source is kept to be the same, but frequency needs to be updated, please use `ledc_set_freq`.
*
* @param speed_mode Select the LEDC channel group with specified speed mode. Note that not all targets support high speed mode.
* @param timer_sel Timer index (0-3), there are 4 timers in LEDC module
* @param clock_divider Timer clock divide value, the timer clock is divided from the selected clock source
* @param duty_resolution Resolution of duty setting in number of bits. The range is [1, SOC_LEDC_TIMER_BIT_WIDTH]
* @param clk_src Select LEDC source clock.
*
* @return
* - (-1) Parameter error
* - Other Current LEDC duty
*/
esp_err_t ledc_timer_set(ledc_mode_t speed_mode, ledc_timer_t timer_sel, uint32_t clock_divider, uint32_t duty_resolution, ledc_clk_src_t clk_src) __attribute__((deprecated("Please use ledc_timer_config() or ledc_set_freq()")));
/** /**
* @brief Reset LEDC timer * @brief Reset LEDC timer
* *

View File

@@ -20,6 +20,7 @@
#include "clk_ctrl_os.h" #include "clk_ctrl_os.h"
#include "esp_private/esp_sleep_internal.h" #include "esp_private/esp_sleep_internal.h"
#include "esp_private/periph_ctrl.h" #include "esp_private/periph_ctrl.h"
#include "driver/gpio.h"
#include "esp_private/gpio.h" #include "esp_private/gpio.h"
#include "esp_private/esp_clk_tree_common.h" #include "esp_private/esp_clk_tree_common.h"
#include "esp_private/esp_gpio_reserve.h" #include "esp_private/esp_gpio_reserve.h"
@@ -260,13 +261,6 @@ static esp_err_t ledc_set_timer_params(ledc_mode_t speed_mode, ledc_timer_t time
return ESP_OK; return ESP_OK;
} }
// Deprecated public API
esp_err_t ledc_timer_set(ledc_mode_t speed_mode, ledc_timer_t timer_sel, uint32_t clock_divider, uint32_t duty_resolution,
ledc_clk_src_t clk_src)
{
return ledc_set_timer_params(speed_mode, timer_sel, clock_divider, duty_resolution, clk_src);
}
static IRAM_ATTR esp_err_t ledc_duty_config(ledc_mode_t speed_mode, ledc_channel_t channel, int hpoint_val, static IRAM_ATTR esp_err_t ledc_duty_config(ledc_mode_t speed_mode, ledc_channel_t channel, int hpoint_val,
int duty_val, ledc_duty_direction_t duty_direction, uint32_t duty_num, uint32_t duty_cycle, uint32_t duty_scale) int duty_val, ledc_duty_direction_t duty_direction, uint32_t duty_num, uint32_t duty_cycle, uint32_t duty_scale)
{ {

View File

@@ -14,14 +14,13 @@
#include "freertos/FreeRTOS.h" #include "freertos/FreeRTOS.h"
#include "freertos/task.h" #include "freertos/task.h"
#include "unity.h" #include "unity.h"
#include "soc/gpio_periph.h"
#include "soc/io_mux_reg.h"
#include "esp_system.h" #include "esp_system.h"
#include "esp_timer.h" #include "esp_timer.h"
#include "driver/ledc.h" #include "driver/ledc.h"
#include "soc/ledc_struct.h" #include "soc/ledc_struct.h"
#include "esp_clk_tree.h" #include "esp_clk_tree.h"
#include "test_ledc_utils.h" #include "test_ledc_utils.h"
#include "driver/gpio.h"
static void fade_setup(void) static void fade_setup(void)
{ {

View File

@@ -49,6 +49,15 @@ GPIO
:func:`gpio_iomux_in` and :func:`gpio_iomux_out` have been replaced by :func:`gpio_iomux_input` and :func:`gpio_iomux_output`, and have been moved to ``esp_private/gpio.h`` header file as private APIs for internal use only. :func:`gpio_iomux_in` and :func:`gpio_iomux_out` have been replaced by :func:`gpio_iomux_input` and :func:`gpio_iomux_output`, and have been moved to ``esp_private/gpio.h`` header file as private APIs for internal use only.
LEDC
----
- :func:`ledc_timer_set` has been removed. Use :func:`ledc_timer_config` or :func:`ledc_set_freq` instead.
- ``LEDC_APB_CLK_HZ`` and ``LEDC_REF_CLK_HZ`` have been removed.
- Removed esp_driver_gpio as a public required component from esp_driver_ledc.
I2C I2C
--- ---

View File

@@ -49,6 +49,15 @@ GPIO
:func:`gpio_iomux_in` 和 :func:`gpio_iomux_out` 已被 :func:`gpio_iomux_input` 和 :func:`gpio_iomux_output` 函数取代, 并移至 ``esp_private/gpio.h`` 头文件中作为仅供内部使用的私有 API。 :func:`gpio_iomux_in` 和 :func:`gpio_iomux_out` 已被 :func:`gpio_iomux_input` 和 :func:`gpio_iomux_output` 函数取代, 并移至 ``esp_private/gpio.h`` 头文件中作为仅供内部使用的私有 API。
LEDC
----
- :func:`ledc_timer_set` 已被移除。请使用 :func:`ledc_timer_config`:func:`ledc_set_freq` 代替。
- ``LEDC_APB_CLK_HZ````LEDC_REF_CLK_HZ`` 已被移除。
- esp_driver_gpio 不再作为 esp_driver_ledc 的公共依赖组件。
I2C I2C
--- ---

View File

@@ -1,7 +1,7 @@
/* /*
* AliGenie - Example * AliGenie - Example
* *
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Unlicense OR CC0-1.0 * SPDX-License-Identifier: Unlicense OR CC0-1.0
*/ */
@@ -419,11 +419,10 @@ void user_genie_event_handle(genie_event_t event, void *p_arg)
ESP_LOGI(TAG, "GENIE_EVT_RESET_BY_REPEAT_NOTIFY"); ESP_LOGI(TAG, "GENIE_EVT_RESET_BY_REPEAT_NOTIFY");
lightbulb_set_switch(false); lightbulb_set_switch(false);
lightbulb_effect_config_t effect1 = { lightbulb_effect_config_t effect1 = {
.red = 0, .hue = 120,
.green = 255, .saturation = 100,
.blue = 0, .max_value_brightness = 100,
.max_brightness = 100, .min_value_brightness = 0,
.min_brightness = 0,
.effect_cycle_ms = CONFIG_LIGHT_BLINK_PERIOD_MS, .effect_cycle_ms = CONFIG_LIGHT_BLINK_PERIOD_MS,
.effect_type = EFFECT_BLINK, .effect_type = EFFECT_BLINK,
.mode = WORK_COLOR, .mode = WORK_COLOR,
@@ -435,11 +434,10 @@ void user_genie_event_handle(genie_event_t event, void *p_arg)
ESP_LOGI(TAG, "GENIE_EVT_HW_RESET_START"); ESP_LOGI(TAG, "GENIE_EVT_HW_RESET_START");
lightbulb_set_switch(false); lightbulb_set_switch(false);
lightbulb_effect_config_t effect2 = { lightbulb_effect_config_t effect2 = {
.red = 0, .hue = 120,
.green = 255, .saturation = 100,
.blue = 0, .max_value_brightness = 100,
.max_brightness = 100, .min_value_brightness = 0,
.min_brightness = 0,
.effect_cycle_ms = CONFIG_LIGHT_BLINK_PERIOD_MS, .effect_cycle_ms = CONFIG_LIGHT_BLINK_PERIOD_MS,
.effect_type = EFFECT_BLINK, .effect_type = EFFECT_BLINK,
.mode = WORK_COLOR, .mode = WORK_COLOR,
@@ -1009,7 +1007,7 @@ static void example_ble_mesh_config_server_cb(esp_ble_mesh_cfg_server_cb_event_t
#if GENIE_VENDOR_MODEL_VERSION == 0 #if GENIE_VENDOR_MODEL_VERSION == 0
#elif GENIE_VENDOR_MODEL_VERSION == 1 #elif GENIE_VENDOR_MODEL_VERSION == 1
// local bind AppKEY and Subcribe Group Address // local bind AppKEY and Subscribe Group Address
local_operation(param->value.state_change.appkey_add.app_idx); local_operation(param->value.state_change.appkey_add.app_idx);
// genie mesh init // genie mesh init
genie_mesh_init(); genie_mesh_init();
@@ -1315,11 +1313,10 @@ static esp_err_t ble_mesh_init(void)
ESP_LOGW(TAG, "node not provisioned"); ESP_LOGW(TAG, "node not provisioned");
lightbulb_set_switch(false); lightbulb_set_switch(false);
lightbulb_effect_config_t effect3 = { lightbulb_effect_config_t effect3 = {
.red = 0, .hue = 120,
.green = 255, .saturation = 100,
.blue = 0, .max_value_brightness = 100,
.max_brightness = 100, .min_value_brightness = 0,
.min_brightness = 0,
.effect_cycle_ms = CONFIG_LIGHT_BLINK_PERIOD_MS, .effect_cycle_ms = CONFIG_LIGHT_BLINK_PERIOD_MS,
.effect_type = EFFECT_BLINK, .effect_type = EFFECT_BLINK,
.mode = WORK_COLOR, .mode = WORK_COLOR,

View File

@@ -1,7 +1,7 @@
/* /*
* AliGenie - Example * AliGenie - Example
* *
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Unlicense OR CC0-1.0 * SPDX-License-Identifier: Unlicense OR CC0-1.0
*/ */
@@ -45,12 +45,12 @@ static void board_led_init(void)
lightbulb_config_t config = { lightbulb_config_t config = {
.type = DRIVER_ESP_PWM, .type = DRIVER_ESP_PWM,
.driver_conf.pwm.freq_hz = 4000, .driver_conf.pwm.freq_hz = 4000,
.capability.enable_fades = true, .capability.enable_fade = true,
.capability.fades_ms = CONFIG_LIGHT_FADE_PERIOD_MS, .capability.fade_time_ms = CONFIG_LIGHT_FADE_PERIOD_MS,
.capability.enable_lowpower = false, .capability.enable_lowpower = false,
.capability.enable_mix_cct = false, .capability.enable_hardware_cct = false,
.capability.enable_status_storage = false, .capability.enable_status_storage = false,
.capability.mode_mask = COLOR_MODE, .capability.led_beads = LED_BEADS_3CH_RGB,
.capability.storage_cb = NULL, .capability.storage_cb = NULL,
.capability.sync_change_brightness_value = true, .capability.sync_change_brightness_value = true,
.io_conf.pwm_io.red = CONFIG_LIGHT_GPIO_RED, .io_conf.pwm_io.red = CONFIG_LIGHT_GPIO_RED,

View File

@@ -1,3 +1,3 @@
## IDF Component Manager Manifest File ## IDF Component Manager Manifest File
dependencies: dependencies:
espressif/lightbulb_driver: "==0.5.5" espressif/lightbulb_driver: ">=1.8.3"

View File

@@ -2,7 +2,7 @@
/* /*
* SPDX-FileCopyrightText: 2017 Intel Corporation * SPDX-FileCopyrightText: 2017 Intel Corporation
* SPDX-FileContributor: 2018-2021 Espressif Systems (Shanghai) CO LTD * SPDX-FileContributor: 2018-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -61,10 +61,10 @@ static void board_led_init(void)
.type = DRIVER_WS2812, .type = DRIVER_WS2812,
.driver_conf.ws2812.led_num = 3, .driver_conf.ws2812.led_num = 3,
.driver_conf.ws2812.ctrl_io = 8, .driver_conf.ws2812.ctrl_io = 8,
.capability.enable_fades = true, .capability.enable_fade = true,
.capability.fades_ms = 800, .capability.fade_time_ms = 800,
.capability.enable_status_storage = false, .capability.enable_status_storage = false,
.capability.mode_mask = COLOR_MODE, .capability.led_beads = LED_BEADS_3CH_RGB,
.capability.storage_cb = NULL, .capability.storage_cb = NULL,
.external_limit = NULL, .external_limit = NULL,
.gamma_conf = NULL, .gamma_conf = NULL,

View File

@@ -2,7 +2,7 @@
/* /*
* SPDX-FileCopyrightText: 2017 Intel Corporation * SPDX-FileCopyrightText: 2017 Intel Corporation
* SPDX-FileContributor: 2018-2021 Espressif Systems (Shanghai) CO LTD * SPDX-FileContributor: 2018-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -58,10 +58,10 @@ static void board_led_init(void)
.type = DRIVER_WS2812, .type = DRIVER_WS2812,
.driver_conf.ws2812.led_num = 3, .driver_conf.ws2812.led_num = 3,
.driver_conf.ws2812.ctrl_io = 8, .driver_conf.ws2812.ctrl_io = 8,
.capability.enable_fades = true, .capability.enable_fade = true,
.capability.fades_ms = 800, .capability.fade_time_ms = 800,
.capability.enable_status_storage = false, .capability.enable_status_storage = false,
.capability.mode_mask = COLOR_MODE, .capability.led_beads = LED_BEADS_3CH_RGB,
.capability.storage_cb = NULL, .capability.storage_cb = NULL,
.external_limit = NULL, .external_limit = NULL,
.gamma_conf = NULL, .gamma_conf = NULL,

View File

@@ -2,7 +2,7 @@
/* /*
* SPDX-FileCopyrightText: 2017 Intel Corporation * SPDX-FileCopyrightText: 2017 Intel Corporation
* SPDX-FileContributor: 2018-2021 Espressif Systems (Shanghai) CO LTD * SPDX-FileContributor: 2018-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -41,10 +41,10 @@ static void board_led_init(void)
.type = DRIVER_WS2812, .type = DRIVER_WS2812,
.driver_conf.ws2812.led_num = 3, .driver_conf.ws2812.led_num = 3,
.driver_conf.ws2812.ctrl_io = 8, .driver_conf.ws2812.ctrl_io = 8,
.capability.enable_fades = true, .capability.enable_fade = true,
.capability.fades_ms = 800, .capability.fade_time_ms = 800,
.capability.enable_status_storage = false, .capability.enable_status_storage = false,
.capability.mode_mask = COLOR_MODE, .capability.led_beads = LED_BEADS_3CH_RGB,
.capability.storage_cb = NULL, .capability.storage_cb = NULL,
.external_limit = NULL, .external_limit = NULL,
.gamma_conf = NULL, .gamma_conf = NULL,

View File

@@ -2,7 +2,7 @@
/* /*
* SPDX-FileCopyrightText: 2017 Intel Corporation * SPDX-FileCopyrightText: 2017 Intel Corporation
* SPDX-FileContributor: 2018-2021 Espressif Systems (Shanghai) CO LTD * SPDX-FileContributor: 2018-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -34,10 +34,10 @@ static void board_led_init(void)
.type = DRIVER_WS2812, .type = DRIVER_WS2812,
.driver_conf.ws2812.led_num = 3, .driver_conf.ws2812.led_num = 3,
.driver_conf.ws2812.ctrl_io = 8, .driver_conf.ws2812.ctrl_io = 8,
.capability.enable_fades = true, .capability.enable_fade = true,
.capability.fades_ms = 800, .capability.fade_time_ms = 800,
.capability.enable_status_storage = false, .capability.enable_status_storage = false,
.capability.mode_mask = COLOR_MODE, .capability.led_beads = LED_BEADS_3CH_RGB,
.capability.storage_cb = NULL, .capability.storage_cb = NULL,
.external_limit = NULL, .external_limit = NULL,
.gamma_conf = NULL, .gamma_conf = NULL,

View File

@@ -2,7 +2,7 @@
/* /*
* SPDX-FileCopyrightText: 2017 Intel Corporation * SPDX-FileCopyrightText: 2017 Intel Corporation
* SPDX-FileContributor: 2018-2021 Espressif Systems (Shanghai) CO LTD * SPDX-FileContributor: 2018-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -34,10 +34,10 @@ static void board_led_init(void)
.type = DRIVER_WS2812, .type = DRIVER_WS2812,
.driver_conf.ws2812.led_num = 3, .driver_conf.ws2812.led_num = 3,
.driver_conf.ws2812.ctrl_io = 8, .driver_conf.ws2812.ctrl_io = 8,
.capability.enable_fades = true, .capability.enable_fade = true,
.capability.fades_ms = 800, .capability.fade_time_ms = 800,
.capability.enable_status_storage = false, .capability.enable_status_storage = false,
.capability.mode_mask = COLOR_MODE, .capability.led_beads = LED_BEADS_3CH_RGB,
.capability.storage_cb = NULL, .capability.storage_cb = NULL,
.external_limit = NULL, .external_limit = NULL,
.gamma_conf = NULL, .gamma_conf = NULL,