From 3bd14ffb60f8cd6e5c9eefd7cdd079d33c76f5cb Mon Sep 17 00:00:00 2001 From: chendejin Date: Wed, 19 Mar 2025 12:16:45 +0800 Subject: [PATCH] revert 41ec0e29431456dfc904ac8fa4b2be14facb52ca --- examples/light/CMakeLists.txt | 22 ++++++ examples/light/main/app_driver.cpp | 85 ++++++---------------- examples/light/main/app_priv.h | 4 +- examples/light/main/idf_component.yml | 4 - examples/light/sdkconfig.defaults | 9 --- examples/light/sdkconfig.defaults.esp32c2 | 14 ---- examples/light/sdkconfig.defaults.esp32c6 | 13 ---- examples/light/sdkconfig.defaults.esp32h2 | 12 --- examples/light/sdkconfig.defaults.esp32s3 | 7 -- examples/light/sdkconfig.defaults.ext_plat | 10 --- 10 files changed, 45 insertions(+), 135 deletions(-) diff --git a/examples/light/CMakeLists.txt b/examples/light/CMakeLists.txt index 76b17f8d7..cc2c0386c 100644 --- a/examples/light/CMakeLists.txt +++ b/examples/light/CMakeLists.txt @@ -6,6 +6,26 @@ if(NOT DEFINED ENV{ESP_MATTER_PATH}) message(FATAL_ERROR "Please set ESP_MATTER_PATH to the path of esp-matter repo") endif(NOT DEFINED ENV{ESP_MATTER_PATH}) +if(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH}) + if("${IDF_TARGET}" STREQUAL "esp32" OR "${IDF_TARGET}" STREQUAL "") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32c3") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c3_devkit_m) + elseif("${IDF_TARGET}" STREQUAL "esp32c2") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c2_devkit_m) + elseif("${IDF_TARGET}" STREQUAL "esp32h2") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32h2_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32s3") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32s3_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32c6") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/esp32c6_devkit_c) + elseif("${IDF_TARGET}" STREQUAL "esp32p4") + set(ENV{ESP_MATTER_DEVICE_PATH} $ENV{ESP_MATTER_PATH}/device_hal/device/hollow) + else() + message(FATAL_ERROR "Unsupported IDF_TARGET") + endif() +endif(NOT DEFINED ENV{ESP_MATTER_DEVICE_PATH}) + set(PROJECT_VER "1.0") set(PROJECT_VER_NUMBER 1) @@ -15,11 +35,13 @@ set(MATTER_SDK_PATH ${ESP_MATTER_PATH}/connectedhomeip/connectedhomeip) # This should be done before using the IDF_TARGET variable. include($ENV{IDF_PATH}/tools/cmake/project.cmake) include(${ESP_MATTER_PATH}/examples/common/cmake_common/components_include.cmake) +include($ENV{ESP_MATTER_DEVICE_PATH}/esp_matter_device.cmake) set(EXTRA_COMPONENT_DIRS "${ESP_MATTER_PATH}/examples/common" "${MATTER_SDK_PATH}/config/esp32/components" "${ESP_MATTER_PATH}/components" + "${ESP_MATTER_PATH}/device_hal/device" ${extra_components_dirs_append}) project(light) diff --git a/examples/light/main/app_driver.cpp b/examples/light/main/app_driver.cpp index 180c1a2b6..739a2a4df 100644 --- a/examples/light/main/app_driver.cpp +++ b/examples/light/main/app_driver.cpp @@ -10,8 +10,9 @@ #include #include +#include #include -#include "bsp/esp-bsp.h" +#include #include @@ -22,70 +23,33 @@ static const char *TAG = "app_driver"; extern uint16_t light_endpoint_id; /* Do any conversions/remapping for the actual value here */ -static esp_err_t app_driver_light_set_power(led_indicator_handle_t handle, esp_matter_attr_val_t *val) +static esp_err_t app_driver_light_set_power(led_driver_handle_t handle, esp_matter_attr_val_t *val) { -#if CONFIG_BSP_LEDS_NUM > 0 - esp_err_t err = ESP_OK; - if (val->val.b) { - err = led_indicator_start(handle, BSP_LED_ON); - } else { - err = led_indicator_start(handle, BSP_LED_OFF); - } - return err; -#else - ESP_LOGI(TAG, "LED set power: %d", val->val.b); - return ESP_OK; -#endif + return led_driver_set_power(handle, val->val.b); } -static esp_err_t app_driver_light_set_brightness(led_indicator_handle_t handle, esp_matter_attr_val_t *val) +static esp_err_t app_driver_light_set_brightness(led_driver_handle_t handle, esp_matter_attr_val_t *val) { int value = REMAP_TO_RANGE(val->val.u8, MATTER_BRIGHTNESS, STANDARD_BRIGHTNESS); -#if CONFIG_BSP_LEDS_NUM > 0 - return led_indicator_set_brightness(handle, value); -#else - ESP_LOGI(TAG, "LED set brightness: %d", value); - return ESP_OK; -#endif + return led_driver_set_brightness(handle, value); } -static esp_err_t app_driver_light_set_hue(led_indicator_handle_t handle, esp_matter_attr_val_t *val) +static esp_err_t app_driver_light_set_hue(led_driver_handle_t handle, esp_matter_attr_val_t *val) { int value = REMAP_TO_RANGE(val->val.u8, MATTER_HUE, STANDARD_HUE); -#if CONFIG_BSP_LEDS_NUM > 0 - led_indicator_ihsv_t hsv; - hsv.value = led_indicator_get_hsv(handle); - hsv.h = value; - return led_indicator_set_hsv(handle, hsv.value); -#else - ESP_LOGI(TAG, "LED set hue: %d", value); - return ESP_OK; -#endif + return led_driver_set_hue(handle, value); } -static esp_err_t app_driver_light_set_saturation(led_indicator_handle_t handle, esp_matter_attr_val_t *val) +static esp_err_t app_driver_light_set_saturation(led_driver_handle_t handle, esp_matter_attr_val_t *val) { int value = REMAP_TO_RANGE(val->val.u8, MATTER_SATURATION, STANDARD_SATURATION); -#if CONFIG_BSP_LEDS_NUM > 0 - led_indicator_ihsv_t hsv; - hsv.value = led_indicator_get_hsv(handle); - hsv.s = value; - return led_indicator_set_hsv(handle, hsv.value); -#else - ESP_LOGI(TAG, "LED set saturation: %d", value); - return ESP_OK; -#endif + return led_driver_set_saturation(handle, value); } -static esp_err_t app_driver_light_set_temperature(led_indicator_handle_t handle, esp_matter_attr_val_t *val) +static esp_err_t app_driver_light_set_temperature(led_driver_handle_t handle, esp_matter_attr_val_t *val) { uint32_t value = REMAP_TO_RANGE_INVERSE(val->val.u16, STANDARD_TEMPERATURE_FACTOR); -#if CONFIG_BSP_LEDS_NUM > 0 - return led_indicator_set_color_temperature(handle, value); -#else - ESP_LOGI(TAG, "LED set temperature: %ld", value); - return ESP_OK; -#endif + return led_driver_set_temperature(handle, value); } static void app_driver_button_toggle_cb(void *arg, void *data) @@ -108,7 +72,7 @@ esp_err_t app_driver_attribute_update(app_driver_handle_t driver_handle, uint16_ { esp_err_t err = ESP_OK; if (endpoint_id == light_endpoint_id) { - led_indicator_handle_t handle = (led_indicator_handle_t)driver_handle; + led_driver_handle_t handle = (led_driver_handle_t)driver_handle; if (cluster_id == OnOff::Id) { if (attribute_id == OnOff::Attributes::OnOff::Id) { err = app_driver_light_set_power(handle, val); @@ -134,7 +98,7 @@ esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id) { esp_err_t err = ESP_OK; void *priv_data = endpoint::get_priv_data(endpoint_id); - led_indicator_handle_t handle = (led_indicator_handle_t)priv_data; + led_driver_handle_t handle = (led_driver_handle_t)priv_data; esp_matter_attr_val_t val = esp_matter_invalid(NULL); /* Setting brightness */ @@ -173,24 +137,17 @@ esp_err_t app_driver_light_set_defaults(uint16_t endpoint_id) app_driver_handle_t app_driver_light_init() { -#if CONFIG_BSP_LEDS_NUM > 0 /* Initialize led */ - led_indicator_handle_t leds[CONFIG_BSP_LEDS_NUM]; - ESP_ERROR_CHECK(bsp_led_indicator_create(leds, NULL, CONFIG_BSP_LEDS_NUM)); - led_indicator_set_hsv(leds[0], SET_HSV(DEFAULT_HUE, DEFAULT_SATURATION, DEFAULT_BRIGHTNESS)); - - return (app_driver_handle_t)leds[0]; -#else - return NULL; -#endif + led_driver_config_t config = led_driver_get_config(); + led_driver_handle_t handle = led_driver_init(&config); + return (app_driver_handle_t)handle; } app_driver_handle_t app_driver_button_init() { /* Initialize button */ - button_handle_t btns[BSP_BUTTON_NUM]; - ESP_ERROR_CHECK(bsp_iot_button_create(btns, NULL, BSP_BUTTON_NUM)); - ESP_ERROR_CHECK(iot_button_register_cb(btns[0], BUTTON_PRESS_DOWN, app_driver_button_toggle_cb, NULL)); - - return (app_driver_handle_t)btns[0]; + button_config_t config = button_driver_get_config(); + button_handle_t handle = iot_button_create(&config); + iot_button_register_cb(handle, BUTTON_PRESS_DOWN, app_driver_button_toggle_cb, NULL); + return (app_driver_handle_t)handle; } diff --git a/examples/light/main/app_priv.h b/examples/light/main/app_priv.h index 7844ce5bc..8768cc9f9 100644 --- a/examples/light/main/app_priv.h +++ b/examples/light/main/app_priv.h @@ -16,9 +16,9 @@ #endif /** Standard max values (used for remapping attributes) */ -#define STANDARD_BRIGHTNESS 255 +#define STANDARD_BRIGHTNESS 100 #define STANDARD_HUE 360 -#define STANDARD_SATURATION 255 +#define STANDARD_SATURATION 100 #define STANDARD_TEMPERATURE_FACTOR 1000000 /** Matter max values (used for remapping attributes) */ diff --git a/examples/light/main/idf_component.yml b/examples/light/main/idf_component.yml index 8bad318df..95ee7845b 100644 --- a/examples/light/main/idf_component.yml +++ b/examples/light/main/idf_component.yml @@ -4,7 +4,3 @@ dependencies: rules: # will add "optional_component" only when all if clauses are True - if: "idf_version >=5.0" - if: "target in [esp32c2]" - esp_bsp_devkit: - version: "^1.0.0" - espressif/led_strip: - version: "^2.0.0" diff --git a/examples/light/sdkconfig.defaults b/examples/light/sdkconfig.defaults index e768015cc..cb41938f1 100644 --- a/examples/light/sdkconfig.defaults +++ b/examples/light/sdkconfig.defaults @@ -40,12 +40,3 @@ CONFIG_MBEDTLS_HKDF_C=y # Increase LwIP IPv6 address number to 6 (MAX_FABRIC + 1) # unique local addresses for fabrics(MAX_FABRIC), a link local address(1) CONFIG_LWIP_IPV6_NUM_ADDRESSES=6 - -# ESP32-DevKitC Settings -# Buttons -CONFIG_BSP_BUTTONS_NUM=1 -CONFIG_BSP_BUTTON_1_TYPE_GPIO=y -CONFIG_BSP_BUTTON_1_GPIO=0 -CONFIG_BSP_BUTTON_1_LEVEL=0 -# LEDs -CONFIG_BSP_LEDS_NUM=0 diff --git a/examples/light/sdkconfig.defaults.esp32c2 b/examples/light/sdkconfig.defaults.esp32c2 index e5d981aa1..3b048aba3 100644 --- a/examples/light/sdkconfig.defaults.esp32c2 +++ b/examples/light/sdkconfig.defaults.esp32c2 @@ -172,17 +172,3 @@ CONFIG_EVENT_LOGGING_DEBUG_BUFFER_SIZE=256 # ESP Matter CONFIG_ESP_MATTER_MAX_DEVICE_TYPE_COUNT=4 CONFIG_ESP_MATTER_MAX_DYNAMIC_ENDPOINT_COUNT=4 - -# ESP32-C2-DevKitM-1 Settings -# Buttons -CONFIG_BSP_BUTTONS_NUM=1 -CONFIG_BSP_BUTTON_1_TYPE_GPIO=y -CONFIG_BSP_BUTTON_1_GPIO=0 -CONFIG_BSP_BUTTON_1_LEVEL=0 -# LEDs -CONFIG_BSP_LEDS_NUM=1 -CONFIG_BSP_LED_TYPE_RGB_CLASSIC=y -CONFIG_BSP_LED_RGB_RED_GPIO=0 -CONFIG_BSP_LED_RGB_GREEN_GPIO=1 -CONFIG_BSP_LED_RGB_BLUE_GPIO=8 - diff --git a/examples/light/sdkconfig.defaults.esp32c6 b/examples/light/sdkconfig.defaults.esp32c6 index de609cbf8..5844e52c9 100644 --- a/examples/light/sdkconfig.defaults.esp32c6 +++ b/examples/light/sdkconfig.defaults.esp32c6 @@ -1,14 +1 @@ CONFIG_IDF_TARGET="esp32c6" - -# ESP32-C6-DevKitM-1 Settings -# Buttons -CONFIG_BSP_BUTTONS_NUM=1 -CONFIG_BSP_BUTTON_1_TYPE_GPIO=y -CONFIG_BSP_BUTTON_1_GPIO=9 -CONFIG_BSP_BUTTON_1_LEVEL=0 -# LEDs -CONFIG_BSP_LEDS_NUM=1 -CONFIG_BSP_LED_TYPE_RGB=y -CONFIG_BSP_LED_RGB_GPIO=8 -CONFIG_BSP_LED_RGB_BACKEND_RMT=y - diff --git a/examples/light/sdkconfig.defaults.esp32h2 b/examples/light/sdkconfig.defaults.esp32h2 index 2860478a5..a124e2600 100644 --- a/examples/light/sdkconfig.defaults.esp32h2 +++ b/examples/light/sdkconfig.defaults.esp32h2 @@ -19,15 +19,3 @@ CONFIG_USE_MINIMAL_MDNS=n # Disable STA CONFIG_ENABLE_WIFI_STATION=n - -# ESP32-H2-DevKitM-1 Settings -# Buttons -CONFIG_BSP_BUTTONS_NUM=1 -CONFIG_BSP_BUTTON_1_TYPE_GPIO=y -CONFIG_BSP_BUTTON_1_GPIO=9 -CONFIG_BSP_BUTTON_1_LEVEL=0 -# LEDs -CONFIG_BSP_LEDS_NUM=1 -CONFIG_BSP_LED_TYPE_RGB=y -CONFIG_BSP_LED_RGB_GPIO=8 -CONFIG_BSP_LED_RGB_BACKEND_RMT=y diff --git a/examples/light/sdkconfig.defaults.esp32s3 b/examples/light/sdkconfig.defaults.esp32s3 index 6fc87d4c3..b01fdbeb4 100644 --- a/examples/light/sdkconfig.defaults.esp32s3 +++ b/examples/light/sdkconfig.defaults.esp32s3 @@ -1,8 +1 @@ CONFIG_IDF_TARGET="esp32s3" - -# ESP32-S3-DevKitC-1 Settings -# Buttons -CONFIG_BSP_BUTTONS_NUM=1 -CONFIG_BSP_BUTTON_1_TYPE_GPIO=y -CONFIG_BSP_BUTTON_1_GPIO=0 -CONFIG_BSP_BUTTON_1_LEVEL=0 diff --git a/examples/light/sdkconfig.defaults.ext_plat b/examples/light/sdkconfig.defaults.ext_plat index 403a3438e..fdc272cac 100644 --- a/examples/light/sdkconfig.defaults.ext_plat +++ b/examples/light/sdkconfig.defaults.ext_plat @@ -44,13 +44,3 @@ CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=n # Enable HKDF in mbedtls CONFIG_MBEDTLS_HKDF_C=y - -# ESP32-DevKit Settings -# Buttons -CONFIG_BSP_BUTTONS_NUM=1 -CONFIG_BSP_BUTTON_1_TYPE_GPIO=y -CONFIG_BSP_BUTTON_1_GPIO=0 -CONFIG_BSP_BUTTON_1_LEVEL=0 -# LEDs -CONFIG_BSP_LEDS_NUM=0 -