From: jweigele Date: Tue, 5 Sep 2023 05:34:15 +0000 (-0700) Subject: First edition of openthread for aqi! X-Git-Url: http://git.hexthepla.net/?a=commitdiff_plain;h=3a1ddf6723fbf61bfef1e75bb1ce5353d2398886;p=esp32projects First edition of openthread for aqi! * Connects through the same MQTT path as wifi * Lots of weirdly named and structured functions to support * Only uses the default "nvs" partition right now However! * Reconnect works fine both taking down the BR and restarting rabbitmq * All the normal update functions work by default (because same as wifi) --- diff --git a/aqi/dependencies.lock b/aqi/dependencies.lock index 63d300c..cf48a8e 100644 --- a/aqi/dependencies.lock +++ b/aqi/dependencies.lock @@ -1,16 +1,4 @@ dependencies: - espressif/esp-zboss-lib: - component_hash: 8c214bc75cae20c6583f98971d249e2f05a56c82539b0399b5dbb59cb3c38326 - source: - service_url: https://api.components.espressif.com/ - type: service - version: 0.5.4 - espressif/esp-zigbee-lib: - component_hash: 4a84a2f19ad6077278d6b20d809158b9939afcc540702e57d53084fe26adc69e - source: - service_url: https://api.components.espressif.com/ - type: service - version: 0.7.4 espressif/led_strip: component_hash: 7e92a0c8a2e35b40904f88e88ce3c0dffff504a2763f70fba7ef4787cf2eec83 source: @@ -28,6 +16,6 @@ dependencies: source: type: idf version: 5.1.1 -manifest_hash: a38aaee041b50633069a2b3b73fab6a06e0ac769824d1e24f51de3d63b42b66b -target: esp32c6 +manifest_hash: c508d657d00fb5d33458883128bb78142b4390c1d3213d706d801da9056c9657 +target: esp32h2 version: 1.0.0 diff --git a/aqi/hookups.txt b/aqi/hookups.txt new file mode 100644 index 0000000..ebcfc62 --- /dev/null +++ b/aqi/hookups.txt @@ -0,0 +1,14 @@ +c6: +wifi: enabled +aqimonitor/aqimonitorpwd +zigbee: disabled +temp: disabled +led: enabled + +UART RX: GPIO 5 +UART TX: GPIO 14 (NC) +GPIO Erase: 23 +BRIGHTNESS: 01 +TEMP GPIO: 2 (NC) +LED CLK: 3 +LED DIO: 2 diff --git a/aqi/main/Kconfig b/aqi/main/Kconfig index 80d5840..6bd4b2b 100644 --- a/aqi/main/Kconfig +++ b/aqi/main/Kconfig @@ -21,6 +21,11 @@ config WIFI_ENABLED default n help Gets passed and used later for includes +config OT_ENABLED + bool "Are we using openthread and MQTT" + default n + help + Used for later includes etc config LED_ENABLED bool "Are we using LCD functions for display?" default n diff --git a/aqi/main/aqi.c b/aqi/main/aqi.c index 8149cd1..77c9116 100644 --- a/aqi/main/aqi.c +++ b/aqi/main/aqi.c @@ -16,7 +16,6 @@ #include "esp_log.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" -#include "ha/esp_zigbee_ha_standard.h" #include "aqi.h" #include "math.h" @@ -61,8 +60,9 @@ static bool init_connected = false; #ifdef CONFIG_ZIG_ENABLED static bool zig_connected = false; #endif -#ifdef CONFIG_WIFI_ENABLED -static bool wifi_connected = false; + +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) +static bool netif_connected = false; static bool mqtt_was_reinit = true; static bool mqtt_connected = false; #endif @@ -75,6 +75,180 @@ static aqi_data_t pmbuffer[PMBUFFERSIZE]; static int pmbufferindex = 0; +// openthread functions +#ifdef CONFIG_OT_ENABLED +void handleNetifStateChanged(uint32_t aFlags, void *aContext) +{ + if ((aFlags & OT_CHANGED_THREAD_ROLE) != 0) + { + otDeviceRole changedRole = otThreadGetDeviceRole(aContext); + + switch (changedRole) + { + case OT_DEVICE_ROLE_LEADER: + case OT_DEVICE_ROLE_ROUTER: + case OT_DEVICE_ROLE_CHILD: + netif_connected = true; + init_connected = true; + ESP_LOGI(TAG, "is_connected = true"); + init_mqtt(); + break; + + case OT_DEVICE_ROLE_DETACHED: + case OT_DEVICE_ROLE_DISABLED: + netif_connected = false; + init_connected = false; + ESP_LOGI(TAG, "is_connected = false"); + break; + } + } +} + +/** + * Override default network settings, such as panid, so the devices can join a + network + */ +void setNetworkConfiguration(otInstance *aInstance) +{ + static char aNetworkName[] = "OMGOT"; + otOperationalDataset aDataset; + + memset(&aDataset, 0, sizeof(otOperationalDataset)); + + /* + * Fields that can be configured in otOperationDataset to override defaults: + * Network Name, Mesh Local Prefix, Extended PAN ID, PAN ID, Delay Timer, + * Channel, Channel Mask Page 0, Network Key, PSKc, Security Policy + */ + aDataset.mActiveTimestamp.mSeconds = 1; + aDataset.mActiveTimestamp.mTicks = 0; + aDataset.mActiveTimestamp.mAuthoritative = false; + aDataset.mComponents.mIsActiveTimestampPresent = true; + + /* Set Channel to 15 */ + aDataset.mChannel = 26; + aDataset.mComponents.mIsChannelPresent = true; + + /* Set Pan ID to 1234 */ + aDataset.mPanId = (otPanId)0x1234; + aDataset.mComponents.mIsPanIdPresent = true; + + /* Set Extended Pan ID to C0DE1AB5C0DE1AB5 */ + uint8_t extPanId[OT_EXT_PAN_ID_SIZE] = {0x11, 0x11, 0x11, 0x11, 0x22, 0x22, 0x22, 0x22}; + memcpy(aDataset.mExtendedPanId.m8, extPanId, sizeof(aDataset.mExtendedPanId)); + aDataset.mComponents.mIsExtendedPanIdPresent = true; + + /* Set network key to 1234C0DE1AB51234C0DE1AB51234C0DE */ + uint8_t key[OT_NETWORK_KEY_SIZE] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF}; + memcpy(aDataset.mNetworkKey.m8, key, sizeof(aDataset.mNetworkKey)); + aDataset.mComponents.mIsNetworkKeyPresent = true; + + /* Set Network Name to OTCodelab */ + size_t length = strlen(aNetworkName); + assert(length <= OT_NETWORK_NAME_MAX_SIZE); + memcpy(aDataset.mNetworkName.m8, aNetworkName, length); + aDataset.mComponents.mIsNetworkNamePresent = true; + + otDatasetSetActive(aInstance, &aDataset); +} + +static void create_config_network(otInstance *instance) +{ + otLinkModeConfig linkMode = { 0 }; + + linkMode.mRxOnWhenIdle = true; + linkMode.mDeviceType = false; + linkMode.mNetworkData = false; + + if (otLinkSetPollPeriod(instance, CONFIG_OPENTHREAD_NETWORK_POLLPERIOD_TIME) != OT_ERROR_NONE) { + ESP_LOGE(TAG, "Failed to set OpenThread pollperiod."); + abort(); + } + + if (otThreadSetLinkMode(instance, linkMode) != OT_ERROR_NONE) { + ESP_LOGE(TAG, "Failed to set OpenThread linkmode."); + abort(); + } + + /* Register Thread state change handler */ + otSetStateChangedCallback(instance, handleNetifStateChanged, instance); + + ESP_ERROR_CHECK(esp_openthread_auto_start(NULL)); + + /* Override default network credentials */ + setNetworkConfiguration(instance); + + /* Start the Thread network interface (CLI cmd > ifconfig up) */ + otIp6SetEnabled(instance, true); + + /* Start the Thread stack (CLI cmd > thread start) */ + otThreadSetEnabled(instance, true); +} +static esp_netif_t *init_openthread_netif(const esp_openthread_platform_config_t *config) +{ + esp_netif_config_t cfg = ESP_NETIF_DEFAULT_OPENTHREAD(); + esp_netif_t *netif = esp_netif_new(&cfg); + assert(netif != NULL); + ESP_ERROR_CHECK(esp_netif_attach(netif, esp_openthread_netif_glue_init(config))); + + return netif; +} + +static esp_err_t ot_power_save_init(void) +{ + esp_err_t rc = ESP_OK; +#ifdef CONFIG_PM_ENABLE + int cur_cpu_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ; + + esp_pm_config_t pm_config = { + .max_freq_mhz = cur_cpu_freq_mhz, + .min_freq_mhz = cur_cpu_freq_mhz, +#if CONFIG_FREERTOS_USE_TICKLESS_IDLE + .light_sleep_enable = true +#endif + }; + + rc = esp_pm_configure(&pm_config); +#endif + return rc; +} + +static void ot_task_worker(void *aContext) +{ + esp_openthread_platform_config_t config = { + .radio_config = ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG(), + .host_config = ESP_OPENTHREAD_DEFAULT_HOST_CONFIG(), + .port_config = ESP_OPENTHREAD_DEFAULT_PORT_CONFIG(), + }; + + // Initialize the OpenThread stack + ESP_ERROR_CHECK(esp_openthread_init(&config)); + +#if CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC + // The OpenThread log level directly matches ESP log level + (void)otLoggingSetLevel(CONFIG_LOG_DEFAULT_LEVEL); +#endif + esp_netif_t *openthread_netif; + // Initialize the esp_netif bindings + openthread_netif = init_openthread_netif(&config); + esp_netif_set_default_netif(openthread_netif); + + create_config_network(esp_openthread_get_instance()); + + // Run the main loop + esp_openthread_launch_mainloop(); + + // Clean up + esp_netif_destroy(openthread_netif); + esp_openthread_netif_glue_deinit(); + + esp_vfs_eventfd_unregister(); + vTaskDelete(NULL); +} + + +#endif + void blink_that_shit(void* discard){ for (;;){ if (way_too_funky == true ){ @@ -110,6 +284,7 @@ void erase_data_hook(void){ xTaskCreate(blink_that_shit, "blink_that_shit", 2048, NULL, 9, NULL); #endif ESP_LOGW(TAG, "would erase flash here!!!"); + ESP_ERROR_CHECK(nvs_flash_erase_partition(CONFIG_NVS_OT_PARTITION)); // we don't want to erase a factory partition since it also contains the apps if (strcmp(CONFIG_NVS_WIFI_PARTITION, "factory") != 0){ ESP_LOGW(TAG, "erasing wifi partition at %s", CONFIG_NVS_WIFI_PARTITION); @@ -325,7 +500,7 @@ void init_uart(void) { } -#ifdef CONFIG_WIFI_ENABLED +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) static void send_report_wifi(uint16_t pm10, uint16_t pm25, float aqi, uint16_t temperature){ ESP_LOGI(TAG, "send_report_wifi was called!"); cJSON *root; @@ -342,7 +517,7 @@ static void send_report_wifi(uint16_t pm10, uint16_t pm25, float aqi, uint16_t t //const char *my_json_string = cJSON_Print(root); char *mqtt_string = cJSON_Print(root); ESP_LOGI(TAG, "sending mqtt_string:\n%s",mqtt_string); - if (wifi_connected == true && mqtt_connected == true){ + if (netif_connected == true && mqtt_connected == true){ int msg_id = esp_mqtt_client_publish(mqtt_client, "esp32/sensor_info", mqtt_string, 0, 1, 0); ESP_LOGI(TAG, "sent publish successful, msg_id=%d", msg_id); } else { @@ -453,12 +628,12 @@ short temp_avg = 0; int64_t remaining_time = 0; uint8_t* data = (uint8_t*) malloc(RX_BUF_SIZE+1); int length = 0; -#ifdef CONFIG_WIFI_ENABLED +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) esp_mqtt_client_handle_t queue_item; #endif for(;;){ -#ifdef CONFIG_WIFI_ENABLED +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) // receive an event we need to deal with from elsewhere, right now just reconnect related if (xQueueReceive(event_queue, &queue_item, 0 )){ ESP_LOGW(TAG, "received a queue event in main monitoring loop! %p", queue_item); @@ -557,7 +732,7 @@ short temp_avg = 0; #endif // TEMP -#ifdef CONFIG_WIFI_ENABLED +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) // one BIG report for wifi send_report_wifi(cur_pm.pm10, cur_pm.pm25, cur_aqi_pm25, temp_avg); #endif @@ -746,7 +921,7 @@ static void esp_zb_task(void *pvParameters) } #endif -#ifdef CONFIG_WIFI_ENABLED +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) static void log_error_if_nonzero(const char *message, int error_code) { @@ -852,12 +1027,15 @@ void init_mqtt(){ esp_mqtt_client_start(client); } +#endif + +#ifdef CONFIG_WIFI_ENABLED // wifi connection nuked callbak // wifi connection ok callback void wifi_connection_bad(void* pvParameter){ //ip_event_got_ip_t* param = (ip_event_got_ip_t*)pvParameter; ESP_LOGW(TAG, "wifi connection got dropped! just gonna set stuff down and hope for the best"); - wifi_connected = false; + netif_connected = false; init_connected = false; mqtt_connected = false; } @@ -865,7 +1043,7 @@ void wifi_connection_bad(void* pvParameter){ // wifi connection ok callback void wifi_connection_ok(void* pvParameter){ - wifi_connected = true; + netif_connected = true; init_connected = true; ip_event_got_ip_t* param = (ip_event_got_ip_t*)pvParameter; @@ -900,7 +1078,7 @@ void app_main(void) #endif*/ ESP_ERROR_CHECK(nvs_flash_init()); -#ifdef CONFIG_WIFI_ENABLED +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) event_queue = xQueueCreate(5, sizeof(esp_mqtt_client_handle_t)); #endif //indicator light @@ -943,6 +1121,18 @@ void app_main(void) //light_driver_init(LIGHT_DEFAULT_OFF); xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); #endif +#ifdef CONFIG_OT_ENABLED + esp_vfs_eventfd_config_t eventfd_config = { + .max_fds = 3, + }; + + ESP_ERROR_CHECK(esp_event_loop_create_default()); + ESP_ERROR_CHECK(esp_netif_init()); + ESP_ERROR_CHECK(esp_vfs_eventfd_register(&eventfd_config)); + ESP_ERROR_CHECK(ot_power_save_init()); + + xTaskCreate(ot_task_worker, "ot_power_save_main", 4096, NULL, 5, NULL); +#endif #ifdef CONFIG_WIFI_ENABLED // ESP_ERROR_CHECK(esp_tls_set_global_ca_store(ca_cert, strlen((char*)ca_cert))); /* start the wifi manager */ diff --git a/aqi/main/aqi.h b/aqi/main/aqi.h index e18c7ca..2cbb319 100644 --- a/aqi/main/aqi.h +++ b/aqi/main/aqi.h @@ -12,10 +12,64 @@ // used only for formatting #include "esp_vfs_fat.h" +#define CONFIG_NVS_OT_PARTITION "nvs" +#ifdef CONFIG_PM_ENABLE +#include "esp_pm.h" +#endif +#ifdef CONFIG_OT_ENABLED + +// openthread includes +#include "esp_openthread_types.h" +#include "esp_openthread.h" +#include "esp_openthread_netif_glue.h" +#include "esp_vfs_eventfd.h" +#include "openthread/logging.h" +#include "openthread/thread.h" + + +# define CONFIG_OPENTHREAD_NETWORK_POLLPERIOD_TIME 3000 + +#define ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG() \ + { \ + .radio_mode = RADIO_MODE_NATIVE, \ + } + +#define ESP_OPENTHREAD_DEFAULT_HOST_CONFIG() \ + { \ + .host_connection_mode = HOST_CONNECTION_MODE_CLI_UART, \ + .host_uart_config = { \ + .port = 0, \ + .uart_config = \ + { \ + .baud_rate = 115200, \ + .data_bits = UART_DATA_8_BITS, \ + .parity = UART_PARITY_DISABLE, \ + .stop_bits = UART_STOP_BITS_1, \ + .flow_ctrl = UART_HW_FLOWCTRL_DISABLE, \ + .rx_flow_ctrl_thresh = 0, \ + .source_clk = UART_SCLK_DEFAULT, \ + }, \ + .rx_pin = UART_PIN_NO_CHANGE, \ + .tx_pin = UART_PIN_NO_CHANGE, \ + }, \ + } + +#define ESP_OPENTHREAD_DEFAULT_PORT_CONFIG() \ + { \ + .storage_partition_name = "nvs", \ + .netif_queue_size = 10, \ + .task_queue_size = 10, \ + } + +#endif + #ifdef CONFIG_WIFI_ENABLED #include #include "wifi_manager.h" +#endif + +#if defined(CONFIG_WIFI_ENABLED) || defined(CONFIG_OT_ENABLED) #include #include #include @@ -34,10 +88,6 @@ void init_mqtt(); #endif #include "esp_system.h" - -//#include "light_driver.h" - - #include "driver/uart.h" #include "string.h" #include "driver/gpio.h" @@ -50,7 +100,7 @@ static const char *TAG = "aqi"; #define AQI_INDICATOR_BRIGHTNESS 0.01 #ifdef CONFIG_TEMP_ENABLED -#define TEMP_GPIO 22 +#define TEMP_GPIO 4 #include "onewire.h" #define MIN_TEMP_VALUE -5500 #define MAX_TEMP_VALUE 12500 @@ -62,12 +112,12 @@ static const char *TAG = "aqi"; #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) +#define LED_GPIO_CLK (GPIO_NUM_0) +#define LED_GPIO_DIO (GPIO_NUM_1) #endif #define MAXDEVS 1 -#define UART_RX_GPIO (GPIO_NUM_5) +#define UART_RX_GPIO (GPIO_NUM_12) #define UART_TX_GPIO (GPIO_NUM_14) // ten second loop diff --git a/aqi/main/idf_component.yml b/aqi/main/idf_component.yml index 382de85..80154e4 100644 --- a/aqi/main/idf_component.yml +++ b/aqi/main/idf_component.yml @@ -1,7 +1,7 @@ ## IDF Component Manager Manifest File dependencies: - espressif/esp-zboss-lib: "~0.5.0" - espressif/esp-zigbee-lib: "~0.7.0" + # espressif/esp-zboss-lib: "~0.5.0" + # espressif/esp-zigbee-lib: "~0.7.0" espressif/led_strip: "~2.0.0" espressif/mdns: "^1.1.0" ## Required IDF version diff --git a/aqi/partitions.csv b/aqi/partitions.csv index 2d18cd1..42af556 100644 --- a/aqi/partitions.csv +++ b/aqi/partitions.csv @@ -2,7 +2,8 @@ # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap nvs, data, nvs, 0x9000, 0x6000, phy_init, data, phy, 0xf000, 0x1000, -factory, app, factory, 0x10000, 1520K, +factory, app, factory, 0x10000, 1504K, +ot_storage, data, nvs, 0x188000, 16K, encrypted, wifi_storage, data, nvs, 0x18c000, 16K, encrypted, zb_storage, data, fat, 0x190000, 16K, encrypted, zb_fct, data, fat, 0x194000, 1K, encrypted, diff --git a/aqi/sdkconfig b/aqi/sdkconfig index 381a4ff..d4ffda5 100644 --- a/aqi/sdkconfig +++ b/aqi/sdkconfig @@ -3,52 +3,50 @@ # Espressif IoT Development Framework (ESP-IDF) 5.1.1 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_GPTIMER_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_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_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_IEEE802154_BLE_ONLY=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_RMT_SUPPORTED=y CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_ETM_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_PARLIO_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_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_PAU_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_32M=y CONFIG_SOC_AES_SUPPORT_DMA=y CONFIG_SOC_AES_GDMA=y CONFIG_SOC_AES_SUPPORT_AES_128=y @@ -58,7 +56,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=7 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=5 CONFIG_SOC_ADC_ATTEN_NUM=4 CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 CONFIG_SOC_ADC_PATT_LEN_MAX=8 @@ -72,9 +70,6 @@ CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 -CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y -CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y -CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y @@ -88,6 +83,10 @@ 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 @@ -97,43 +96,40 @@ 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=31 +CONFIG_SOC_GPIO_PIN_COUNT=28 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=0x000000007FFFFF00 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000000FFF807F 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_I2C_NUM=1 +CONFIG_SOC_ANA_CMPR_NUM=1 +CONFIG_SOC_I2C_NUM=2 CONFIG_SOC_I2C_FIFO_LEN=32 CONFIG_SOC_I2C_CMD_REG_NUM=8 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_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F96M=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F64M=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 @@ -142,10 +138,6 @@ 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 @@ -183,9 +175,11 @@ 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=16 -CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 -CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y +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_RTCIO_PIN_COUNT=0 CONFIG_SOC_RSA_MAX_BIT_LEN=3072 CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 CONFIG_SOC_SHA_SUPPORT_DMA=y @@ -196,7 +190,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_F80M=y +CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F48M=y CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y CONFIG_SOC_SPI_PERIPH_NUM=2 CONFIG_SOC_SPI_MAX_CS_NUM=6 @@ -207,7 +201,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_F80M=y +CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F48M=y CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 @@ -218,9 +212,10 @@ 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_80M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y -CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=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_SYSTIMER_COUNTER_NUM=2 CONFIG_SOC_SYSTIMER_ALARM_NUM=3 CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 @@ -239,12 +234,11 @@ 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=2 +CONFIG_SOC_TWAI_CONTROLLER_NUM=y 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 @@ -263,7 +257,6 @@ CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=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 @@ -271,11 +264,7 @@ CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y CONFIG_SOC_COEX_HW_PTI=y CONFIG_SOC_EXTERNAL_COEX_ADVANCE=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_MODEM_PD=y CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y @@ -283,44 +272,34 @@ 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_SUPPORT_TOP_PD=y -CONFIG_SOC_PM_SUPPORT_HP_AON_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_PAU_LINK_NUM=4 CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG=y CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=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_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 CONFIG_SOC_BLE_50_SUPPORTED=y CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y -CONFIG_SOC_BLUFI_SUPPORTED=y CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y -CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y CONFIG_IDF_CMAKE=y CONFIG_IDF_TARGET_ARCH_RISCV=y CONFIG_IDF_TARGET_ARCH="riscv" -CONFIG_IDF_TARGET="esp32c6" -CONFIG_IDF_TARGET_ESP32C6=y -CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D +CONFIG_IDF_TARGET="esp32h2" +CONFIG_IDF_TARGET_ESP32H2=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0010 # # Build type @@ -388,20 +367,17 @@ 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_HAS_REGI2C_BUG=y -CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y -CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y +CONFIG_ESP_ROM_WITHOUT_REGI2C=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=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 @@ -425,11 +401,10 @@ 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_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_FLASHFREQ_64M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_32M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_16M is not set +CONFIG_ESPTOOLPY_FLASHFREQ="48m" # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set @@ -472,8 +447,7 @@ 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 is not set -CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set CONFIG_COMPILER_HIDE_PATHS_MACROS=y @@ -569,6 +543,14 @@ 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 # @@ -615,6 +597,7 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # # USB Serial/JTAG Configuration # +# CONFIG_USJ_NO_AUTO_LS_ON_CONNECTION is not set # end of USB Serial/JTAG Configuration # @@ -655,7 +638,6 @@ CONFIG_ESP_TLS_SKIP_SERVER_CERT_VERIFY=y # # Wireless Coexistence # -CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y # CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set # end of Wireless Coexistence @@ -730,30 +712,27 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32 # # Chip revision # -CONFIG_ESP32C6_REV_MIN_0=y -# CONFIG_ESP32C6_REV_MIN_1 is not set -CONFIG_ESP32C6_REV_MIN_FULL=0 +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_ESP_REV_MIN_FULL=0 # -# Maximum Supported ESP32-C6 Revision (Rev v0.99) +# Maximum Supported ESP32-H2 Revision (Rev v0.99) # -CONFIG_ESP32C6_REV_MAX_FULL=99 +CONFIG_ESP32H2_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_FOUR=y -# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y -CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO=y +CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES_TWO=y +CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES=2 # end of MAC Config # @@ -797,8 +776,8 @@ CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y # # Main XTAL Config # -CONFIG_XTAL_FREQ_40=y -CONFIG_XTAL_FREQ=40 +CONFIG_XTAL_FREQ_32=y +CONFIG_XTAL_FREQ=32 # end of Main XTAL Config # @@ -849,7 +828,6 @@ 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 @@ -863,9 +841,15 @@ CONFIG_ESP_PHY_CALIBRATION_MODE=0 # # Power Management # -# CONFIG_PM_ENABLE is not set +CONFIG_PM_ENABLE=y +# CONFIG_PM_DFS_INIT_AUTO is not set +# CONFIG_PM_PROFILING is not set +# CONFIG_PM_TRACE is not set +# CONFIG_PM_SLP_IRAM_OPT is not set +# CONFIG_PM_RTOS_IDLE_OPT is not set +CONFIG_PM_SLP_DISABLE_GPIO=y CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y -# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set +CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y # end of Power Management # @@ -881,10 +865,10 @@ CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y # # ESP System Settings # -# 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_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_SYSTEM_PANIC_PRINT_HALT is not set CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set @@ -892,8 +876,6 @@ 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 # @@ -925,7 +907,7 @@ CONFIG_ESP_TASK_WDT_EN=y CONFIG_ESP_TASK_WDT_INIT=y # CONFIG_ESP_TASK_WDT_PANIC is not set CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 -# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP_PANIC_HANDLER_IRAM is not set # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set CONFIG_ESP_DEBUG_OCDAWARE=y @@ -973,14 +955,12 @@ 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 @@ -996,23 +976,18 @@ 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_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 @@ -1099,6 +1074,8 @@ CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +CONFIG_FREERTOS_USE_TICKLESS_IDLE=y +CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3 # end of Kernel # @@ -1168,6 +1145,7 @@ CONFIG_IEEE802154_CCA_THRESHOLD=-60 CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 # CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set # CONFIG_IEEE802154_TIMING_OPTIMIZATION is not set +CONFIG_IEEE802154_SLEEP_ENABLE=y # CONFIG_IEEE802154_DEBUG is not set # end of IEEE 802.15.4 @@ -1240,7 +1218,7 @@ CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 CONFIG_LWIP_IPV4=y CONFIG_LWIP_IPV6=y # CONFIG_LWIP_IPV6_AUTOCONFIG is not set -CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +CONFIG_LWIP_IPV6_NUM_ADDRESSES=8 # CONFIG_LWIP_IPV6_FORWARD is not set # CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set CONFIG_LWIP_NETIF_LOOPBACK=y @@ -1284,7 +1262,7 @@ CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y # end of Checksums -CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096 CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF @@ -1297,7 +1275,7 @@ CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 # ICMP # CONFIG_LWIP_ICMP=y -# CONFIG_LWIP_MULTICAST_PING is not set +CONFIG_LWIP_MULTICAST_PING=y # CONFIG_LWIP_BROADCAST_PING is not set # end of ICMP @@ -1333,8 +1311,8 @@ CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set -CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y -# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT=y # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y # CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set @@ -1392,6 +1370,8 @@ 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 @@ -1518,7 +1498,8 @@ CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y # # OpenThread # -# CONFIG_OPENTHREAD_ENABLED is not set +CONFIG_OPENTHREAD_ENABLED=y +CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=y # # Thread Operational Dataset @@ -1530,6 +1511,28 @@ CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" # end of Thread Operational Dataset + +CONFIG_OPENTHREAD_RADIO_NATIVE=y +# CONFIG_OPENTHREAD_RADIO_SPINEL_UART is not set +# CONFIG_OPENTHREAD_RADIO_SPINEL_SPI is not set +CONFIG_OPENTHREAD_FTD=y +# CONFIG_OPENTHREAD_MTD is not set +# CONFIG_OPENTHREAD_RADIO is not set +CONFIG_OPENTHREAD_CLI=y +CONFIG_OPENTHREAD_DIAG=y +# CONFIG_OPENTHREAD_COMMISSIONER is not set +# CONFIG_OPENTHREAD_JOINER is not set +CONFIG_OPENTHREAD_SRP_CLIENT=y +CONFIG_OPENTHREAD_DNS_CLIENT=y +# CONFIG_OPENTHREAD_BORDER_ROUTER is not set +CONFIG_OPENTHREAD_NUM_MESSAGE_BUFFERS=65 +CONFIG_OPENTHREAD_DNS64_CLIENT=y +CONFIG_OPENTHREAD_DNS_SERVER_ADDR="10.246.246.246" +CONFIG_OPENTHREAD_UART_BUFFER_SIZE=256 +# CONFIG_OPENTHREAD_LINK_METRICS is not set +# CONFIG_OPENTHREAD_MACFILTER_ENABLE is not set +# CONFIG_OPENTHREAD_CSL_ENABLE is not set +# CONFIG_OPENTHREAD_DUA_ENABLE is not set # end of OpenThread # @@ -1648,12 +1651,6 @@ 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 # @@ -1709,15 +1706,16 @@ CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y # # AQI Program Configuration # -# CONFIG_TEMP_ENABLED is not set +CONFIG_TEMP_ENABLED=y # CONFIG_LIGHT_SLEEP_ENABLED is not set # CONFIG_ZIG_ENABLED is not set -CONFIG_WIFI_ENABLED=y +# CONFIG_WIFI_ENABLED is not set +CONFIG_OT_ENABLED=y CONFIG_LED_ENABLED=y -CONFIG_INDICATOR_ENABLED=y -CONFIG_BROKER_URL="mqtts://esp32:sensorauth@rabbitmq.hexthepla.net" -CONFIG_LOCATION="West Seattle" -CONFIG_GPIO_ERASE_PIN=23 +# CONFIG_INDICATOR_ENABLED is not set +CONFIG_BROKER_URL="mqtts://esp32:sensorauth@rabbitmq" +CONFIG_LOCATION="Indoor AQI Monitor" +CONFIG_GPIO_ERASE_PIN=25 # end of AQI Program Configuration # @@ -1734,10 +1732,10 @@ CONFIG_WIFI_MANAGER_RETRY_TIMER=5000 CONFIG_WIFI_MANAGER_MAX_RETRY_START_AP=3 CONFIG_WIFI_MANAGER_SHUTDOWN_AP_TIMER=60000 CONFIG_WEBAPP_LOCATION="/" -CONFIG_DEFAULT_AP_SSID="aqimonitor" -CONFIG_DEFAULT_AP_PASSWORD="aqimonitorpwd" +CONFIG_DEFAULT_AP_SSID="esp32" +CONFIG_DEFAULT_AP_PASSWORD="esp32pwd" CONFIG_DEFAULT_AP_CHANNEL=1 -CONFIG_NVS_WIFI_PARTITION="wifi_storage" +CONFIG_NVS_WIFI_PARTITION="factory" CONFIG_DEFAULT_AP_IP="10.10.0.1" CONFIG_DEFAULT_AP_GATEWAY="10.10.0.1" CONFIG_DEFAULT_AP_NETMASK="255.255.255.0" @@ -1745,17 +1743,6 @@ CONFIG_DEFAULT_AP_MAX_CONNECTIONS=4 CONFIG_DEFAULT_AP_BEACON_INTERVAL=100 # end of Wifi Manager Configuration -# -# Zigbee -# -CONFIG_ZB_ENABLED=y -# CONFIG_ZB_ZCZR is not set -CONFIG_ZB_ZED=y -# CONFIG_ZB_RCP is not set -CONFIG_ZB_RADIO_NATIVE=y -# CONFIG_ZB_RADIO_MACSPLIT_UART is not set -# end of Zigbee - # # mDNS # @@ -1821,9 +1808,6 @@ 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 @@ -1832,7 +1816,6 @@ 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 @@ -1854,7 +1837,7 @@ 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_TASK_WDT_CHECK_IDLE_TASK_CPU0=y # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set CONFIG_BROWNOUT_DET=y CONFIG_BROWNOUT_DET_LVL_SEL_7=y @@ -1866,14 +1849,12 @@ 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 @@ -1889,7 +1870,6 @@ 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 @@ -1923,7 +1903,7 @@ 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_STACK_SIZE=4096 CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF