Refactor to provide optional components, and add LED display functions
authorjweigele <jweigele@local>
Fri, 14 Jul 2023 20:11:31 +0000 (13:11 -0700)
committerjweigele <jweigele@local>
Fri, 14 Jul 2023 20:11:31 +0000 (13:11 -0700)
 * Mostly, optional right now is CONFIG_TEMP_ENABLED
 * LED display took a huge amount of pain getting working, made a
   separate repo for the component mods

.gitmodules
aqi/components/esp-32-tm1637 [new submodule]
aqi/components/esp32-aqi-calc [new submodule]
aqi/dependencies.lock
aqi/main/Kconfig [new file with mode: 0644]
aqi/main/aqi.c
aqi/main/aqi.h
aqi/main/idf_component.yml
aqi/sdkconfig
aqi/sdkconfig.old

index d8a6fadfe4f35928f05ce7047b6f8ec26f04d490..1b903210a3fa6de59b430621131682e9fbddaffb 100644 (file)
@@ -5,3 +5,9 @@
        path = aqi/esp32_onewire
        url = ssh://git@git.hexthepla.net:2222/esp32_onewire
        branch = main
+[submodule "aqi/components/esp-32-tm1637"]
+       path = aqi/components/esp-32-tm1637
+       url = https://github.com/petrows/esp-32-tm1637.git
+[submodule "aqi/components/esp32-aqi-calc"]
+       path = aqi/components/esp32-aqi-calc
+       url = ssh://git@git.hexthepla.net:2222/esp32-aqi-calc
diff --git a/aqi/components/esp-32-tm1637 b/aqi/components/esp-32-tm1637
new file mode 160000 (submodule)
index 0000000..eb61b54
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit eb61b548c6803b73c54f369656c88f2c469010de
diff --git a/aqi/components/esp32-aqi-calc b/aqi/components/esp32-aqi-calc
new file mode 160000 (submodule)
index 0000000..9761a0b
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 9761a0be9e7d8610c38779e2daac12e98ad55c3b
index 91beddf838af0fe5a40a4e0b9aade9ec030df4f9..d83555384e957d0e486c6367c14f15ba236a486f 100644 (file)
@@ -11,17 +11,11 @@ dependencies:
       service_url: https://api.components.espressif.com/
       type: service
     version: 0.7.0
-  espressif/led_strip:
-    component_hash: 7e92a0c8a2e35b40904f88e88ce3c0dffff504a2763f70fba7ef4787cf2eec83
-    source:
-      service_url: https://api.components.espressif.com/
-      type: service
-    version: 2.0.0
   idf:
     component_hash: null
     source:
       type: idf
     version: 5.1.0
-manifest_hash: e83de916e87dab651b2bb88f7ed898b3b0597bbf3f6f1cdfcf62d5bee4ed4f4e
-target: esp32h2
+manifest_hash: 45912e4d9cd43099df4d25e2583dff3e2d28d61278283bac4618062c48e66228
+target: esp32c6
 version: 1.0.0
diff --git a/aqi/main/Kconfig b/aqi/main/Kconfig
new file mode 100644 (file)
index 0000000..937a28b
--- /dev/null
@@ -0,0 +1,14 @@
+menu "AQI Program Configuration"
+
+config TEMP_ENABLED
+    bool "Are we using temperature functions or not"
+    default y
+    help
+      This gets passed and used for includes later
+
+config LED_ENABLED
+    bool "Are we using LCD functions for display?"
+    default n
+    help
+      Gets passed and used later for includes
+endmenu
index 27d0cf6027b4b0d2a773e7e50f1d1bafb75a7ba8..a6de8597b2055b609000f9841467903376c6aff8 100644 (file)
@@ -28,7 +28,6 @@
 #endif
 
 
-
 typedef struct zdo_info_ctx_s {
     uint8_t endpoint;
     esp_zb_ieee_addr_t long_addr;
@@ -40,12 +39,20 @@ typedef struct aqi_data_s {
     float pm25;
 } aqi_data_t;
 
+#ifdef CONFIG_TEMP_ENABLED
+
 static int tempbuffer[TEMPBUFFERSIZE];
 static int tempbufferindex = 0;
+static OW ow;
 
 //= {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-static const char *TAG = "aqi";
-static OW ow;
+
+#endif
+
+#ifdef CONFIG_LED_ENABLED
+static tm1637_led_t* led;
+#endif
+
 static bool zig_connected = false;
 static aqi_data_t cur_pm = {
     .pm10 = 0,
@@ -67,56 +74,24 @@ void attr_cb(uint8_t status, uint8_t endpoint, uint16_t cluster_id, uint16_t att
     ESP_LOGI(TAG, "cluster:0x%x, attribute:0x%x changed ", cluster_id, attr_id);
 }
 
-
-bool init_temp(){
-    bool err = ow_init(&ow, GPIO);
-    if (err){
-        ESP_LOGI(TAG, "there was an error initing ow");
-    }
-    return err;
+#ifdef CONFIG_LED_ENABLED
+void init_led(){
+    led = tm1637_init(LED_GPIO_CLK, LED_GPIO_DIO);
+    tm1637_set_brightness(led, 0x02);
 }
 
-void print_pmdata(aqi_data_t data){
-    ESP_LOGI(TAG, "pmdata pm10: %f, pm25: %f", data.pm10, data.pm25);
-}
 
-// add new value to ringbuffer and return average of all, downcast to uint16_t
-aqi_data_t new_pm_average(aqi_data_t new_val){
-    pmbuffer[pmbufferindex++] = new_val;
-    aqi_data_t retval = {
-        .pm10 = 0,
-        .pm25 = 0,
-    };
-    // rollover
-    if (pmbufferindex == PMBUFFERSIZE){
-        pmbufferindex = 0;
-    }
 
-    float pm10_total = 0;
-    float pm25_total = 0;
-    int count = 0;
-    for (int i = 0; i < PMBUFFERSIZE; i++ ){
-        // ignore initial values
-        if ( pmbuffer[i].pm10 != -1.0 ){
-            pm10_total += pmbuffer[i].pm10;
-        }
-        if ( pmbuffer[i].pm25 != -1.0 ){
-            pm25_total += pmbuffer[i].pm25;
-            // assuming both fields have the same "valid" count
-            count++;
-        }
-        
-        
-    }
-    // multiply * 100 for greater precision once sent
-    if (count != 0 ){
-        retval.pm10 = (pm10_total*100/count);
-        retval.pm25 = (pm25_total*100/count);
-    }
+#endif
 
-    ESP_LOGI(TAG, "returning average pmdata to send: pm10 %f pm25 %f", retval.pm10, retval.pm25);
-    return retval;
+#ifdef CONFIG_TEMP_ENABLED
 
+bool init_temp(){
+    bool err = ow_init(&ow, TEMP_GPIO);
+    if (err){
+        ESP_LOGI(TAG, "there was an error initing ow");
+    }
+    return err;
 }
 
 int new_temp_average(short new_val){
@@ -149,35 +124,12 @@ int new_temp_average(short new_val){
 
 }
 
-
-void init_pmbuffer(){
-    for (int i = 0; i < PMBUFFERSIZE; i++){
-        pmbuffer[i].pm10 = -1.0;
-        pmbuffer[i].pm25 = -1.0;
-    }
-}
-
 void init_tempbuffer(){
     for (int i = 0; i < TEMPBUFFERSIZE; i++){
         tempbuffer[i] = 0x8000;
     }
 }
 
-void init_uart(void) {
-    const uart_config_t uart_config = {
-        .baud_rate = 9600,
-        .data_bits = UART_DATA_8_BITS,
-        .parity = UART_PARITY_DISABLE,
-        .stop_bits = UART_STOP_BITS_1,
-        .flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
-        .source_clk = UART_SCLK_DEFAULT,
-    };
-    // We won't use a buffer for sending data.
-    uart_driver_install(UART_NUM_1, RX_BUF_SIZE * 2, 0, 0, NULL, 0);
-    uart_param_config(UART_NUM_1, &uart_config);
-    uart_set_pin(UART_NUM_1, UART_TX_GPIO, UART_RX_GPIO, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
-}
-
 static short get_temp(){
     if (ow_reset (&ow)) {
         //puts ("slave(s) present");
@@ -224,6 +176,75 @@ static short get_temp(){
     }
 }
 
+
+#endif
+// most conditional stuff done by now
+
+void print_pmdata(aqi_data_t data){
+    ESP_LOGI(TAG, "pmdata pm10: %f, pm25: %f", data.pm10, data.pm25);
+}
+
+// add new value to ringbuffer and return average of all, downcast to uint16_t
+aqi_data_t new_pm_average(aqi_data_t new_val){
+    pmbuffer[pmbufferindex++] = new_val;
+    aqi_data_t retval = {
+        .pm10 = 0,
+        .pm25 = 0,
+    };
+    // rollover
+    if (pmbufferindex == PMBUFFERSIZE){
+        pmbufferindex = 0;
+    }
+
+    float pm10_total = 0;
+    float pm25_total = 0;
+    int count = 0;
+    for (int i = 0; i < PMBUFFERSIZE; i++ ){
+        // ignore initial values
+        if ( pmbuffer[i].pm10 != -1.0 ){
+            pm10_total += pmbuffer[i].pm10;
+        }
+        if ( pmbuffer[i].pm25 != -1.0 ){
+            pm25_total += pmbuffer[i].pm25;
+            // assuming both fields have the same "valid" count
+            count++;
+        }
+        
+        
+    }
+    // multiply * 100 for greater precision once sent
+    if (count != 0 ){
+        retval.pm10 = (pm10_total*100/count);
+        retval.pm25 = (pm25_total*100/count);
+    }
+
+    ESP_LOGI(TAG, "returning average pmdata to send: pm10 %f pm25 %f", retval.pm10, retval.pm25);
+    return retval;
+
+}
+
+void init_pmbuffer(){
+    for (int i = 0; i < PMBUFFERSIZE; i++){
+        pmbuffer[i].pm10 = -1.0;
+        pmbuffer[i].pm25 = -1.0;
+    }
+}
+
+void init_uart(void) {
+    const uart_config_t uart_config = {
+        .baud_rate = 9600,
+        .data_bits = UART_DATA_8_BITS,
+        .parity = UART_PARITY_DISABLE,
+        .stop_bits = UART_STOP_BITS_1,
+        .flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
+        .source_clk = UART_SCLK_DEFAULT,
+    };
+    // We won't use a buffer for sending data.
+    uart_driver_install(UART_NUM_1, RX_BUF_SIZE * 2, 0, 0, NULL, 0);
+    uart_param_config(UART_NUM_1, &uart_config);
+    uart_set_pin(UART_NUM_1, UART_TX_GPIO, UART_RX_GPIO, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
+}
+
 static void send_report(int report_cluster, int report_attribute){
     ESP_LOGI(TAG, "sending report here");
     esp_zb_zcl_report_attr_cmd_t des;
@@ -233,8 +254,8 @@ static void send_report(int report_cluster, int report_attribute){
     //des.zcl_basic_cmd.dst_addr_u.addr_long = long_addy;
     des.zcl_basic_cmd.dst_addr_u.addr_short = 0;
     // 0xFFFCu;
-    des.zcl_basic_cmd.dst_endpoint = HA_ESP_TEMP_ENDPOINT;
-    des.zcl_basic_cmd.src_endpoint = HA_ESP_TEMP_ENDPOINT;
+    des.zcl_basic_cmd.dst_endpoint = HA_ESP_ENDPOINT;
+    des.zcl_basic_cmd.src_endpoint = HA_ESP_ENDPOINT;
     des.address_mode = ESP_ZB_APS_ADDR_MODE_16_ENDP_PRESENT;
     //ESP_ZB_APS_ADDR_MODE_16_GROUP_ENDP_NOT_PRESENT;
     //des.address_mode = ESP_ZB_APS_ADDR_MODE_64_ENDP_PRESENT;
@@ -304,11 +325,11 @@ aqi_data_t get_average_pm25(uint8_t* data, int data_size){
 
 static void monitoring_task(void* discard)
 {
+#ifdef CONFIG_TEMP_ENABLED
     bool tempsetup = init_temp();
-    //bool tempsetup = true;
+#endif
 
     uint8_t* data = (uint8_t*) malloc(RX_BUF_SIZE+1);
-    short temp_avg = 0x8000;
     int length = 0;
     for(;;){
         ESP_LOGI(TAG, "free heap: %"PRIu32, esp_get_free_heap_size());
@@ -331,32 +352,50 @@ static void monitoring_task(void* discard)
                 cur_pm = new_pm_average(cur_avg);
                 uint16_t set_pm10 = (uint16_t)cur_pm.pm10;
                 uint16_t set_pm25 = (uint16_t)cur_pm.pm25;                
-                esp_zb_zcl_set_attribute_val(HA_ESP_TEMP_ENDPOINT, PM25CLUSTER, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE,
+                esp_zb_zcl_set_attribute_val(HA_ESP_ENDPOINT, PM25CLUSTER, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE,
                                 PM10MEASURED, &set_pm10, false);
-                esp_zb_zcl_set_attribute_val(HA_ESP_TEMP_ENDPOINT, PM25CLUSTER, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE,
+                esp_zb_zcl_set_attribute_val(HA_ESP_ENDPOINT, PM25CLUSTER, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE,
                                 PM25MEASURED, &set_pm25, false);
 
                 send_report(PM10CLUSTER, PM10MEASURED);
                 send_report(PM25CLUSTER, PM25MEASURED);
+#ifdef CONFIG_LED_ENABLED
+                //uint16_t led_value = (uint16_t)(cur_pm.pm25/100);
+                float cur_aqi_pm10 = aqi_calc_pm10(cur_pm.pm10);
+                float cur_aqi_pm25 = aqi_calc_pm25(cur_pm.pm25);
+                uint16_t set_aqi;
+                if (cur_aqi_pm25 > cur_aqi_pm10){
+                    ESP_LOGI(TAG, "pm25 > pm10, using %f > %f", cur_aqi_pm25, cur_aqi_pm10);
+                    set_aqi = round(cur_aqi_pm25);
+                } else {
+                    ESP_LOGI(TAG, "pm10 > pm25, using %f > %f", cur_aqi_pm10, cur_aqi_pm25);
+                    set_aqi = round(cur_aqi_pm10);
+                }
+                ESP_LOGI(TAG, "setting led value to %d", set_aqi);
+                tm1637_set_number(led, set_aqi);
+
+#endif                
 
             } else {
                 ESP_LOGI(TAG, "Nothing seen from uart");
             }
 
+#ifdef CONFIG_TEMP_ENABLED
             // Temperature fetch/calculation/report
             if (tempsetup){
-                    temp_avg = new_temp_average(get_temp());
+                short temp_avg = new_temp_average(get_temp());
+                ESP_LOGI(TAG, "current: %d", temp_avg);
+
+                ESP_LOGI(TAG, "setting attrib value and sending, I guess");
+                esp_zb_zcl_set_attribute_val(HA_ESP_ENDPOINT, ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE,
+                                ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, &temp_avg, false);
+                send_report(ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID);
+
             } else {
                     ESP_LOGI(TAG, "temp not setup, skipping update");
             }
-            ESP_LOGI(TAG, "current: %d", temp_avg);
-
-            ESP_LOGI(TAG, "setting attrib value and sending, I guess");
-            esp_zb_zcl_set_attribute_val(HA_ESP_TEMP_ENDPOINT, ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE,
-                            ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, &temp_avg, false);
-            send_report(ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID);
-
 
+#endif
             // loop around and sleep
             //
             // reg sleep for 1 second to clear out backlog, then light sleep
@@ -402,15 +441,6 @@ void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct)
         ESP_LOGI(TAG, "Local ZB address: 0x%02x%02x%02x%02x%02x%02x%02x%02x",
                 local_addy[7], local_addy[6], local_addy[5], local_addy[4],
                 local_addy[3], local_addy[2], local_addy[1], local_addy[0]);
-       /*char global[16] = ZB_DISTRIBUTED_GLOBAL_KEY
-       ESP_LOGI(TAG, "Pairs 0x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
-                       global[0], global[1], global[2], global[3],
-                       global[4], global[5], global[6], global[7],
-                       global[8], global[9], global[10], global[11],
-                       global[12], global[13], global[14], global[15]
-               );
-       */
-
         } else {
             /* commissioning failed */
             ESP_LOGW(TAG, "Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status));
@@ -463,31 +493,9 @@ static void esp_zb_task(void *pvParameters)
     esp_zb_basic_cluster_add_attr(esp_zb_basic_cluster, ESP_ZB_ZCL_ATTR_BASIC_MANUFACTURER_NAME_ID, &manufacturer);
     /* identify cluster create with fully customized */
     esp_zb_attribute_list_t *esp_zb_identify_cluster = esp_zb_zcl_attr_list_create(ESP_ZB_ZCL_CLUSTER_ID_IDENTIFY);
-    /* group cluster create with fully customized */
-    //esp_zb_attribute_list_t *esp_zb_groups_cluster = esp_zb_zcl_attr_list_create(ESP_ZB_ZCL_CLUSTER_ID_GROUPS);
-    /* scenes cluster create with standard cluster + customized */
-    //esp_zb_attribute_list_t *esp_zb_scenes_cluster = esp_zb_scenes_cluster_create(NULL);
-    /* on-off cluster create with standard cluster config*/
-    //esp_zb_on_off_cluster_cfg_t on_off_cfg;
-    //on_off_cfg.on_off = ESP_ZB_ZCL_ON_OFF_ON_OFF_DEFAULT_VALUE;
-    //esp_zb_attribute_list_t *esp_zb_on_off_cluster = esp_zb_on_off_cluster_create(&on_off_cfg);
-
-
-    // color control cluster
-    //esp_zb_attribute_list_t *esp_zb_color_cluster = esp_zb_color_control_cluster_create(NULL);
 
-    // level cluster
-    //esp_zb_attribute_list_t *esp_zb_level_cluster = esp_zb_level_cluster_create(NULL);
-
-    short min_temp = -5500;
-    short max_temp = 12500;
     uint16_t initial_pm10 = 0;
     uint16_t initial_pm25 = 0;
-    // temperature cluster
-    esp_zb_attribute_list_t *esp_zb_temp_cluster = esp_zb_zcl_attr_list_create(ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT);
-    esp_zb_temperature_meas_cluster_add_attr(esp_zb_temp_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, &tempbuffer[0]);
-    esp_zb_temperature_meas_cluster_add_attr(esp_zb_temp_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID, &min_temp);
-    esp_zb_temperature_meas_cluster_add_attr(esp_zb_temp_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID, &max_temp);
 
 
     esp_zb_attribute_list_t *esp_zb_pm25_cluster = esp_zb_zcl_attr_list_create(PM25CLUSTER);
@@ -499,13 +507,26 @@ static void esp_zb_task(void *pvParameters)
     esp_zb_cluster_list_t *esp_zb_cluster_list = esp_zb_zcl_cluster_list_create();
     esp_zb_cluster_list_add_basic_cluster(esp_zb_cluster_list, esp_zb_basic_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE);
     esp_zb_cluster_list_add_identify_cluster(esp_zb_cluster_list, esp_zb_identify_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE);
-    esp_zb_cluster_list_add_temperature_meas_cluster(esp_zb_cluster_list, esp_zb_temp_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE);    
+
+#ifdef CONFIG_TEMP_ENABLED
+    short min_temp = -5500;
+    short max_temp = 12500;
+
+    // temperature cluster
+    esp_zb_attribute_list_t *esp_zb_temp_cluster = esp_zb_zcl_attr_list_create(ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT);
+    esp_zb_temperature_meas_cluster_add_attr(esp_zb_temp_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, &tempbuffer[0]);
+    esp_zb_temperature_meas_cluster_add_attr(esp_zb_temp_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MIN_VALUE_ID, &min_temp);
+    esp_zb_temperature_meas_cluster_add_attr(esp_zb_temp_cluster, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_MAX_VALUE_ID, &max_temp);
+    
+    esp_zb_cluster_list_add_temperature_meas_cluster(esp_zb_cluster_list, esp_zb_temp_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE);
+#endif
+    
     ESP_ERROR_CHECK(esp_zb_cluster_list_add_custom_cluster(esp_zb_cluster_list, esp_zb_pm25_cluster, ESP_ZB_ZCL_CLUSTER_SERVER_ROLE));
 
 
     esp_zb_ep_list_t *esp_zb_ep_list = esp_zb_ep_list_create();
     /* add created endpoint (cluster_list) to endpoint list */
-    esp_zb_ep_list_add_ep(esp_zb_ep_list, esp_zb_cluster_list, HA_ESP_TEMP_ENDPOINT, ESP_ZB_AF_HA_PROFILE_ID, ESP_ZB_HA_ON_OFF_OUTPUT_DEVICE_ID);
+    esp_zb_ep_list_add_ep(esp_zb_ep_list, esp_zb_cluster_list, HA_ESP_ENDPOINT, ESP_ZB_AF_HA_PROFILE_ID, ESP_ZB_HA_ON_OFF_OUTPUT_DEVICE_ID);
     esp_zb_device_register(esp_zb_ep_list);
 
     ESP_ERROR_CHECK(esp_zb_start(false));
@@ -525,9 +546,18 @@ void app_main(void)
     ESP_ERROR_CHECK(nvs_flash_init());
     init_uart();
     init_pmbuffer();
+    uint16_t set_val = round(aqi_calc_pm25(3590));
+#ifdef CONFIG_TEMP_ENABLED
     init_tempbuffer();
+#endif
     /* load Zigbee light_bulb platform config to initialization */
     ESP_ERROR_CHECK(esp_zb_platform_config(&config));
+#ifdef CONFIG_LED_ENABLED
+    init_led();
+    tm1637_set_number(led, set_val);
+    //i2c_init();
+    //runit();
+#endif
     /* hardware related and device init */
     //light_driver_init(LIGHT_DEFAULT_OFF);
     xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL);
index 6c04ac7601ee13e21f014bc79152f3bc531c986c..de029ffa98646500426c0c5e67db0f2197eebe39 100644 (file)
 
 #include "esp_zigbee_core.h"
 #include "esp_system.h"
+
 //#include "light_driver.h"
 
 
 #include "driver/uart.h"
 #include "string.h"
 #include "driver/gpio.h"
-#include "onewire.h"
+#include "aqi_calc.h"
+#include <math.h>
+
+static const char *TAG = "aqi";
 
-#define GPIO 2
-#define MAXDEVS 10
-#define UART_RX_GPIO (GPIO_NUM_26)
-#define UART_TX_GPIO (GPIO_NUM_27)
+
+#ifdef CONFIG_TEMP_ENABLED
+#define TEMP_GPIO 20
+#include "onewire.h"
+#endif
+
+#ifdef CONFIG_LED_ENABLED
+//#include "tm1637_hw.h"
+#include "tm1637.h"
+#define LED_GPIO_CLK (GPIO_NUM_3)
+#define LED_GPIO_DIO (GPIO_NUM_2)
+#endif
+
+#define MAXDEVS 1
+#define UART_RX_GPIO (GPIO_NUM_23)
+#define UART_TX_GPIO (GPIO_NUM_20)
 #define PM25CLUSTER 0xFFFE
 #define PM10CLUSTER 0xFFFE
 //0x042A
@@ -36,7 +52,7 @@
 #define PM25_REPORT 0x2
 
 
-#define PMBUFFERSIZE 6
+#define PMBUFFERSIZE 60
 #define TEMPBUFFERSIZE 10
 
 static const int RX_BUF_SIZE = 1024;
@@ -68,8 +84,7 @@ static const int RX_BUF_SIZE = 1024;
 #define INSTALLCODE_POLICY_ENABLE       false    /* enable the install code policy for security */
 #define ED_AGING_TIMEOUT                ESP_ZB_ED_AGING_TIMEOUT_64MIN
 #define ED_KEEP_ALIVE                   3000    /* 3000 millisecond */
-#define HA_ESP_TEMP_ENDPOINT            1
-#define HA_ESP_LIGHT_ENDPOINT           1    /* esp light bulb device endpoint, used to process light controlling commands */
+#define HA_ESP_ENDPOINT            1
 #define ESP_ZB_PRIMARY_CHANNEL_MASK     ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK  /* Zigbee primary channel mask use in the example */
 //specifically search channel 15, which is what I'm on
 //#define ESP_ZB_PRIMARY_CHANNEL_MASK  1l<<15
index 7a545fbb310cbbe5e3def4a0845291a6f2c879fa..1d60ab3792ffd4e1d2dc5bc977f2a77837867574 100644 (file)
@@ -2,7 +2,6 @@
 dependencies:
   espressif/esp-zboss-lib: "~0.5.0"
   espressif/esp-zigbee-lib: "~0.7.0"
-  espressif/led_strip: "~2.0.0"
   ## Required IDF version
   idf:
     version: ">=5.0.0"
index d7be06c04f48a878339db5df65e7a8a42e9812aa..c9bd6713a3788a9737ab3c9ed6ab0dc970dc0299 100644 (file)
@@ -3,47 +3,52 @@
 # Espressif IoT Development Framework (ESP-IDF) Project Configuration
 #
 CONFIG_SOC_ADC_SUPPORTED=y
-CONFIG_SOC_ANA_CMPR_SUPPORTED=y
 CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y
 CONFIG_SOC_UART_SUPPORTED=y
 CONFIG_SOC_GDMA_SUPPORTED=y
-CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
+CONFIG_SOC_GPTIMER_SUPPORTED=y
 CONFIG_SOC_PCNT_SUPPORTED=y
 CONFIG_SOC_MCPWM_SUPPORTED=y
 CONFIG_SOC_TWAI_SUPPORTED=y
+CONFIG_SOC_ETM_SUPPORTED=y
+CONFIG_SOC_PARLIO_SUPPORTED=y
 CONFIG_SOC_BT_SUPPORTED=y
-CONFIG_SOC_GPTIMER_SUPPORTED=y
 CONFIG_SOC_IEEE802154_SUPPORTED=y
-CONFIG_SOC_IEEE802154_BLE_ONLY=y
+CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
 CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y
 CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y
+CONFIG_SOC_WIFI_SUPPORTED=y
 CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y
+CONFIG_SOC_ULP_SUPPORTED=y
+CONFIG_SOC_LP_CORE_SUPPORTED=y
 CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y
 CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
 CONFIG_SOC_RTC_MEM_SUPPORTED=y
 CONFIG_SOC_I2S_SUPPORTED=y
-CONFIG_SOC_SDM_SUPPORTED=y
-CONFIG_SOC_ETM_SUPPORTED=y
 CONFIG_SOC_RMT_SUPPORTED=y
-CONFIG_SOC_PARLIO_SUPPORTED=y
+CONFIG_SOC_SDM_SUPPORTED=y
 CONFIG_SOC_GPSPI_SUPPORTED=y
 CONFIG_SOC_LEDC_SUPPORTED=y
 CONFIG_SOC_I2C_SUPPORTED=y
 CONFIG_SOC_SYSTIMER_SUPPORTED=y
+CONFIG_SOC_SUPPORT_COEXISTENCE=y
 CONFIG_SOC_AES_SUPPORTED=y
 CONFIG_SOC_MPI_SUPPORTED=y
 CONFIG_SOC_SHA_SUPPORTED=y
 CONFIG_SOC_HMAC_SUPPORTED=y
 CONFIG_SOC_DIG_SIGN_SUPPORTED=y
 CONFIG_SOC_ECC_SUPPORTED=y
-CONFIG_SOC_ECC_EXTENDED_MODES_SUPPORTED=y
-CONFIG_SOC_ECDSA_SUPPORTED=y
 CONFIG_SOC_FLASH_ENC_SUPPORTED=y
 CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
+CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
 CONFIG_SOC_BOD_SUPPORTED=y
 CONFIG_SOC_APM_SUPPORTED=y
 CONFIG_SOC_PMU_SUPPORTED=y
-CONFIG_SOC_XTAL_SUPPORT_32M=y
+CONFIG_SOC_PAU_SUPPORTED=y
+CONFIG_SOC_LP_TIMER_SUPPORTED=y
+CONFIG_SOC_LP_AON_SUPPORTED=y
+CONFIG_SOC_LP_I2C_SUPPORTED=y
+CONFIG_SOC_XTAL_SUPPORT_40M=y
 CONFIG_SOC_AES_SUPPORT_DMA=y
 CONFIG_SOC_AES_GDMA=y
 CONFIG_SOC_AES_SUPPORT_AES_128=y
@@ -53,7 +58,7 @@ CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y
 CONFIG_SOC_ADC_MONITOR_SUPPORTED=y
 CONFIG_SOC_ADC_DMA_SUPPORTED=y
 CONFIG_SOC_ADC_PERIPH_NUM=1
-CONFIG_SOC_ADC_MAX_CHANNEL_NUM=5
+CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7
 CONFIG_SOC_ADC_ATTEN_NUM=4
 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1
 CONFIG_SOC_ADC_PATT_LEN_MAX=8
@@ -80,10 +85,6 @@ CONFIG_SOC_CPU_WATCHPOINTS_NUM=4
 CONFIG_SOC_CPU_WATCHPOINT_SIZE=0x80000000
 CONFIG_SOC_CPU_HAS_PMA=y
 CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y
-CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y
-CONFIG_SOC_MMU_PERIPH_NUM=1
-CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1
-CONFIG_SOC_MMU_DI_VADDR_SHARED=y
 CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072
 CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16
 CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100
@@ -93,39 +94,42 @@ CONFIG_SOC_GDMA_SUPPORT_ETM=y
 CONFIG_SOC_ETM_GROUPS=1
 CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50
 CONFIG_SOC_GPIO_PORT=1
-CONFIG_SOC_GPIO_PIN_COUNT=28
+CONFIG_SOC_GPIO_PIN_COUNT=31
 CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y
-CONFIG_SOC_GPIO_SUPPORT_PIN_HYS_FILTER=y
 CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8
 CONFIG_SOC_GPIO_SUPPORT_ETM=y
 CONFIG_SOC_GPIO_ETM_EVENTS_PER_GROUP=8
 CONFIG_SOC_GPIO_ETM_TASKS_PER_GROUP=8
+CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y
 CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y
 CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0
-CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000000FFF807F
+CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00
 CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y
 CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y
+CONFIG_SOC_RTCIO_PIN_COUNT=8
+CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
+CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
+CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
 CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8
 CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8
 CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y
-CONFIG_SOC_ANA_CMPR_NUM=1
-CONFIG_SOC_I2C_NUM=2
+CONFIG_SOC_I2C_NUM=1
 CONFIG_SOC_I2C_FIFO_LEN=32
 CONFIG_SOC_I2C_SUPPORT_SLAVE=y
 CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y
 CONFIG_SOC_I2C_SUPPORT_XTAL=y
 CONFIG_SOC_I2C_SUPPORT_RTC=y
+CONFIG_SOC_LP_I2C_NUM=1
+CONFIG_SOC_LP_I2C_FIFO_LEN=16
 CONFIG_SOC_I2S_NUM=1
 CONFIG_SOC_I2S_HW_VERSION_2=y
 CONFIG_SOC_I2S_SUPPORTS_XTAL=y
-CONFIG_SOC_I2S_SUPPORTS_PLL_F96M=y
-CONFIG_SOC_I2S_SUPPORTS_PLL_F64M=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
 CONFIG_SOC_I2S_SUPPORTS_PCM=y
 CONFIG_SOC_I2S_SUPPORTS_PDM=y
 CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
 CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2
 CONFIG_SOC_I2S_SUPPORTS_TDM=y
-CONFIG_SOC_I2S_TDM_FULL_DATA_WIDTH=y
 CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y
 CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y
 CONFIG_SOC_LEDC_CHANNEL_NUM=6
@@ -134,6 +138,10 @@ CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y
 CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y
 CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16
 CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10
+CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y
+CONFIG_SOC_MMU_PERIPH_NUM=1
+CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1
+CONFIG_SOC_MMU_DI_VADDR_SHARED=y
 CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
 CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
 CONFIG_SOC_PCNT_GROUPS=1
@@ -171,13 +179,9 @@ CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y
 CONFIG_SOC_PARLIO_GROUPS=1
 CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1
 CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1
-CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=8
-CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=8
-CONFIG_SOC_PARLIO_TX_CLK_SUPPORT_GATING=y
-CONFIG_SOC_PARLIO_TRANS_BIT_ALIGN=y
-CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128
-CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=108
-CONFIG_SOC_RTCIO_PIN_COUNT=0
+CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16
+CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16
+CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y
 CONFIG_SOC_RSA_MAX_BIT_LEN=3072
 CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968
 CONFIG_SOC_SHA_SUPPORT_DMA=y
@@ -188,7 +192,7 @@ CONFIG_SOC_SHA_SUPPORT_SHA224=y
 CONFIG_SOC_SHA_SUPPORT_SHA256=y
 CONFIG_SOC_SDM_GROUPS=1
 CONFIG_SOC_SDM_CHANNELS_PER_GROUP=4
-CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F48M=y
+CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y
 CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y
 CONFIG_SOC_SPI_PERIPH_NUM=2
 CONFIG_SOC_SPI_MAX_CS_NUM=6
@@ -199,7 +203,7 @@ CONFIG_SOC_SPI_SUPPORT_CD_SIG=y
 CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y
 CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y
 CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y
-CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F48M=y
+CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y
 CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y
 CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y
 CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16
@@ -210,10 +214,9 @@ CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y
 CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y
 CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y
 CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_64M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_32M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_SRC_FREQ_16M_SUPPORTED=y
-CONFIG_SOC_MEMSPI_CLOCK_IS_INDEPENDENT=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
 CONFIG_SOC_SYSTIMER_COUNTER_NUM=2
 CONFIG_SOC_SYSTIMER_ALARM_NUM=3
 CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32
@@ -223,6 +226,8 @@ CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y
 CONFIG_SOC_SYSTIMER_INT_LEVEL=y
 CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y
 CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y
+CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32
+CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16
 CONFIG_SOC_TIMER_GROUPS=2
 CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=1
 CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54
@@ -230,11 +235,12 @@ CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y
 CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y
 CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=2
 CONFIG_SOC_TIMER_SUPPORT_ETM=y
-CONFIG_SOC_TWAI_CONTROLLER_NUM=y
+CONFIG_SOC_TWAI_CONTROLLER_NUM=2
 CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y
 CONFIG_SOC_TWAI_BRP_MIN=2
 CONFIG_SOC_TWAI_BRP_MAX=32768
 CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y
+CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y
 CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y
 CONFIG_SOC_EFUSE_DIS_USB_JTAG=y
 CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y
@@ -252,30 +258,47 @@ CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y
 CONFIG_SOC_UART_NUM=2
 CONFIG_SOC_UART_FIFO_LEN=128
 CONFIG_SOC_UART_BITRATE_MAX=5000000
+CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y
 CONFIG_SOC_UART_SUPPORT_RTC_CLK=y
 CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y
+CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y
 CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y
 CONFIG_SOC_COEX_HW_PTI=y
 CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
+CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12
 CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y
 CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
 CONFIG_SOC_PM_SUPPORT_CPU_PD=y
-CONFIG_SOC_PM_SUPPORT_BT_PD=y
+CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
 CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y
 CONFIG_SOC_PM_SUPPORT_RC32K_PD=y
 CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
 CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
-CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y
+CONFIG_SOC_PM_SUPPORT_TOP_PD=y
+CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
+CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y
 CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y
+CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y
+CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y
+CONFIG_SOC_PM_PAU_LINK_NUM=4
 CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
+CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y
 CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
 CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y
 CONFIG_SOC_CLK_RC32K_SUPPORTED=y
-CONFIG_SOC_CLK_LP_FAST_SUPPORT_LP_PLL=y
-CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y
 CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y
 CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y
 CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y
+CONFIG_SOC_WIFI_HW_TSF=y
+CONFIG_SOC_WIFI_FTM_SUPPORT=y
+CONFIG_SOC_WIFI_GCMP_SUPPORT=y
+CONFIG_SOC_WIFI_WAPI_SUPPORT=y
+CONFIG_SOC_WIFI_CSI_SUPPORT=y
+CONFIG_SOC_WIFI_MESH_SUPPORT=y
+CONFIG_SOC_WIFI_HE_SUPPORT=y
 CONFIG_SOC_BLE_SUPPORTED=y
 CONFIG_SOC_BLE_MESH_SUPPORTED=y
 CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y
@@ -285,9 +308,9 @@ CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y
 CONFIG_IDF_CMAKE=y
 CONFIG_IDF_TARGET_ARCH_RISCV=y
 CONFIG_IDF_TARGET_ARCH="riscv"
-CONFIG_IDF_TARGET="esp32h2"
-CONFIG_IDF_TARGET_ESP32H2=y
-CONFIG_IDF_FIRMWARE_CHIP_ID=0x0010
+CONFIG_IDF_TARGET="esp32c6"
+CONFIG_IDF_TARGET_ESP32C6=y
+CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D
 
 #
 # Build type
@@ -355,17 +378,20 @@ CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
 
 CONFIG_ESP_ROM_HAS_CRC_LE=y
 CONFIG_ESP_ROM_HAS_CRC_BE=y
+CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
 CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y
 CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3
 CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y
 CONFIG_ESP_ROM_GET_CLK_FREQ=y
+CONFIG_ESP_ROM_HAS_RVFPLIB=y
 CONFIG_ESP_ROM_HAS_HAL_WDT=y
 CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y
 CONFIG_ESP_ROM_HAS_HEAP_TLSF=y
 CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y
 CONFIG_ESP_ROM_HAS_SPI_FLASH=y
-CONFIG_ESP_ROM_WITHOUT_REGI2C=y
-CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
+CONFIG_ESP_ROM_HAS_REGI2C_BUG=y
+CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y
+CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y
 CONFIG_ESP_ROM_WDT_INIT_PATCH=y
 CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y
 CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y
@@ -389,19 +415,20 @@ CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
 # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
 CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
 CONFIG_ESPTOOLPY_FLASHMODE="dio"
-CONFIG_ESPTOOLPY_FLASHFREQ_64M=y
-# CONFIG_ESPTOOLPY_FLASHFREQ_32M is not set
-# CONFIG_ESPTOOLPY_FLASHFREQ_16M is not set
-CONFIG_ESPTOOLPY_FLASHFREQ="48m"
+CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
+# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
+# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
+CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y
+CONFIG_ESPTOOLPY_FLASHFREQ="80m"
 # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
-# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
 # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
+CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
 # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
 CONFIG_ESPTOOLPY_BEFORE_RESET=y
 # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
@@ -435,7 +462,8 @@ CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
 CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
 # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
 # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
-CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
+# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set
+CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y
 CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
 CONFIG_COMPILER_HIDE_PATHS_MACROS=y
@@ -514,13 +542,13 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
 #
 # UART Configuration
 #
-# CONFIG_UART_ISR_IN_IRAM is not set
+CONFIG_UART_ISR_IN_IRAM=y
 # end of UART Configuration
 
 #
 # GPIO Configuration
 #
-# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
+CONFIG_GPIO_CTRL_FUNC_IN_IRAM=y
 # end of GPIO Configuration
 
 #
@@ -531,14 +559,6 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
 # CONFIG_SDM_ENABLE_DEBUG_LOG is not set
 # end of Sigma Delta Modulator Configuration
 
-#
-# Analog Comparator Configuration
-#
-# CONFIG_ANA_CMPR_ISR_IRAM_SAFE is not set
-# CONFIG_ANA_CMPR_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set
-# end of Analog Comparator Configuration
-
 #
 # GPTimer Configuration
 #
@@ -624,6 +644,7 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
 #
 # Wireless Coexistence
 #
+CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y
 # CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set
 # end of Wireless Coexistence
 
@@ -698,34 +719,37 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32
 #
 # Chip revision
 #
-CONFIG_ESP32H2_REV_MIN_0=y
-# CONFIG_ESP32H2_REV_MIN_1 is not set
-# CONFIG_ESP32H2_REV_MIN_2 is not set
-CONFIG_ESP32H2_REV_MIN_FULL=0
+CONFIG_ESP32C6_REV_MIN_0=y
+# CONFIG_ESP32C6_REV_MIN_1 is not set
+CONFIG_ESP32C6_REV_MIN_FULL=0
 CONFIG_ESP_REV_MIN_FULL=0
 
 #
-# Maximum Supported ESP32-H2 Revision (Rev v0.99)
+# Maximum Supported ESP32-C6 Revision (Rev v0.99)
 #
-CONFIG_ESP32H2_REV_MAX_FULL=99
+CONFIG_ESP32C6_REV_MAX_FULL=99
 CONFIG_ESP_REV_MAX_FULL=99
 # end of Chip revision
 
 #
 # MAC Config
 #
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
 CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
 CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y
-CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO=y
-CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES_TWO=y
-CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES=2
+CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set
+CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4
 # end of MAC Config
 
 #
 # Sleep Config
 #
 # CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set
-# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
+CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
 CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
 # CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
 # end of Sleep Config
@@ -762,8 +786,8 @@ CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
 #
 # Main XTAL Config
 #
-CONFIG_XTAL_FREQ_32=y
-CONFIG_XTAL_FREQ=32
+CONFIG_XTAL_FREQ_40=y
+CONFIG_XTAL_FREQ=40
 # end of Main XTAL Config
 # end of Hardware Settings
 
@@ -803,6 +827,7 @@ CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
 # PHY
 #
 CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
+# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
 CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
 CONFIG_ESP_PHY_MAX_TX_POWER=20
 # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set
@@ -816,6 +841,9 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0
 #
 # Power Management
 #
+# CONFIG_PM_ENABLE is not set
+CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
+# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set
 # end of Power Management
 
 #
@@ -831,10 +859,10 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0
 #
 # ESP System Settings
 #
-# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_48 is not set
-# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_64 is not set
-CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_96=y
-CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=96
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160
 # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
 CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
 # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
@@ -842,6 +870,8 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
 # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
 CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
 CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
+CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y
+CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y
 # CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set
 
 #
@@ -921,12 +951,14 @@ CONFIG_ESP_TIMER_IMPL_SYSTIMER=y
 #
 # Wi-Fi
 #
+CONFIG_ESP_WIFI_ENABLED=y
 CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10
 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32
 # CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set
 CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y
 CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1
 CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32
+# CONFIG_ESP_WIFI_CSI_ENABLED is not set
 CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
 CONFIG_ESP_WIFI_TX_BA_WIN=6
 CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
@@ -941,19 +973,25 @@ CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
 CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
 CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
 # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
+# CONFIG_ESP_WIFI_FTM_ENABLE is not set
 CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
+# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set
 # CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
 CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
 # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
 CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
+CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS=y
 CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
 CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
+# CONFIG_ESP_WIFI_WAPI_PSK is not set
 # CONFIG_ESP_WIFI_SUITE_B_192 is not set
 # CONFIG_ESP_WIFI_11KV_SUPPORT is not set
 # CONFIG_ESP_WIFI_MBO_SUPPORT is not set
 # CONFIG_ESP_WIFI_DPP_SUPPORT is not set
 # CONFIG_ESP_WIFI_11R_SUPPORT is not set
 # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
+CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS=y
+CONFIG_ESP_WIFI_ENABLE_WIFI_RX_MU_STATS=y
 
 #
 # WPS Configuration Options
@@ -1329,8 +1367,6 @@ CONFIG_MBEDTLS_CMAC_C=y
 CONFIG_MBEDTLS_HARDWARE_ECC=y
 CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y
 CONFIG_MBEDTLS_ROM_MD5=y
-# CONFIG_MBEDTLS_HARDWARE_ECDSA_SIGN is not set
-CONFIG_MBEDTLS_HARDWARE_ECDSA_VERIFY=y
 # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
 # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
 CONFIG_MBEDTLS_HAVE_TIME=y
@@ -1481,9 +1517,9 @@ CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
 #
 # MMU Config
 #
-CONFIG_MMU_PAGE_SIZE_32KB=y
-CONFIG_MMU_PAGE_MODE="32KB"
-CONFIG_MMU_PAGE_SIZE=0x8000
+CONFIG_MMU_PAGE_SIZE_64KB=y
+CONFIG_MMU_PAGE_MODE="64KB"
+CONFIG_MMU_PAGE_SIZE=0x10000
 # end of MMU Config
 
 #
@@ -1576,6 +1612,12 @@ CONFIG_WS_BUFFER_SIZE=1024
 # end of Websocket
 # end of TCP Transport
 
+#
+# Ultra Low Power (ULP) Co-processor
+#
+# CONFIG_ULP_COPROC_ENABLED is not set
+# end of Ultra Low Power (ULP) Co-processor
+
 #
 # Unity unit testing library
 #
@@ -1627,6 +1669,19 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
 # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
 # end of Wi-Fi Provisioning Manager
 
+#
+# AQI Program Configuration
+#
+# CONFIG_TEMP_ENABLED is not set
+CONFIG_LED_ENABLED=y
+# end of AQI Program Configuration
+
+#
+# ESP TM1637
+#
+CONFIG_DELAY_BLOCKING_TIME=100
+# end of ESP TM1637
+
 #
 # Zigbee
 #
@@ -1676,6 +1731,9 @@ CONFIG_STACK_CHECK_NONE=y
 CONFIG_ESP32_APPTRACE_DEST_NONE=y
 CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
 # CONFIG_MCPWM_ISR_IN_IRAM is not set
+CONFIG_SW_COEXIST_ENABLE=y
+CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
+CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
 # CONFIG_EXTERNAL_COEX_ENABLE is not set
 # CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set
 # CONFIG_EVENT_LOOP_PROFILING is not set
@@ -1684,10 +1742,12 @@ CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
 # CONFIG_OTA_ALLOW_HTTP is not set
 # CONFIG_ESP_SYSTEM_PD_FLASH is not set
 CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
+# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set
 CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
 CONFIG_ESP32_PHY_MAX_TX_POWER=20
 # CONFIG_REDUCE_PHY_TX_POWER is not set
 # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set
+CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y
 CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
 CONFIG_MAIN_TASK_STACK_SIZE=3584
@@ -1716,12 +1776,14 @@ CONFIG_BROWNOUT_DET_LVL_SEL_7=y
 CONFIG_BROWNOUT_DET_LVL=7
 CONFIG_IPC_TASK_STACK_SIZE=1024
 CONFIG_TIMER_TASK_STACK_SIZE=3584
+CONFIG_ESP32_WIFI_ENABLED=y
 CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
 # CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
 CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
 CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
 CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
+# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
 CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
 CONFIG_ESP32_WIFI_TX_BA_WIN=6
 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
@@ -1737,6 +1799,7 @@ CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
 CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y
 CONFIG_WPA_MBEDTLS_CRYPTO=y
 CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
+# CONFIG_WPA_WAPI_PSK is not set
 # CONFIG_WPA_SUITE_B_192 is not set
 # CONFIG_WPA_11KV_SUPPORT is not set
 # CONFIG_WPA_MBO_SUPPORT is not set
index 184ab2a4ee69261ffb8f4a884006de949fae85ce..3fca4204a051d43208ebd66e831d2d0c66b01ecd 100644 (file)
@@ -421,14 +421,14 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
 CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y
 CONFIG_ESPTOOLPY_FLASHFREQ="80m"
 # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
-# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
 # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
+CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
 # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
 CONFIG_ESPTOOLPY_BEFORE_RESET=y
 # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
@@ -542,13 +542,13 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
 #
 # UART Configuration
 #
-# CONFIG_UART_ISR_IN_IRAM is not set
+CONFIG_UART_ISR_IN_IRAM=y
 # end of UART Configuration
 
 #
 # GPIO Configuration
 #
-# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
+CONFIG_GPIO_CTRL_FUNC_IN_IRAM=y
 # end of GPIO Configuration
 
 #
@@ -1517,9 +1517,9 @@ CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
 #
 # MMU Config
 #
-CONFIG_MMU_PAGE_SIZE_32KB=y
-CONFIG_MMU_PAGE_MODE="32KB"
-CONFIG_MMU_PAGE_SIZE=0x8000
+CONFIG_MMU_PAGE_SIZE_64KB=y
+CONFIG_MMU_PAGE_MODE="64KB"
+CONFIG_MMU_PAGE_SIZE=0x10000
 # end of MMU Config
 
 #
@@ -1669,6 +1669,19 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
 # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
 # end of Wi-Fi Provisioning Manager
 
+#
+# AQI Program Configuration
+#
+# CONFIG_TEMP_ENABLED is not set
+CONFIG_LED_ENABLED=y
+# end of AQI Program Configuration
+
+#
+# ESP TM1637
+#
+CONFIG_DELAY_BLOCKING_TIME=3
+# end of ESP TM1637
+
 #
 # Zigbee
 #
@@ -1682,158 +1695,3 @@ CONFIG_ZB_RADIO_NATIVE=y
 # end of Component config
 
 # CONFIG_IDF_EXPERIMENTAL_FEATURES is not set
-
-# Deprecated options for backward compatibility
-# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
-# CONFIG_NO_BLOBS is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
-CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
-# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
-CONFIG_LOG_BOOTLOADER_LEVEL=3
-# CONFIG_APP_ROLLBACK_ENABLE is not set
-# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
-# CONFIG_FLASHMODE_QIO is not set
-# CONFIG_FLASHMODE_QOUT is not set
-CONFIG_FLASHMODE_DIO=y
-# CONFIG_FLASHMODE_DOUT is not set
-CONFIG_MONITOR_BAUD=115200
-CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
-CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
-# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
-# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
-CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
-# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
-# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
-CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2
-# CONFIG_CXX_EXCEPTIONS is not set
-CONFIG_STACK_CHECK_NONE=y
-# CONFIG_STACK_CHECK_NORM is not set
-# CONFIG_STACK_CHECK_STRONG is not set
-# CONFIG_STACK_CHECK_ALL is not set
-# CONFIG_WARN_WRITE_STRINGS is not set
-# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
-CONFIG_ESP32_APPTRACE_DEST_NONE=y
-CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
-# CONFIG_MCPWM_ISR_IN_IRAM is not set
-CONFIG_SW_COEXIST_ENABLE=y
-CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
-CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y
-# CONFIG_EXTERNAL_COEX_ENABLE is not set
-# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set
-# CONFIG_EVENT_LOOP_PROFILING is not set
-CONFIG_POST_EVENTS_FROM_ISR=y
-CONFIG_POST_EVENTS_FROM_IRAM_ISR=y
-# CONFIG_OTA_ALLOW_HTTP is not set
-# CONFIG_ESP_SYSTEM_PD_FLASH is not set
-CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y
-# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set
-CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20
-CONFIG_ESP32_PHY_MAX_TX_POWER=20
-# CONFIG_REDUCE_PHY_TX_POWER is not set
-# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set
-CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y
-CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_MAIN_TASK_STACK_SIZE=3584
-CONFIG_CONSOLE_UART_DEFAULT=y
-# CONFIG_CONSOLE_UART_CUSTOM is not set
-# CONFIG_CONSOLE_UART_NONE is not set
-# CONFIG_ESP_CONSOLE_UART_NONE is not set
-CONFIG_CONSOLE_UART=y
-CONFIG_CONSOLE_UART_NUM=0
-CONFIG_CONSOLE_UART_BAUDRATE=115200
-CONFIG_INT_WDT=y
-CONFIG_INT_WDT_TIMEOUT_MS=300
-CONFIG_TASK_WDT=y
-CONFIG_ESP_TASK_WDT=y
-# CONFIG_TASK_WDT_PANIC is not set
-CONFIG_TASK_WDT_TIMEOUT_S=5
-# CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
-# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
-CONFIG_BROWNOUT_DET=y
-CONFIG_BROWNOUT_DET_LVL_SEL_7=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
-CONFIG_BROWNOUT_DET_LVL=7
-CONFIG_IPC_TASK_STACK_SIZE=1024
-CONFIG_TIMER_TASK_STACK_SIZE=3584
-CONFIG_ESP32_WIFI_ENABLED=y
-CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
-CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
-# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
-CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y
-CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1
-CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32
-# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
-CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
-CONFIG_ESP32_WIFI_TX_BA_WIN=6
-CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
-CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
-CONFIG_ESP32_WIFI_RX_BA_WIN=6
-CONFIG_ESP32_WIFI_RX_BA_WIN=6
-CONFIG_ESP32_WIFI_NVS_ENABLED=y
-CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
-CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
-CONFIG_ESP32_WIFI_IRAM_OPT=y
-CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
-CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
-CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y
-CONFIG_WPA_MBEDTLS_CRYPTO=y
-CONFIG_WPA_MBEDTLS_TLS_CLIENT=y
-# CONFIG_WPA_WAPI_PSK is not set
-# CONFIG_WPA_SUITE_B_192 is not set
-# CONFIG_WPA_11KV_SUPPORT is not set
-# CONFIG_WPA_MBO_SUPPORT is not set
-# CONFIG_WPA_DPP_SUPPORT is not set
-# CONFIG_WPA_11R_SUPPORT is not set
-# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set
-# CONFIG_WPA_WPS_STRICT is not set
-# CONFIG_WPA_DEBUG_PRINT is not set
-# CONFIG_WPA_TESTING_OPTIONS is not set
-# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set
-# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set
-CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y
-CONFIG_TIMER_TASK_PRIORITY=1
-CONFIG_TIMER_TASK_STACK_DEPTH=2048
-CONFIG_TIMER_QUEUE_LENGTH=10
-# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
-# CONFIG_HAL_ASSERTION_SILIENT is not set
-# CONFIG_L2_TO_L3_COPY is not set
-CONFIG_ESP_GRATUITOUS_ARP=y
-CONFIG_GARP_TMR_INTERVAL=60
-CONFIG_TCPIP_RECVMBOX_SIZE=32
-CONFIG_TCP_MAXRTX=12
-CONFIG_TCP_SYNMAXRTX=12
-CONFIG_TCP_MSS=1440
-CONFIG_TCP_MSL=60000
-CONFIG_TCP_SND_BUF_DEFAULT=5744
-CONFIG_TCP_WND_DEFAULT=5744
-CONFIG_TCP_RECVMBOX_SIZE=6
-CONFIG_TCP_QUEUE_OOSEQ=y
-CONFIG_TCP_OVERSIZE_MSS=y
-# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
-# CONFIG_TCP_OVERSIZE_DISABLE is not set
-CONFIG_UDP_RECVMBOX_SIZE=6
-CONFIG_TCPIP_TASK_STACK_SIZE=3072
-CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
-# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set
-CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
-# CONFIG_PPP_SUPPORT is not set
-CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
-CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
-CONFIG_ESP32_PTHREAD_STACK_MIN=768
-CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1
-CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"
-CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y
-# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set
-# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set
-CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
-CONFIG_SUPPORT_TERMIOS=y
-CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-# End of deprecated options