#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"
#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
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 ){
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);
}
-#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;
//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 {
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);
#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
}
#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)
{
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;
}
// 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;
#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
//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 */
# 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
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
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
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
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
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
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
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
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
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
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
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_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
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
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
# 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
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
# 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
#
#
# USB Serial/JTAG Configuration
#
+# CONFIG_USJ_NO_AUTO_LS_ON_CONNECTION is not set
# end of USB Serial/JTAG Configuration
#
#
# Wireless Coexistence
#
-CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y
# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set
# end of Wireless Coexistence
#
# 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
#
#
# 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
#
# 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
#
# 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
#
#
# 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
# 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
#
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
#
# 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
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
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
#
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
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
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
# 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
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
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
#
# OpenThread
#
-# CONFIG_OPENTHREAD_ENABLED is not set
+CONFIG_OPENTHREAD_ENABLED=y
+CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=y
#
# Thread Operational Dataset
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
#
# 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
#
#
# 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
#
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"
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
#
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_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_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
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_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_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