+++ /dev/null
-Subproject commit 714f2cce9ff9c329410a3ea52b4b51ae847ceb70
service_url: https://api.components.espressif.com/
type: service
version: 2.0.0
- espressif/mdns:
- component_hash: 810ec139689ae93bf42520d05de4855fbb68f7140ef67797d91d8d61829589cb
- source:
- service_url: https://api.components.espressif.com/
- type: service
- version: 1.2.2
idf:
component_hash: null
source:
type: idf
- version: 5.1.2
-manifest_hash: f3235d76476013e02f3188e81bf6c37c65c4e7e5ebba3f55f64f2481effeaf90
+ version: 5.2.0
+manifest_hash: 9370ef27f76f2bf2bf1ebd1e72c5af82f7b264148974987baedcb874f8fab004
target: esp32h2
version: 1.0.0
help
Gets passed and used later for includes
+config MOTION_RECHECK
+ bool "Are we going to recheck the motion after a period?"
+ default n
+
config PWM_ENABLED
bool "Are we using PWM led control?"
default n
string "Topic to listen on for PWM data"
default "esp32/pwm/default"
+config PWM_TARGET_PERCENT
+ int "Target percentage for PWM"
+ default 50
+
config PWM_R1_GPIO
int "Red 1 GPIO LED, -1 for disabled"
default -1
#define G2_CHANNEL LEDC_CHANNEL_3
#define B1_CHANNEL LEDC_CHANNEL_4
#define B2_CHANNEL LEDC_CHANNEL_5
-#define LEDC_DUTY_RES LEDC_TIMER_13_BIT // Set duty resolution to 13 bits
-#define LEDC_DUTY (4096) // Set duty to 50%. (2 ** 13) * 50% = 4096
-#define LEDC_FREQUENCY (5000) // Frequency in Hertz. Set frequency at 5 kHz
+#define LEDC_FREQUENCY (1250) // Frequency in Hertz. Set frequency at 20 kHz
+
+double pwm_target = CONFIG_PWM_TARGET_PERCENT/100.0;
typedef struct pwm_data_s {
uint8_t msg[1024];
#endif
#if defined(CONFIG_MOTION_FIRST_ENABLED) || defined(CONFIG_MOTION_SECOND_ENABLED)
bool motion;
+#define MOTION_SLEEP_MS 2000
#endif
float internal_temperature;
uint32_t uptime;
#if defined(CONFIG_MOTION_FIRST_ENABLED) || defined(CONFIG_MOTION_SECOND_ENABLED)
static QueueHandle_t motion_queue;
+static QueueHandle_t check_queue;
+
+static int prev_motion[2] = {0, 0};
static int motion_pins[2] = {0, 0};
#endif
static bool netif_connected = false;
static bool mqtt_was_reinit = true;
static bool mqtt_connected = false;
+#ifdef CONFIG_OT_ENABLED
+static otDeviceRole changedRole;
+static otInstance* threadInstance;
static uint8_t ot_mac[6];
+static uint8_t otExt[8];
+#endif
#endif
static aqi_data_t cur_pm = {
.pm10 = 0,
{
if ((aFlags & OT_CHANGED_THREAD_ROLE) != 0)
{
- otDeviceRole changedRole = otThreadGetDeviceRole(aContext);
+ esp_openthread_lock_acquire(portMAX_DELAY);
+ changedRole = otThreadGetDeviceRole(aContext);
+ esp_openthread_lock_release();
switch (changedRole)
{
}
}
+int hex_digit_to_int(char hex) {
+ if ('A' <= hex && hex <= 'F') {
+ return 10 + hex - 'A';
+ }
+ if ('a' <= hex && hex <= 'f') {
+ return 10 + hex - 'a';
+ }
+ if ('0' <= hex && hex <= '9') {
+ return hex - '0';
+ }
+ return -1;
+}
+
+size_t hex_string_to_binary(const char *hex_string, uint8_t *buf, size_t buf_size) {
+ int num_char = strlen(hex_string);
+
+ if (num_char != buf_size * 2) {
+ return 0;
+ }
+ for (size_t i = 0; i < num_char; i += 2) {
+ int digit0 = hex_digit_to_int(hex_string[i]);
+ int digit1 = hex_digit_to_int(hex_string[i + 1]);
+
+ if (digit0 < 0 || digit1 < 0) {
+ return 0;
+ }
+ buf[i / 2] = (digit0 << 4) + digit1;
+ }
+
+ return buf_size;
+}
+
+
/**
* Override default network settings, such as panid, so the devices can join a
network
*/
-void setNetworkConfiguration(otInstance *aInstance)
+void setNetworkConfiguration(otInstance *instance)
{
- 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);
+ otOperationalDataset dataset;
+
+ memset(&dataset, 0, sizeof(otOperationalDataset));
+
+
+
+ uint16_t network_name_len = strlen(CONFIG_OPENTHREAD_NETWORK_NAME);
+ assert(network_name_len <= OT_NETWORK_NAME_MAX_SIZE);
+
+ /*if (otDatasetCreateNewNetwork(instance, &dataset) != OT_ERROR_NONE) {
+ ESP_LOGE(TAG, "Failed to create OpenThread network dataset.");
+ abort();
+ }*/
+ dataset.mChannel = CONFIG_OPENTHREAD_NETWORK_CHANNEL;
+ dataset.mComponents.mIsChannelPresent = true;
+ dataset.mPanId = CONFIG_OPENTHREAD_NETWORK_PANID;
+ dataset.mComponents.mIsPanIdPresent = true;
+ memcpy(dataset.mNetworkName.m8, CONFIG_OPENTHREAD_NETWORK_NAME, network_name_len);
+ dataset.mComponents.mIsNetworkNamePresent = true;
+ if (hex_string_to_binary(CONFIG_OPENTHREAD_NETWORK_EXTPANID, dataset.mExtendedPanId.m8,
+ sizeof(dataset.mExtendedPanId.m8)) != sizeof(dataset.mExtendedPanId.m8)) {
+ ESP_LOGE(TAG, "Cannot convert OpenThread extended pan id. Please double-check your config.");
+ abort();
+ }
+ dataset.mComponents.mIsExtendedPanIdPresent = true;
+ if (hex_string_to_binary(CONFIG_OPENTHREAD_NETWORK_MASTERKEY, dataset.mNetworkKey.m8,
+ sizeof(dataset.mNetworkKey.m8)) != sizeof(dataset.mNetworkKey.m8)) {
+ ESP_LOGE(TAG, "Cannot convert OpenThread master key. Please double-check your config.");
+ abort();
+ }
+ dataset.mComponents.mIsNetworkKeyPresent = true;
+ if (hex_string_to_binary(CONFIG_OPENTHREAD_NETWORK_PSKC, dataset.mPskc.m8, sizeof(dataset.mPskc.m8)) !=
+ sizeof(dataset.mPskc.m8)) {
+ ESP_LOGE(TAG, "Cannot convert OpenThread pre-shared commissioner key. Please double-check your config.");
+ abort();
+ }
+ dataset.mComponents.mIsPskcPresent = true;
+ otIp6Address prefix;
+ otIp6AddressFromString(CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX, &prefix);
+ memcpy(dataset.mMeshLocalPrefix.m8, prefix.mFields.m8, sizeof(prefix.mFields.m8));
+ dataset.mComponents.mIsMeshLocalPrefixPresent = true;
+
+ if (otDatasetSetActive(instance, &dataset) != OT_ERROR_NONE) {
+ ESP_LOGE(TAG, "Failed to set OpenThread active dataset.");
+ abort();
+ }
+ ESP_LOGI(TAG, "Ends dataset configuration");
}
static void create_config_network(otInstance *instance)
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();
+ }
+
#else
linkMode.mRxOnWhenIdle = true;
linkMode.mDeviceType = true;
linkMode.mNetworkData = true;
-#endif
-
- if (otLinkSetPollPeriod(instance, CONFIG_OPENTHREAD_NETWORK_POLLPERIOD_TIME) != OT_ERROR_NONE) {
- ESP_LOGE(TAG, "Failed to set OpenThread pollperiod.");
- abort();
+ if (otThreadSetRouterEligible(instance, true) != OT_ERROR_NONE ){
+ ESP_LOGE(TAG, "Failed to set OpenThread router eligible");
+ } else {
+ ESP_LOGI(TAG, "Successfully set OpenThread router eligible");
}
+#endif
if (otThreadSetLinkMode(instance, linkMode) != OT_ERROR_NONE) {
ESP_LOGE(TAG, "Failed to set OpenThread linkmode.");
/* Register Thread state change handler */
otSetStateChangedCallback(instance, handleNetifStateChanged, instance);
- ESP_ERROR_CHECK(esp_openthread_auto_start(NULL));
+ //ESP_ERROR_CHECK(esp_openthread_auto_start(NULL));
/* Override default network credentials */
setNetworkConfiguration(instance);
+ memcpy(otExt, otLinkGetExtendedAddress(instance), 8);
+
/* Start the Thread network interface (CLI cmd > ifconfig up) */
otIp6SetEnabled(instance, true);
// Initialize the OpenThread stack
ESP_ERROR_CHECK(esp_openthread_init(&config));
+ esp_openthread_lock_acquire(portMAX_DELAY);
#if CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC
// The OpenThread log level directly matches ESP log level
openthread_netif = init_openthread_netif(&config);
esp_netif_set_default_netif(openthread_netif);
- create_config_network(esp_openthread_get_instance());
+ threadInstance = esp_openthread_get_instance();
+ create_config_network(threadInstance);
//esp_err_t err_netif = esp_netif_get_mac(openthread_netif, ot_mac);
esp_err_t err_netif = esp_base_mac_addr_get(ot_mac);
ESP_LOGE(TAG, "error status is %s", esp_err_to_name(err_netif));
- ESP_LOGI(TAG, "here I go here I go here I go again");
ESP_LOG_BUFFER_HEXDUMP(TAG, ot_mac, 6, ESP_LOG_INFO);
+ esp_openthread_lock_release();
+
//while (true) {
// Run the main loop
esp_err_t err = esp_openthread_launch_mainloop();
#endif
ESP_LOGW(TAG, "would erase flash here!!!");
ESP_ERROR_CHECK(nvs_flash_erase_partition(CONFIG_NVS_OT_PARTITION));
+#ifdef CONFIG_WIFI_ENABLED
// 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);
// make it blink worse
way_too_funky = true;
}
+#endif
ESP_LOGI(TAG, "waiting 10 seconds then restarting");
// if you didn't have zigbee running, this takes care of the restart
#ifdef CONFIG_PWM_ENABLED
+
+double gamma_correct(double led_value){
+ // just took this from the pico python script
+ // believe it came from a website formula
+ double retval;
+ if (led_value <= 0.04045){
+ retval = led_value/12.92;
+ } else {
+ retval = pow(((led_value + 0.055)/(1.0 + 0.055)), 2.4);
+ }
+ return retval;
+}
+
+int change_pwm_freq(int freq){
+ int duty_res = ledc_find_suitable_duty_resolution(32000000, freq);
+ ESP_LOGI(TAG, "changing freq to %d", freq);
+ esp_err_t checkpause = ledc_timer_pause(LEDC_MODE, LEDC_TIMER);
+ ESP_LOGW(TAG, "pause timer, error status is %s", esp_err_to_name(checkpause));
+
+
+ // Prepare and then apply the LEDC PWM timer configuration
+ ledc_timer_config_t ledc_timer = {
+ .speed_mode = LEDC_MODE,
+ .timer_num = LEDC_TIMER,
+ .duty_resolution = duty_res,
+ .freq_hz = freq, // Set output frequency at 5 kHz
+ .clk_cfg = LEDC_SLOW_CLK_XTAL
+ };
+ esp_err_t checkset = ledc_timer_config(&ledc_timer);
+ ESP_LOGW(TAG, "changing timer, error status is %s", esp_err_to_name(checkset));
+
+
+ esp_err_t checkresume = ledc_timer_resume(LEDC_MODE, LEDC_TIMER);
+ ESP_LOGW(TAG, "resume timer, error status is %s", esp_err_to_name(checkresume));
+
+
+ ESP_LOGI(TAG, "new duty res is %d", duty_res);
+ return duty_res;
+}
+
static void pwm_task(void* discard){
+ // 32 MHz ref tick used for timer
+ // derive duty res given these two piece of info
+ int duty_res = ledc_find_suitable_duty_resolution(32000000, LEDC_FREQUENCY);
+ ESP_LOGI(TAG, "max duty res for PWM is %d", duty_res);
// initialize PWM hardware
// Prepare and then apply the LEDC PWM timer configuration
ledc_timer_config_t ledc_timer = {
.speed_mode = LEDC_MODE,
.timer_num = LEDC_TIMER,
- .duty_resolution = LEDC_DUTY_RES,
+ .duty_resolution = duty_res,
.freq_hz = LEDC_FREQUENCY, // Set output frequency at 5 kHz
- .clk_cfg = LEDC_AUTO_CLK
+ .clk_cfg = LEDC_SLOW_CLK_XTAL
};
ESP_LOGI(TAG, "configuring ledc timer");
ESP_ERROR_CHECK(ledc_timer_config(&ledc_timer));
cJSON* red_json;
cJSON* green_json;
cJSON* blue_json;
+ cJSON* target_json;
+ cJSON* freq_json;
+
+ double red_duty_float;
+ int red_duty_int;
+ double green_duty_float;
+ int green_duty_int;
+ double blue_duty_float;
+ int blue_duty_int;
+ double total;
for(;;) {
if(xQueueReceive(pwm_queue, &recv, portMAX_DELAY)) {
ESP_LOGI(TAG, "received PWM data string %s len %d", recv.msg, recv.len);
current_pwm = cJSON_ParseWithLength(&recv.msg, recv.len);
if (cJSON_IsObject(current_pwm)){
- ESP_LOGI(TAG, "parsed successfully I think");
- char *json_string = cJSON_Print(current_pwm);
- ESP_LOGI(TAG, "full json string decoded as %s", json_string);
+ // used to adjust scaling with pwm_target
+ total = 0.0;
+ // initialize everything off
+ red_duty_float = 0;
+ green_duty_float = 0;
+ blue_duty_float = 0;
+ target_json = cJSON_GetObjectItemCaseSensitive(current_pwm, "target");
+ if (cJSON_IsNumber(target_json)){
+ ESP_LOGI(TAG, "parsed target float %f", target_json->valuedouble);
+ pwm_target = target_json->valuedouble;
+ }
+
+ freq_json = cJSON_GetObjectItemCaseSensitive(current_pwm, "freq");
+ if (cJSON_IsNumber(freq_json)){
+ ESP_LOGI(TAG, "parsed target int %d", freq_json->valueint);
+ duty_res = change_pwm_freq(freq_json->valueint);
+ }
+
+
+
red_json = cJSON_GetObjectItemCaseSensitive(current_pwm, "red");
if (cJSON_IsNumber(red_json)){
ESP_LOGI(TAG, "parsed red float %f", red_json->valuedouble);
- float red_duty_float = (float)(pow(2,13)) * red_json->valuedouble;
- int red_duty_int = (int)red_duty_float;
-
- ESP_LOGI(TAG, "red duty int calculated as %d", red_duty_int);
- ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, R1_CHANNEL, red_duty_int));
- // Update duty to apply the new value
- ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, R1_CHANNEL));
-
+ red_duty_float = red_json->valuedouble;
+ total += red_duty_float;
}
-
green_json = cJSON_GetObjectItemCaseSensitive(current_pwm, "green");
if (cJSON_IsNumber(green_json)){
ESP_LOGI(TAG, "parsed green float %f", green_json->valuedouble);
- float green_duty_float = (float)(pow(2,13)) * green_json->valuedouble;
- int green_duty_int = (int)green_duty_float;
-
- ESP_LOGI(TAG, "green duty int calculated as %d", green_duty_int);
- ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, G1_CHANNEL, green_duty_int));
- // Update duty to apply the new value
- ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, G1_CHANNEL));
-
+ green_duty_float = green_json->valuedouble;
+ total += green_duty_float;
}
-
-
blue_json = cJSON_GetObjectItemCaseSensitive(current_pwm, "blue");
if (cJSON_IsNumber(blue_json)){
ESP_LOGI(TAG, "parsed blue float %f", blue_json->valuedouble);
- float blue_duty_float = (float)(pow(2,13)) * blue_json->valuedouble;
- int blue_duty_int = (int)blue_duty_float;
+ blue_duty_float = blue_json->valuedouble;
+ total += blue_duty_float;
+ }
+
+
- ESP_LOGI(TAG, "blue duty int calculated as %d", blue_duty_int);
- ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, B1_CHANNEL, blue_duty_int));
- // Update duty to apply the new value
- ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, B1_CHANNEL));
+ // gamma correct and scale if needed (i.e. if any color is active)
+ if (total > 0){
+ red_duty_float = gamma_correct(red_duty_float*(pwm_target/total));
+ green_duty_float = gamma_correct(green_duty_float*(pwm_target/total));
+ blue_duty_float = gamma_correct(blue_duty_float*(pwm_target/total));
}
-
+
+ red_duty_int = (int)(red_duty_float*(pow(2,duty_res)));
+ green_duty_int = (int)(green_duty_float*(pow(2,duty_res)));
+ blue_duty_int = (int)(blue_duty_float*(pow(2,duty_res)));
+
+
+ ESP_LOGI(TAG, "red duty float calculated as %02f, int %d", red_duty_float, red_duty_int);
+ ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, R1_CHANNEL, red_duty_int));
+ // Update duty to apply the new value
+ ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, R1_CHANNEL));
+
+ ESP_LOGI(TAG, "green duty floatcalculated as %02f, int %d", green_duty_float, green_duty_int);
+ ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, G1_CHANNEL, green_duty_int));
+ // Update duty to apply the new value
+ ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, G1_CHANNEL));
+
+ ESP_LOGI(TAG, "blue duty float calculated as %02f, int %d", blue_duty_float, blue_duty_int);
+ ESP_ERROR_CHECK(ledc_set_duty(LEDC_MODE, B1_CHANNEL, blue_duty_int));
+ // Update duty to apply the new value
+ ESP_ERROR_CHECK(ledc_update_duty(LEDC_MODE, B1_CHANNEL));
+
} else {
ESP_LOGE(TAG, "failed to parse json successfully!");
}
- cJSON_Delete(current_pwm);
+ cJSON_Delete(current_pwm);
}
}
xQueueSendFromISR(motion_queue, &gpio_num, NULL);
}
+static void check_motion(void* discard){
+ uint32_t io_num;
+ for(;;) {
+ if(xQueueReceive(check_queue, &io_num, portMAX_DELAY)) {
+#ifdef CONFIG_MOTION_RECHECK
+ // check after this much time
+ vTaskDelay( pdMS_TO_TICKS(MOTION_SLEEP_MS) );
+ // recheck the GPIO to see if it's still active (i.e. not a blip)
+ int current_value = gpio_get_level(io_num);
+ if ( current_value == 1 ){
+ xSemaphoreTake(report_data.mutex, portMAX_DELAY);
+ report_data.motion = true;
+ ESP_LOGI(TAG, "recheck verified motion, on pin %"PRIu32" sending!", io_num);
+ xSemaphoreGive(report_data.mutex);
+ send_report_motion(report_data.motion);
+
+ } else {
+ ESP_LOGW(TAG, "recheck came back false on pin %"PRIu32", ignoring as BLIP!!", io_num);
+ }
+#else
+ xSemaphoreTake(report_data.mutex, portMAX_DELAY);
+ report_data.motion = true;
+ xSemaphoreGive(report_data.mutex);
+ send_report_motion(report_data.motion);
+#endif
+
+ }
+ }
+
+}
+
static void motion_task(void* discard){
//zero-initialize the config structure.
//set as input mode
io_conf.mode = GPIO_MODE_INPUT;
//enable pull-down mode
- io_conf.pull_down_en = 1;
+ io_conf.pull_down_en = 0;
io_conf.pull_up_en = 0;
gpio_config(&io_conf);
//create a queue to handle gpio event from isr
motion_queue = xQueueCreate(10, sizeof(uint32_t));
+ check_queue = xQueueCreate(10, sizeof(uint32_t));
+
//install gpio isr service
ESP_ERROR_CHECK(gpio_install_isr_service(ESP_INTR_FLAG_LOWMED));
ESP_LOGE(TAG, "return for isr handler add (second) is %s", esp_err_to_name(secondret));
#endif
+ xTaskCreate(check_motion, "check_motion", 4096, NULL, 2, NULL);
uint32_t io_num;
ESP_LOGI(TAG, "waiting for motion events");
printf("GPIO[%"PRIu32"] intr, val: %d\n", io_num, pin_value);
switch (io_num) {
case CONFIG_MOTION_FIRST_PIN:
+ prev_motion[0] = motion_pins[0];
motion_pins[0] = pin_value;
+ if ( motion_pins[0] == true && prev_motion[0] == false ){
+ xQueueSend(check_queue, &io_num, portMAX_DELAY);
+ }
break;
case CONFIG_MOTION_SECOND_PIN:
+ prev_motion[1] = motion_pins[1];
motion_pins[1] = pin_value;
+ if ( motion_pins[1] == true && prev_motion[1] == false ){
+ xQueueSend(check_queue, &io_num, portMAX_DELAY);
+ }
break;
default:
printf("Unable to set motion pins!\n");
bool motion;
if ((motion_pins[0] == 0) && (motion_pins[1] == 0)) {
motion = false;
- } else {
- motion = true;
+ report_data.motion = motion;
}
-
- report_data.motion = motion;
xSemaphoreGive(report_data.mutex);
send_report_motion(motion);
}
}
}
+
#endif
static void monitoring_task(void* discard)
case MQTT_EVENT_DATA:
ESP_LOGI(TAG, "MQTT_EVENT_DATA");
printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
- printf("DATA=%.*s\r\n", event->data_len, event->data);
+#ifdef CONFIG_PWM_ENABLED
pwm_data_t sendpwm;
pwm_data_t* sendpwm_ptr = &sendpwm; //malloc(sizeof(pwm_data_t));
memset(sendpwm_ptr, 0, 1024);
memcpy(sendpwm_ptr->msg, event->data, event->data_len);
sendpwm_ptr->len = event->data_len;
printf("sendpwm msg: %s\nlen: %d\n", sendpwm_ptr->msg, sendpwm_ptr->len);
-
xQueueSend(pwm_queue, sendpwm_ptr, portMAX_DELAY);
+#endif
break;
case MQTT_EVENT_ERROR:
ESP_LOGI(TAG, "attempting to connect to MQTT");
mqtt_client = NULL;
char mqtt_id[64];
- sprintf(mqtt_id, "ESP32_%02x%02x%02x%02x%02x%02x",
- ot_mac[0], ot_mac[1], ot_mac[2], ot_mac[3], ot_mac[4], ot_mac[5]);
+#ifdef CONFIG_OT_ENABLED
+ sprintf(mqtt_id, "ESP32_%02x%02x%02x%02x%02x%02x_%02x%02x%02x%02x%02x%02x%02x%02x",
+ ot_mac[0], ot_mac[1], ot_mac[2], ot_mac[3], ot_mac[4], ot_mac[5],
+ otExt[0], otExt[1], otExt[2], otExt[3], otExt[4], otExt[5], otExt[6], otExt[7]);
+// sprintf(mqtt_id, "ESP32_%012x", ot_mac[0]);
+#else
+ sprintf(mqtt_id, "ESP32_wifi");
+#endif
esp_mqtt_client_config_t mqtt_cfg = {
.broker = {
.address.uri = CONFIG_BROKER_URL,
#endif
#ifdef CONFIG_OT_ENABLED
esp_vfs_eventfd_config_t eventfd_config = {
- .max_fds = 3,
+ .max_fds = 4,
};
ESP_ERROR_CHECK(esp_event_loop_create_default());
#include "esp_openthread_types.h"
#include "esp_openthread.h"
#include "esp_openthread_netif_glue.h"
+#include "esp_openthread_lock.h"
#include "esp_vfs_eventfd.h"
#include "openthread/logging.h"
#include "openthread/thread.h"
+#include "openthread/thread_ftd.h"
#define CONFIG_OPENTHREAD_NETWORK_POLLPERIOD_TIME 3000
# 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"
+ #espressif/mdns: "^1.1.0"
## Required IDF version
idf:
version: ">=5.0.0"
#
# Automatically generated file. DO NOT EDIT.
-# Espressif IoT Development Framework (ESP-IDF) 5.1.2 Project Configuration
+# Espressif IoT Development Framework (ESP-IDF) 5.2.0 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_AHB_GDMA_SUPPORTED=y
CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y
CONFIG_SOC_PCNT_SUPPORTED=y
CONFIG_SOC_MCPWM_SUPPORTED=y
CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y
CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y
CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y
+CONFIG_SOC_EFUSE_SUPPORTED=y
CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
CONFIG_SOC_RTC_MEM_SUPPORTED=y
CONFIG_SOC_I2S_SUPPORTED=y
CONFIG_SOC_LP_AON_SUPPORTED=y
CONFIG_SOC_PAU_SUPPORTED=y
CONFIG_SOC_CLK_TREE_SUPPORTED=y
+CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y
+CONFIG_SOC_WDT_SUPPORTED=y
+CONFIG_SOC_SPI_FLASH_SUPPORTED=y
CONFIG_SOC_XTAL_SUPPORT_32M=y
CONFIG_SOC_AES_SUPPORT_DMA=y
CONFIG_SOC_AES_GDMA=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_ADC_SHARED_POWER=y
CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y
CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
CONFIG_SOC_CACHE_FREEZE_SUPPORTED=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_GDMA_GROUPS=1
-CONFIG_SOC_GDMA_PAIRS_PER_GROUP=3
+CONFIG_SOC_AHB_GDMA_VERSION=1
+CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1
+CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3
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_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_PIN_HYS_FILTER=y
+CONFIG_SOC_GPIO_SUPPORT_PIN_HYS_CTRL_BY_EFUSE=y
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_IN_RANGE_MAX=27
+CONFIG_SOC_GPIO_OUT_RANGE_MAX=27
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_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y
CONFIG_SOC_RTCIO_PIN_COUNT=8
CONFIG_SOC_RTCIO_HOLD_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_ANA_CMPR_INTR_SHARE_WITH_GPIO=y
CONFIG_SOC_I2C_NUM=2
CONFIG_SOC_I2C_FIFO_LEN=32
CONFIG_SOC_I2C_CMD_REG_NUM=8
CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y
CONFIG_SOC_I2C_SUPPORT_XTAL=y
CONFIG_SOC_I2C_SUPPORT_RTC=y
+CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y
+CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y
+CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y
+CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y
+CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y
CONFIG_SOC_I2S_NUM=1
CONFIG_SOC_I2S_HW_VERSION_2=y
CONFIG_SOC_I2S_SUPPORTS_XTAL=y
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_MPI_MEM_BLOCKS_NUM=4
+CONFIG_SOC_MPI_OPERATIONS_NUM=3
CONFIG_SOC_RSA_MAX_BIT_LEN=3072
CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968
CONFIG_SOC_SHA_SUPPORT_DMA=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_FLASH_CLK_SRC_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_TOTAL_TIMERS=2
CONFIG_SOC_TIMER_SUPPORT_ETM=y
CONFIG_SOC_MWDT_SUPPORT_XTAL=y
-CONFIG_SOC_TWAI_CONTROLLER_NUM=y
+CONFIG_SOC_TWAI_CONTROLLER_NUM=1
CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y
CONFIG_SOC_TWAI_BRP_MIN=2
CONFIG_SOC_TWAI_BRP_MAX=32768
CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y
CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y
CONFIG_SOC_UART_NUM=2
+CONFIG_SOC_UART_HP_NUM=2
CONFIG_SOC_UART_FIFO_LEN=128
CONFIG_SOC_UART_BITRATE_MAX=5000000
CONFIG_SOC_UART_SUPPORT_RTC_CLK=y
CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y
CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y
CONFIG_SOC_PM_SUPPORT_CPU_PD=y
CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=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_RCC_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_BLE_POWER_CONTROL_SUPPORTED=y
CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y
CONFIG_IDF_CMAKE=y
+CONFIG_IDF_TOOLCHAIN="gcc"
CONFIG_IDF_TARGET_ARCH_RISCV=y
CONFIG_IDF_TARGET_ARCH="riscv"
CONFIG_IDF_TARGET="esp32h2"
+CONFIG_IDF_INIT_VERSION="5.2.0"
CONFIG_IDF_TARGET_ESP32H2=y
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0010
#
# Bootloader config
#
+
+#
+# Bootloader manager
+#
+CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y
+CONFIG_BOOTLOADER_PROJECT_VER=1
+# end of Bootloader manager
+
CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
CONFIG_BOOTLOADER_LOG_LEVEL=3
+
+#
+# Serial Flash Configurations
+#
+# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set
+CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
+# end of Serial Flash Configurations
+
# CONFIG_BOOTLOADER_FACTORY_RESET is not set
# CONFIG_BOOTLOADER_APP_TEST is not set
CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
-CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
# end of Bootloader config
#
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_ESP_ROM_HAS_SW_FLOAT=y
#
# Boot ROM Behavior
#
# Compiler options
#
-CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
+CONFIG_COMPILER_OPTIMIZATION_DEBUG=y
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set
# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
+# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set
# CONFIG_COMPILER_DUMP_RTL_FILES is not set
+CONFIG_COMPILER_RT_LIB_GCCLIB=y
+CONFIG_COMPILER_RT_LIB_NAME="gcc"
# end of Compiler options
#
#
# USB Serial/JTAG Configuration
#
-# CONFIG_USJ_NO_AUTO_LS_ON_CONNECTION is not set
# end of USB Serial/JTAG Configuration
#
# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set
# CONFIG_PARLIO_ISR_IRAM_SAFE is not set
# end of Parallel IO Configuration
+
+#
+# LEDC Configuration
+#
+# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set
+# end of LEDC Configuration
+
+#
+# I2C Configuration
+#
+# CONFIG_I2C_ISR_IRAM_SAFE is not set
+# CONFIG_I2C_ENABLE_DEBUG_LOG is not set
+# end of I2C Configuration
# end of Driver Configurations
#
#
# GDB Stub
#
+# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
# end of GDB Stub
#
CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO=y
CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES_TWO=y
CONFIG_ESP32H2_UNIVERSAL_MAC_ADDRESSES=2
+# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set
# end of MAC Config
#
CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
+# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set
+# CONFIG_ESP_SLEEP_DEBUG is not set
CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y
-# CONFIG_ESP_SLEEP_EVENT_CALLBACKS is not set
# end of Sleep Config
#
#
# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set
# CONFIG_GDMA_ISR_IRAM_SAFE is not set
+# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set
# end of GDMA Configuration
#
#
# Power Management
#
-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_ENABLE is not set
CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y
# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set
-# CONFIG_PM_LIGHT_SLEEP_CALLBACKS is not set
# end of Power Management
#
CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
-# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=1
CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y
# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set
# end of Brownout Detector
CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
+CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y
# end of ESP System Settings
#
CONFIG_FATFS_PER_FILE_CACHE=y
# CONFIG_FATFS_USE_FASTSEEK is not set
CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
+# CONFIG_FATFS_IMMEDIATE_FSYNC is not set
# end of FAT Filesystem support
#
# CONFIG_FREERTOS_USE_TICK_HOOK is not set
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set
+CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc"
CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
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_FREERTOS_TASK_FUNCTION_WRAPPER=y
# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
+# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set
# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
CONFIG_FREERTOS_ISR_STACKSIZE=1536
# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set
CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
-CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
# end of Port
+CONFIG_FREERTOS_PORT=y
CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
CONFIG_FREERTOS_DEBUG_OCDAWARE=y
+CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
+CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
# end of FreeRTOS
#
# CONFIG_HEAP_TRACING_STANDALONE is not set
# CONFIG_HEAP_TRACING_TOHOST is not set
# CONFIG_HEAP_USE_HOOKS is not set
+# CONFIG_HEAP_TASK_TRACKING is not set
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
CONFIG_HEAP_TLSF_USE_ROM_IMPL=y
# end of Heap memory debugging
# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
CONFIG_LOG_MAXIMUM_LEVEL=3
+# CONFIG_LOG_MASTER_LEVEL is not set
CONFIG_LOG_COLORS=y
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
#
# LWIP
#
+CONFIG_LWIP_ENABLE=y
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
# CONFIG_LWIP_NETIF_API is not set
CONFIG_LWIP_TCPIP_TASK_PRIO=18
# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set
CONFIG_LWIP_TIMERS_ONDEMAND=y
CONFIG_LWIP_ND6=y
+# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set
CONFIG_LWIP_MAX_SOCKETS=10
# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
# CONFIG_LWIP_SO_LINGER is not set
CONFIG_LWIP_DHCPS=y
CONFIG_LWIP_DHCPS_LEASE_UNIT=60
CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
+CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y
# end of DHCP server
# CONFIG_LWIP_AUTOIP is not set
CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
-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_NONE is not set
+CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT=y
# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE is not set
CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT=y
# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
CONFIG_MBEDTLS_CMAC_C=y
-# CONFIG_MBEDTLS_HARDWARE_AES is not set
-# CONFIG_MBEDTLS_HARDWARE_MPI is not set
-# CONFIG_MBEDTLS_HARDWARE_SHA is not set
+CONFIG_MBEDTLS_HARDWARE_AES=y
+CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
+CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0
+CONFIG_MBEDTLS_HARDWARE_MPI=y
+CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y
+CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0
+CONFIG_MBEDTLS_HARDWARE_SHA=y
CONFIG_MBEDTLS_HARDWARE_ECC=y
CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y
CONFIG_MBEDTLS_ROM_MD5=y
# CONFIG_MBEDTLS_CHACHA20_C is not set
# CONFIG_MBEDTLS_HKDF_C is not set
# CONFIG_MBEDTLS_THREADING_C is not set
+CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y
# end of mbedTLS
#
#
# NVS
#
+# CONFIG_NVS_ENCRYPTION is not set
# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
+# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set
# end of NVS
#
#
# Thread Operational Dataset
#
-CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
-CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64"
-CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
+CONFIG_OPENTHREAD_NETWORK_NAME="OMGOT"
+CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fdfe:57c2:58e2:e489::/64"
+CONFIG_OPENTHREAD_NETWORK_CHANNEL=26
CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
-CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
+CONFIG_OPENTHREAD_NETWORK_EXTPANID="1111111122222222"
CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
-CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
+CONFIG_OPENTHREAD_NETWORK_PSKC="fe546783f67709f6a682471966bb506c"
# end of Thread Operational Dataset
CONFIG_OPENTHREAD_RADIO_NATIVE=y
CONFIG_OPENTHREAD_FTD=y
# CONFIG_OPENTHREAD_MTD is not set
# CONFIG_OPENTHREAD_RADIO is not set
-CONFIG_OPENTHREAD_CLI=y
+# CONFIG_OPENTHREAD_CLI is not set
CONFIG_OPENTHREAD_DIAG=y
# CONFIG_OPENTHREAD_COMMISSIONER is not set
-# CONFIG_OPENTHREAD_JOINER is not set
+CONFIG_OPENTHREAD_JOINER=y
CONFIG_OPENTHREAD_SRP_CLIENT=y
CONFIG_OPENTHREAD_SRP_CLIENT_MAX_SERVICES=5
CONFIG_OPENTHREAD_DNS_CLIENT=y
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_LINK_METRICS=y
# CONFIG_OPENTHREAD_MACFILTER_ENABLE is not set
# CONFIG_OPENTHREAD_CSL_ENABLE is not set
CONFIG_OPENTHREAD_XTAL_ACCURACY=130
-# CONFIG_OPENTHREAD_DUA_ENABLE is not set
+CONFIG_OPENTHREAD_DUA_ENABLE=y
# CONFIG_OPENTHREAD_TIME_SYNC is not set
+CONFIG_OPENTHREAD_RADIO_STATS_ENABLE=y
# end of OpenThread
#
CONFIG_MMU_PAGE_SIZE=0x10000
# end of MMU Config
+#
+# Main Flash configuration
+#
+
+#
+# SPI Flash behavior when brownout
+#
+CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
+CONFIG_SPI_FLASH_BROWNOUT_RESET=y
+# end of SPI Flash behavior when brownout
+
+#
+# Optional and Experimental Features (READ DOCS FIRST)
+#
+
+#
+# Features here require specific hardware (READ DOCS FIRST!)
+#
+# end of Optional and Experimental Features (READ DOCS FIRST)
+# end of Main Flash configuration
+
#
# SPI Flash driver
#
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
-#
-# SPI Flash behavior when brownout
-#
-CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
-CONFIG_SPI_FLASH_BROWNOUT_RESET=y
-# end of SPI Flash behavior when brownout
-
#
# Auto-detect flash chips
#
CONFIG_VFS_SUPPORT_DIR=y
CONFIG_VFS_SUPPORT_SELECT=y
CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+# CONFIG_VFS_SELECT_IN_RAM is not set
CONFIG_VFS_SUPPORT_TERMIOS=y
CONFIG_VFS_MAX_COUNT=8
#
# AQI Program Configuration
#
-CONFIG_TEMP_ENABLED=y
+# CONFIG_TEMP_ENABLED is not set
CONFIG_TEMP_PIN=2
-CONFIG_EEPY_DEVICE=y
+# CONFIG_EEPY_DEVICE is not set
# CONFIG_LIGHT_SLEEP_ENABLED is not set
# CONFIG_UART_ENABLED is not set
# CONFIG_ZIG_ENABLED is not set
# CONFIG_WIFI_ENABLED is not set
CONFIG_OT_ENABLED=y
# CONFIG_LED_ENABLED is not set
-CONFIG_MOTION_FIRST_ENABLED=y
-CONFIG_MOTION_FIRST_PIN=13
-CONFIG_MOTION_SECOND_ENABLED=y
-CONFIG_MOTION_SECOND_PIN=22
+# CONFIG_MOTION_FIRST_ENABLED is not set
+CONFIG_MOTION_FIRST_PIN=25
+# CONFIG_MOTION_SECOND_ENABLED is not set
+CONFIG_MOTION_SECOND_PIN=10
+# CONFIG_MOTION_RECHECK is not set
+# CONFIG_PWM_ENABLED is not set
+CONFIG_PWM_TOPIC="esp32/pwm/stairway"
+CONFIG_PWM_TARGET_PERCENT=50
+CONFIG_PWM_R1_GPIO=0
+CONFIG_PWM_G1_GPIO=14
+CONFIG_PWM_B1_GPIO=13
+CONFIG_PWM_R2_GPIO=-1
+CONFIG_PWM_G2_GPIO=-1
+CONFIG_PWM_B2_GPIO=-1
# CONFIG_INDICATOR_ENABLED is not set
CONFIG_BROKER_URL="mqtts://esp32:sensorauth@rabbitmq"
-CONFIG_LOCATION="Downstairs"
+CONFIG_LOCATION="Test Solder 2"
CONFIG_GPIO_ERASE_PIN=5
# end of AQI Program Configuration
#
CONFIG_DELAY_BLOCKING_TIME=3
# end of ESP TM1637
-
-#
-# Wifi Manager Configuration
-#
-CONFIG_WIFI_MANAGER_TASK_PRIORITY=5
-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="esp32"
-CONFIG_DEFAULT_AP_PASSWORD="esp32pwd"
-CONFIG_DEFAULT_AP_CHANNEL=1
-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_MAX_CONNECTIONS=4
-CONFIG_DEFAULT_AP_BEACON_INTERVAL=100
-# end of Wifi Manager Configuration
-
-#
-# mDNS
-#
-CONFIG_MDNS_MAX_INTERFACES=3
-CONFIG_MDNS_MAX_SERVICES=10
-CONFIG_MDNS_TASK_PRIORITY=1
-CONFIG_MDNS_ACTION_QUEUE_LEN=16
-CONFIG_MDNS_TASK_STACK_SIZE=4096
-# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set
-CONFIG_MDNS_TASK_AFFINITY_CPU0=y
-CONFIG_MDNS_TASK_AFFINITY=0x0
-CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
-CONFIG_MDNS_TIMER_PERIOD_MS=100
-# CONFIG_MDNS_NETWORKING_SOCKET is not set
-# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
-# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
-# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
-CONFIG_MDNS_MULTIPLE_INSTANCE=y
-
-#
-# MDNS Predefined interfaces
-#
-CONFIG_MDNS_PREDEF_NETIF_STA=y
-CONFIG_MDNS_PREDEF_NETIF_AP=y
-CONFIG_MDNS_PREDEF_NETIF_ETH=y
-# end of MDNS Predefined interfaces
-# end of mDNS
# end of Component config
# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set
CONFIG_MONITOR_BAUD=115200
CONFIG_OPTIMIZATION_LEVEL_DEBUG=y
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
+CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
+++ /dev/null
-# The following lines of boilerplate have to be in your project's CMakeLists
-# in this exact order for cmake to work correctly
-cmake_minimum_required(VERSION 3.16)
-
-include($ENV{IDF_PATH}/tools/cmake/project.cmake)
-project(ot_test)
+++ /dev/null
-| Supported Targets | ESP32-C6 | ESP32-H2 |
-| ----------------- | -------- | -------- |
-
-# OpenThread Sleepy Device Example
-
-The example demonstrates the Thread Sleepy End Device (SED), the device will enter [Light Sleep mode](https://docs.espressif.com/projects/esp-idf/en/latest/esp32c6/api-reference/system/sleep_modes.html#sleep-modes) during idle state.
-## How to use example
-
-### Hardware Required
-
-* Prepare an 802.15.4 SoC development board as an OpenThread Sleepy End Device (SED).
-* Connect the board using a USB cable for power supply and programming.
-* Choose another 802.15.4 SoC as the OpenThread Leader.
-
-## Configure the Openthread Dataset
-
-* Run [ot_cli](../ot_cli/) on another 802.15.4 SoC device to create openthread dataset configuration and start an openthread network as the leader.
-* Configure the Openthread dataset using `idf.py menuconfig` in `Component config ---> Openthread ---> Thread Operation Dataset`, ensuring that the openthread sleepy device's dataset matches the dataset of the leader.
-
-### Build and Flash
-
-Build the project and flash it to the board. Use the following command: `idf.py -p <PORT> erase-flash flash monitor`.
-
-### Example Output
-
-As the example runs, you will see the log output indicating the initialization and operation of OpenThread, including the device joining the OpenThread network as a Sleepy End Device (SED) and periodic polling of the leader.
-
-```
-I (769) btbb_init: btbb sleep retention initialization
-I (769) ieee802154: ieee802154 mac sleep retention initialization
-I(769) OPENTHREAD:[I] ChildSupervsn-: Timeout: 0 -> 190
-I (699) main_task: Returned from app_main()
-I (799) OPENTHREAD: OpenThread attached to netif
-I(799) OPENTHREAD:[N] Mle-----------: Mode 0x0f -> 0x04 [rx-on:no ftd:no full-net:no]
-I(809) OPENTHREAD:[N] Mle-----------: Role disabled -> detached
-I (819) OPENTHREAD: netif up
-I(1519) OPENTHREAD:[N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
-I(2479) OPENTHREAD:[N] Mle-----------: RLOC16 fffe -> 5023
-I(2529) OPENTHREAD:[N] Mle-----------: Role detached -> child
-```
\ No newline at end of file
+++ /dev/null
-idf_component_register(SRCS "esp_ot_sleepy_device.c"
- INCLUDE_DIRS ".")
+++ /dev/null
-menu "AQI Program Configuration"
-config BROKER_URL
- string "Set this to connect mqtt and report back data"
- default "mqtts://esp32:sensorauth@rabbitmq.hexthepla.net"
- help
- Gets used downstream
-config LOCATION
- string "Set this to whatever you'd like reported as location"
- default "ESP32 babyyy"
- help
- Gets used when sending off sensor data
-endmenu
+++ /dev/null
-/*
- * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
- *
- * SPDX-License-Identifier: CC0-1.0
- *
- * OpenThread Command Line Example
- *
- * This example code is in the Public Domain (or CC0 licensed, at your option.)
- *
- * Unless required by applicable law or agreed to in writing, this
- * software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- * CONDITIONS OF ANY KIND, either express or implied.
-*/
-
-#include <stdint.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include "esp_err.h"
-#include "esp_event.h"
-#include "esp_log.h"
-#include "esp_openthread.h"
-#include "esp_openthread_netif_glue.h"
-#include "esp_ot_sleepy_device_config.h"
-#include "esp_vfs_eventfd.h"
-#include "driver/uart.h"
-#include "nvs_flash.h"
-#include "openthread/logging.h"
-#include "openthread/thread.h"
-
-#ifdef CONFIG_PM_ENABLE
-#include "esp_pm.h"
-#endif
-
-#if !SOC_IEEE802154_SUPPORTED
-#error "Openthread sleepy device is only supported for the SoCs which have IEEE 802.15.4 module"
-#endif
-
-#define TAG "ot_esp_power_save"
-
-static bool ot_connected = false;
-static bool mqtt_connected = false;
-static QueueHandle_t event_queue;
-
-// for tracking and reporting device uptime
-static uint32_t device_uptime_seconds = 0;
-
-
-
-static void log_error_if_nonzero(const char *message, int error_code)
-{
- if (error_code != 0) {
- ESP_LOGE(TAG, "Last error %s: 0x%x", message, error_code);
- }
-}
-
-static void mqtt_reinit(esp_mqtt_client_handle_t client){
- ESP_LOGW(TAG, "trying to shutdown old mqtt client here");
- // get rid of previous handle
- // the auto reconnect should handle everything else
- ESP_ERROR_CHECK(esp_mqtt_client_stop(client));
-}
-
-
-/*
- * @brief Event handler registered to receive MQTT events
- *
- * This function is called by the MQTT client event loop.
- *
- * @param handler_args user data registered to the event.
- * @param base Event base for the handler(always MQTT Base in this example).
- * @param event_id The id for the received event.
- * @param event_data The data for the event, esp_mqtt_event_handle_t.
- */
-static void mqtt_event_handler(void *handler_args, esp_event_base_t base, int32_t event_id, void *event_data)
-{
- ESP_LOGD(TAG, "Event dispatched from event loop base=%s, event_id=%" PRIi32 "", base, event_id);
- esp_mqtt_event_handle_t event = event_data;
- switch ((esp_mqtt_event_id_t)event_id) {
- case MQTT_EVENT_CONNECTED:
- mqtt_client = event->client;
- mqtt_connected = true;
- ESP_LOGI(TAG, "MQTT_EVENT_CONNECTED");
- break;
- case MQTT_EVENT_DISCONNECTED:
- if ( event->client != mqtt_client ){
- ESP_LOGI(TAG, "disco old mqtt client, staying connected on this one");
- } else {
- ESP_LOGI(TAG, "MQTT_EVENT_DISCONNECTED");
- mqtt_connected = false;
- }
- break;
-
- case MQTT_EVENT_SUBSCRIBED:
- ESP_LOGI(TAG, "MQTT_EVENT_SUBSCRIBED, msg_id=%d", event->msg_id);
- break;
- case MQTT_EVENT_UNSUBSCRIBED:
- ESP_LOGI(TAG, "MQTT_EVENT_UNSUBSCRIBED, msg_id=%d", event->msg_id);
- break;
- case MQTT_EVENT_PUBLISHED:
- ESP_LOGI(TAG, "MQTT_EVENT_PUBLISHED, msg_id=%d", event->msg_id);
- break;
- case MQTT_EVENT_DATA:
- ESP_LOGI(TAG, "MQTT_EVENT_DATA");
- printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
- printf("DATA=%.*s\r\n", event->data_len, event->data);
- break;
- case MQTT_EVENT_ERROR:
- if ( mqtt_client != NULL && event->client != mqtt_client ){
- ESP_LOGI(TAG, "old mqtt client, staying connected on this one and shutting down old");
- esp_mqtt_client_handle_t send_item = event->client;
- xQueueSend(event_queue, &send_item, portMAX_DELAY);
- } else {
- mqtt_connected = false;
- ESP_LOGI(TAG, "MQTT_EVENT_ERROR");
- }
- if (event->error_handle->error_type == MQTT_ERROR_TYPE_TCP_TRANSPORT) {
- log_error_if_nonzero("reported from esp-tls", event->error_handle->esp_tls_last_esp_err);
- log_error_if_nonzero("reported from tls stack", event->error_handle->esp_tls_stack_err);
- log_error_if_nonzero("captured as transport's socket errno", event->error_handle->esp_transport_sock_errno);
- ESP_LOGI(TAG, "Last errno string (%s)", strerror(event->error_handle->esp_transport_sock_errno));
-
- }
-
- //ESP_ERROR_CHECK(esp_mqtt_client_reconnect(mqtt_client));
- break;
- default:
- ESP_LOGI(TAG, "Other event id:%d", event->event_id);
- break;
- }
-}
-
-static void send_report_wifi(){
- ESP_LOGI(TAG, "send_report_wifi was called!");
- cJSON *root;
- root = cJSON_CreateObject();
- cJSON_AddStringToObject(root, "location", CONFIG_LOCATION);
- cJSON_AddNumberToObject(root, "uptime", device_uptime_seconds);
-
- //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 (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 {
- ESP_LOGW(TAG, "well, not quite yet (not connected)");
- }
- free(mqtt_string);
- cJSON_Delete(root);
-}
-
-
-void init_mqtt(){
- ESP_LOGI(TAG, "attempting to connect to MQTT");
- mqtt_client = NULL;
- esp_mqtt_client_config_t mqtt_cfg = {
- .broker = {
- .address.uri = CONFIG_BROKER_URL,
- .verification.certificate = NULL,
- //.verification.use_global_ca_store = true,
- //.verification.crt_bundle_attach = esp_crt_bundle_attach,
- },
- .session.keepalive = 10,
- //.cacert_buf = ca_cert,
- //.cacert_bytes = strlen(ca_cert)+1,
- };
- esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
- /* The last argument may be used to pass data to the event handler, in this example mqtt_event_handler */
- esp_mqtt_client_register_event(client, ESP_EVENT_ANY_ID, mqtt_event_handler, NULL);
- esp_mqtt_client_start(client);
-}
-
-static void monitoring_task(void* discard)
-{
- int64_t cur_uptime = 0;
- int64_t next_sleep_uptime = 0;
- int64_t remaining_time = 0;
- esp_mqtt_client_handle_t queue_item;
- for(;;){
-
- // 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);
- mqtt_reinit(queue_item);
- }
- ESP_LOGI(TAG, "free heap: %"PRIu32, esp_get_free_heap_size());
- cur_uptime = esp_timer_get_time();
- // we'll use this to calc our sleeps later
- next_sleep_uptime = cur_uptime + SLEEP_MS*1000;
- // first things first (function gives microseconds, just convert to seconds)
- // 32 bits is enough for >50 years and zigbee stack gets mad if we use more bits
- device_uptime_seconds = (uint32_t)(cur_uptime/1000000);
- // one BIG report for wifi
- send_report_wifi();
- cur_uptime = esp_timer_get_time();
- remaining_time = next_sleep_uptime - cur_uptime;
- ESP_LOGI(TAG, "next sleep uptime %lld cur_uptime %lld remaining time %lld", next_sleep_uptime, cur_uptime, remaining_time);
- // sleep for 10 seconds before measuring again
- ESP_LOGI(TAG, "sleeping for %lld ms", remaining_time/1000);
- vTaskDelay( pdMS_TO_TICKS(remaining_time/1000) );
- }
-}
-
-
-
-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:
- ot_connected = true;
- ESP_LOGI(TAG, "is_connected = true");
- init_mqtt();
- break;
-
- case OT_DEVICE_ROLE_DETACHED:
- case OT_DEVICE_ROLE_DISABLED:
- ot_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 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);
-}
-
-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;
-}
-
-void app_main(void)
-{
- // Used eventfds:
- // * netif
- // * ot task queue
- // * radio driver
- esp_vfs_eventfd_config_t eventfd_config = {
- .max_fds = 3,
- };
-
- ESP_ERROR_CHECK(nvs_flash_init());
- 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());
- event_queue = xQueueCreate(5, sizeof(esp_mqtt_client_handle_t));
-
-
- xTaskCreate(ot_task_worker, "ot_power_save_main", 4096, NULL, 5, NULL);
- xTaskCreate(monitoring_task, "monitoring_task", 4096, NULL, 1, NULL);
-}
+++ /dev/null
-/*
- * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
- *
- * SPDX-License-Identifier: CC0-1.0
- *
- * OpenThread Command Line Example
- *
- * This example code is in the Public Domain (or CC0 licensed, at your option.)
- *
- * Unless required by applicable law or agreed to in writing, this
- * software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- * CONDITIONS OF ANY KIND, either express or implied.
- */
-
-#include "esp_timer.h"
-#include <lwip/ip4_addr.h>
-#include <esp_netif.h>
-#include <esp_tls.h>
-#include "mqtt_client.h"
-#include "esp_crt_bundle.h"
-#include "esp_netif_sntp.h"
-#include "cJSON.h"
-static esp_mqtt_client_handle_t mqtt_client;
-void init_mqtt();
-
-static void mqtt_reinit();
-// ten second loop
-#define SLEEP_MS 10000
-
-
-
-#pragma once
-
-#include "esp_openthread_types.h"
-
-# define CONFIG_OPENTHREAD_NETWORK_POLLPERIOD_TIME 3000
-
-#if SOC_IEEE802154_SUPPORTED
-#define ESP_OPENTHREAD_DEFAULT_RADIO_CONFIG() \
- { \
- .radio_mode = RADIO_MODE_NATIVE, \
- }
-#endif
-
-#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, \
- }
+++ /dev/null
-# Name, Type, SubType, Offset, Size, Flags
-# 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, 0x120000,
+++ /dev/null
-#
-# Automatically generated file. DO NOT EDIT.
-# 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_ASYNC_MEMCPY_SUPPORTED=y
-CONFIG_SOC_PCNT_SUPPORTED=y
-CONFIG_SOC_MCPWM_SUPPORTED=y
-CONFIG_SOC_TWAI_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_USB_SERIAL_JTAG_SUPPORTED=y
-CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y
-CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=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_GPSPI_SUPPORTED=y
-CONFIG_SOC_LEDC_SUPPORTED=y
-CONFIG_SOC_I2C_SUPPORTED=y
-CONFIG_SOC_SYSTIMER_SUPPORTED=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_BOD_SUPPORTED=y
-CONFIG_SOC_APM_SUPPORTED=y
-CONFIG_SOC_PMU_SUPPORTED=y
-CONFIG_SOC_LP_TIMER_SUPPORTED=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_AES_SUPPORT_AES_256=y
-CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
-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_ATTEN_NUM=4
-CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1
-CONFIG_SOC_ADC_PATT_LEN_MAX=8
-CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
-CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12
-CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2
-CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2
-CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4
-CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
-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_TEMPERATURE_SHARE_INTR=y
-CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y
-CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
-CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y
-CONFIG_SOC_CPU_CORES_NUM=1
-CONFIG_SOC_CPU_INTR_NUM=32
-CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y
-CONFIG_SOC_INT_PLIC_SUPPORTED=y
-CONFIG_SOC_CPU_BREAKPOINTS_NUM=4
-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
-CONFIG_SOC_GDMA_GROUPS=1
-CONFIG_SOC_GDMA_PAIRS_PER_GROUP=3
-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_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_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_SUPPORT_FORCE_HOLD=y
-CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=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_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_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_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_TIMER_BIT_WIDTH=20
-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_MPU_MIN_REGION_SIZE=0x20000000
-CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
-CONFIG_SOC_PCNT_GROUPS=1
-CONFIG_SOC_PCNT_UNITS_PER_GROUP=4
-CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
-CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
-CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y
-CONFIG_SOC_RMT_GROUPS=1
-CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2
-CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2
-CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4
-CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48
-CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y
-CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y
-CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y
-CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y
-CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y
-CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y
-CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y
-CONFIG_SOC_RMT_SUPPORT_XTAL=y
-CONFIG_SOC_RMT_SUPPORT_RC_FAST=y
-CONFIG_SOC_MCPWM_GROUPS=1
-CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
-CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
-CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
-CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
-CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
-CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
-CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
-CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
-CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
-CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y
-CONFIG_SOC_MCPWM_SUPPORT_ETM=y
-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_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_RESUME=y
-CONFIG_SOC_SHA_GDMA=y
-CONFIG_SOC_SHA_SUPPORT_SHA1=y
-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_XTAL=y
-CONFIG_SOC_SPI_PERIPH_NUM=2
-CONFIG_SOC_SPI_MAX_CS_NUM=6
-CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
-CONFIG_SOC_SPI_SUPPORT_DDRCLK=y
-CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y
-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_RC_FAST=y
-CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y
-CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16
-CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y
-CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y
-CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y
-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_SYSTIMER_COUNTER_NUM=2
-CONFIG_SOC_SYSTIMER_ALARM_NUM=3
-CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32
-CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20
-CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y
-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
-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_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_PAD_JTAG=y
-CONFIG_SOC_EFUSE_DIS_USB_JTAG=y
-CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y
-CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y
-CONFIG_SOC_EFUSE_DIS_ICACHE=y
-CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y
-CONFIG_SOC_SECURE_BOOT_V2_RSA=y
-CONFIG_SOC_SECURE_BOOT_V2_ECC=y
-CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3
-CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y
-CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y
-CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
-CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y
-CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y
-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_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_EXTERNAL_COEX_ADVANCE=y
-CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
-CONFIG_SOC_PM_SUPPORT_BT_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_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_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_CLK_RC_FAST_SUPPORT_CALIBRATION=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_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_BLE_MULTI_CONN_OPTIMIZATION=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
-
-#
-# Build type
-#
-CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
-# CONFIG_APP_BUILD_TYPE_RAM is not set
-CONFIG_APP_BUILD_GENERATE_BINARIES=y
-CONFIG_APP_BUILD_BOOTLOADER=y
-CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
-# CONFIG_APP_REPRODUCIBLE_BUILD is not set
-# CONFIG_APP_NO_BLOBS is not set
-# end of Build type
-
-#
-# Bootloader config
-#
-CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0
-CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
-CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
-# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
-CONFIG_BOOTLOADER_LOG_LEVEL=3
-# CONFIG_BOOTLOADER_FACTORY_RESET is not set
-# CONFIG_BOOTLOADER_APP_TEST is not set
-CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
-CONFIG_BOOTLOADER_WDT_ENABLE=y
-# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
-CONFIG_BOOTLOADER_WDT_TIME_MS=9000
-# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
-CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
-# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
-CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
-# end of Bootloader config
-
-#
-# Security features
-#
-CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y
-CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y
-CONFIG_SECURE_BOOT_V2_PREFERRED=y
-# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
-# CONFIG_SECURE_BOOT is not set
-# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
-CONFIG_SECURE_ROM_DL_MODE_ENABLED=y
-# end of Security features
-
-#
-# Application manager
-#
-CONFIG_APP_COMPILE_TIME_DATE=y
-# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
-# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
-# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
-CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
-# end of Application manager
-
-CONFIG_ESP_ROM_HAS_CRC_LE=y
-CONFIG_ESP_ROM_HAS_CRC_BE=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_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_WDT_INIT_PATCH=y
-CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y
-CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y
-
-#
-# Boot ROM Behavior
-#
-CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y
-# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set
-# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set
-# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set
-# end of Boot ROM Behavior
-
-#
-# Serial flasher config
-#
-# CONFIG_ESPTOOLPY_NO_STUB is not set
-# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set
-# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
-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_FLASHSIZE_1MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
-# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
-# 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_HEADER_FLASHSIZE_UPDATE is not set
-CONFIG_ESPTOOLPY_BEFORE_RESET=y
-# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
-CONFIG_ESPTOOLPY_BEFORE="default_reset"
-CONFIG_ESPTOOLPY_AFTER_RESET=y
-# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
-CONFIG_ESPTOOLPY_AFTER="hard_reset"
-CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
-# end of Serial flasher config
-
-#
-# Partition Table
-#
-# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
-# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
-# CONFIG_PARTITION_TABLE_TWO_OTA is not set
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
-CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
-CONFIG_PARTITION_TABLE_OFFSET=0x8000
-CONFIG_PARTITION_TABLE_MD5=y
-# end of Partition Table
-
-#
-# Compiler options
-#
-CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
-# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
-# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
-# CONFIG_COMPILER_OPTIMIZATION_NONE 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=y
-CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
-# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
-CONFIG_COMPILER_HIDE_PATHS_MACROS=y
-# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
-# CONFIG_COMPILER_CXX_RTTI is not set
-CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
-# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
-# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
-# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
-# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
-# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set
-# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
-# CONFIG_COMPILER_DUMP_RTL_FILES is not set
-# end of Compiler options
-
-#
-# Component config
-#
-
-#
-# Application Level Tracing
-#
-# CONFIG_APPTRACE_DEST_JTAG is not set
-CONFIG_APPTRACE_DEST_NONE=y
-# CONFIG_APPTRACE_DEST_UART1 is not set
-CONFIG_APPTRACE_DEST_UART_NONE=y
-CONFIG_APPTRACE_UART_TASK_PRIO=1
-CONFIG_APPTRACE_LOCK_ENABLE=y
-# end of Application Level Tracing
-
-#
-# Bluetooth
-#
-# CONFIG_BT_ENABLED is not set
-# end of Bluetooth
-
-#
-# Driver Configurations
-#
-
-#
-# Legacy ADC Configuration
-#
-# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
-
-#
-# Legacy ADC Calibration Configuration
-#
-# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
-# end of Legacy ADC Calibration Configuration
-# end of Legacy ADC Configuration
-
-#
-# SPI Configuration
-#
-# CONFIG_SPI_MASTER_IN_IRAM is not set
-CONFIG_SPI_MASTER_ISR_IN_IRAM=y
-# CONFIG_SPI_SLAVE_IN_IRAM is not set
-CONFIG_SPI_SLAVE_ISR_IN_IRAM=y
-# end of SPI Configuration
-
-#
-# TWAI Configuration
-#
-# CONFIG_TWAI_ISR_IN_IRAM is not set
-# end of TWAI Configuration
-
-#
-# Temperature sensor Configuration
-#
-# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set
-# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set
-# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set
-# end of Temperature sensor Configuration
-
-#
-# UART Configuration
-#
-# CONFIG_UART_ISR_IN_IRAM is not set
-# end of UART Configuration
-
-#
-# GPIO Configuration
-#
-# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
-# end of GPIO Configuration
-
-#
-# Sigma Delta Modulator Configuration
-#
-# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
-# 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
-#
-# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
-# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
-# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
-# end of GPTimer Configuration
-
-#
-# PCNT Configuration
-#
-# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_PCNT_ISR_IRAM_SAFE is not set
-# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
-# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
-# end of PCNT Configuration
-
-#
-# RMT Configuration
-#
-# CONFIG_RMT_ISR_IRAM_SAFE is not set
-# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
-# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
-# end of RMT Configuration
-
-#
-# MCPWM Configuration
-#
-# CONFIG_MCPWM_ISR_IRAM_SAFE is not set
-# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
-# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
-# end of MCPWM Configuration
-
-#
-# I2S Configuration
-#
-# CONFIG_I2S_ISR_IRAM_SAFE is not set
-# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
-# CONFIG_I2S_ENABLE_DEBUG_LOG is not set
-# end of I2S Configuration
-
-#
-# USB Serial/JTAG Configuration
-#
-# CONFIG_USJ_NO_AUTO_LS_ON_CONNECTION is not set
-# end of USB Serial/JTAG Configuration
-
-#
-# Parallel IO Configuration
-#
-# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set
-# CONFIG_PARLIO_ISR_IRAM_SAFE is not set
-# end of Parallel IO Configuration
-# end of Driver Configurations
-
-#
-# eFuse Bit Manager
-#
-# CONFIG_EFUSE_CUSTOM_TABLE is not set
-# CONFIG_EFUSE_VIRTUAL is not set
-CONFIG_EFUSE_MAX_BLK_LEN=256
-# end of eFuse Bit Manager
-
-#
-# ESP-TLS
-#
-CONFIG_ESP_TLS_USING_MBEDTLS=y
-CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y
-# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
-# CONFIG_ESP_TLS_SERVER is not set
-# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
-CONFIG_ESP_TLS_INSECURE=y
-CONFIG_ESP_TLS_SKIP_SERVER_CERT_VERIFY=y
-# end of ESP-TLS
-
-#
-# ADC and ADC Calibration
-#
-# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
-# end of ADC and ADC Calibration
-
-#
-# Wireless Coexistence
-#
-# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set
-# end of Wireless Coexistence
-
-#
-# Common ESP-related
-#
-CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-# end of Common ESP-related
-
-#
-# Ethernet
-#
-CONFIG_ETH_ENABLED=y
-CONFIG_ETH_USE_SPI_ETHERNET=y
-# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
-# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
-# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
-# CONFIG_ETH_USE_OPENETH is not set
-# CONFIG_ETH_TRANSMIT_MUTEX is not set
-# end of Ethernet
-
-#
-# Event Loop Library
-#
-# CONFIG_ESP_EVENT_LOOP_PROFILING is not set
-CONFIG_ESP_EVENT_POST_FROM_ISR=y
-CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y
-# end of Event Loop Library
-
-#
-# GDB Stub
-#
-# end of GDB Stub
-
-#
-# ESP HTTP client
-#
-CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
-# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
-# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
-# end of ESP HTTP client
-
-#
-# HTTP Server
-#
-CONFIG_HTTPD_MAX_REQ_HDR_LEN=512
-CONFIG_HTTPD_MAX_URI_LEN=512
-CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
-CONFIG_HTTPD_PURGE_BUF_LEN=32
-# CONFIG_HTTPD_LOG_PURGE_DATA is not set
-# CONFIG_HTTPD_WS_SUPPORT is not set
-# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
-# end of HTTP Server
-
-#
-# ESP HTTPS OTA
-#
-# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
-# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
-# end of ESP HTTPS OTA
-
-#
-# ESP HTTPS server
-#
-# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
-# end of ESP HTTPS server
-
-#
-# Hardware Settings
-#
-
-#
-# 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_ESP_REV_MIN_FULL=0
-
-#
-# Maximum Supported ESP32-H2 Revision (Rev v0.99)
-#
-CONFIG_ESP32H2_REV_MAX_FULL=99
-CONFIG_ESP_REV_MAX_FULL=99
-# end of Chip revision
-
-#
-# MAC Config
-#
-CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=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
-# end of MAC Config
-
-#
-# Sleep Config
-#
-# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set
-CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
-# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
-CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y
-# end of Sleep Config
-
-#
-# RTC Clock Config
-#
-CONFIG_RTC_CLK_SRC_INT_RC=y
-# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
-# CONFIG_RTC_CLK_SRC_EXT_OSC is not set
-# CONFIG_RTC_CLK_SRC_INT_RC32K is not set
-CONFIG_RTC_CLK_CAL_CYCLES=1024
-# end of RTC Clock Config
-
-#
-# Peripheral Control
-#
-CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
-# end of Peripheral Control
-
-#
-# ETM Configuration
-#
-# CONFIG_ETM_ENABLE_DEBUG_LOG is not set
-# end of ETM Configuration
-
-#
-# GDMA Configuration
-#
-# CONFIG_GDMA_CTRL_FUNC_IN_IRAM is not set
-# CONFIG_GDMA_ISR_IRAM_SAFE is not set
-# end of GDMA Configuration
-
-#
-# Main XTAL Config
-#
-CONFIG_XTAL_FREQ_32=y
-CONFIG_XTAL_FREQ=32
-# end of Main XTAL Config
-
-#
-# Crypto DPA Protection
-#
-CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y
-CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y
-# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set
-# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set
-CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1
-# end of Crypto DPA Protection
-# end of Hardware Settings
-
-#
-# LCD and Touch Panel
-#
-
-#
-# LCD Touch Drivers are maintained in the IDF Component Registry
-#
-
-#
-# LCD Peripheral Configuration
-#
-CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
-# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
-# end of LCD Peripheral Configuration
-# end of LCD and Touch Panel
-
-#
-# ESP NETIF Adapter
-#
-CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
-CONFIG_ESP_NETIF_TCPIP_LWIP=y
-# CONFIG_ESP_NETIF_LOOPBACK is not set
-CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
-# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
-# CONFIG_ESP_NETIF_L2_TAP is not set
-# CONFIG_ESP_NETIF_BRIDGE_EN is not set
-# end of ESP NETIF Adapter
-
-#
-# Partition API Configuration
-#
-# end of Partition API Configuration
-
-#
-# PHY
-#
-CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
-CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
-CONFIG_ESP_PHY_MAX_TX_POWER=20
-# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set
-# CONFIG_ESP_PHY_ENABLE_USB is not set
-CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
-# CONFIG_ESP_PHY_RF_CAL_NONE is not set
-# CONFIG_ESP_PHY_RF_CAL_FULL is not set
-CONFIG_ESP_PHY_CALIBRATION_MODE=0
-# end of PHY
-
-#
-# Power Management
-#
-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=y
-# end of Power Management
-
-#
-# ESP PSRAM
-#
-
-#
-# ESP Ringbuf
-#
-# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
-# end of ESP Ringbuf
-
-#
-# 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_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_PANIC_GDBSTUB 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_USE_EH_FRAME is not set
-
-#
-# Memory protection
-#
-CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y
-# end of Memory protection
-
-CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584
-CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
-# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
-CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
-CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
-CONFIG_ESP_CONSOLE_UART_DEFAULT=y
-# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set
-# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
-# CONFIG_ESP_CONSOLE_NONE is not set
-# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set
-CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y
-CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y
-CONFIG_ESP_CONSOLE_UART=y
-CONFIG_ESP_CONSOLE_UART_NUM=0
-CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
-CONFIG_ESP_INT_WDT=y
-CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
-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=y
-# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
-# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
-CONFIG_ESP_DEBUG_OCDAWARE=y
-CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
-
-#
-# Brownout Detector
-#
-CONFIG_ESP_BROWNOUT_DET=y
-CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y
-# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set
-# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
-# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
-CONFIG_ESP_BROWNOUT_DET_LVL=7
-# end of Brownout Detector
-
-CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
-# end of ESP System Settings
-
-#
-# IPC (Inter-Processor Call)
-#
-CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
-# end of IPC (Inter-Processor Call)
-
-#
-# High resolution timer (esp_timer)
-#
-# CONFIG_ESP_TIMER_PROFILING is not set
-CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
-CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
-CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584
-CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
-# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
-CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
-CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
-CONFIG_ESP_TIMER_ISR_AFFINITY=0x1
-CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
-# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
-CONFIG_ESP_TIMER_IMPL_SYSTIMER=y
-# end of High resolution timer (esp_timer)
-
-#
-# Wi-Fi
-#
-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_AMPDU_TX_ENABLED=y
-CONFIG_ESP_WIFI_TX_BA_WIN=6
-CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
-CONFIG_ESP_WIFI_RX_BA_WIN=6
-CONFIG_ESP_WIFI_NVS_ENABLED=y
-CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
-CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
-CONFIG_ESP_WIFI_IRAM_OPT=y
-CONFIG_ESP_WIFI_RX_IRAM_OPT=y
-CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
-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_STA_DISCONNECTED_PM_ENABLE=y
-# 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_MBEDTLS_CRYPTO=y
-CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
-# 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
-
-#
-# WPS Configuration Options
-#
-# CONFIG_ESP_WIFI_WPS_STRICT is not set
-# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
-# end of WPS Configuration Options
-
-# CONFIG_ESP_WIFI_DEBUG_PRINT is not set
-# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
-# end of Wi-Fi
-
-#
-# Core dump
-#
-# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
-# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
-CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
-# end of Core dump
-
-#
-# FAT Filesystem support
-#
-CONFIG_FATFS_VOLUME_COUNT=2
-CONFIG_FATFS_LFN_NONE=y
-# CONFIG_FATFS_LFN_HEAP is not set
-# CONFIG_FATFS_LFN_STACK is not set
-# CONFIG_FATFS_SECTOR_512 is not set
-CONFIG_FATFS_SECTOR_4096=y
-# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
-CONFIG_FATFS_CODEPAGE_437=y
-# CONFIG_FATFS_CODEPAGE_720 is not set
-# CONFIG_FATFS_CODEPAGE_737 is not set
-# CONFIG_FATFS_CODEPAGE_771 is not set
-# CONFIG_FATFS_CODEPAGE_775 is not set
-# CONFIG_FATFS_CODEPAGE_850 is not set
-# CONFIG_FATFS_CODEPAGE_852 is not set
-# CONFIG_FATFS_CODEPAGE_855 is not set
-# CONFIG_FATFS_CODEPAGE_857 is not set
-# CONFIG_FATFS_CODEPAGE_860 is not set
-# CONFIG_FATFS_CODEPAGE_861 is not set
-# CONFIG_FATFS_CODEPAGE_862 is not set
-# CONFIG_FATFS_CODEPAGE_863 is not set
-# CONFIG_FATFS_CODEPAGE_864 is not set
-# CONFIG_FATFS_CODEPAGE_865 is not set
-# CONFIG_FATFS_CODEPAGE_866 is not set
-# CONFIG_FATFS_CODEPAGE_869 is not set
-# CONFIG_FATFS_CODEPAGE_932 is not set
-# CONFIG_FATFS_CODEPAGE_936 is not set
-# CONFIG_FATFS_CODEPAGE_949 is not set
-# CONFIG_FATFS_CODEPAGE_950 is not set
-CONFIG_FATFS_CODEPAGE=437
-CONFIG_FATFS_FS_LOCK=0
-CONFIG_FATFS_TIMEOUT_MS=10000
-CONFIG_FATFS_PER_FILE_CACHE=y
-# CONFIG_FATFS_USE_FASTSEEK is not set
-CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
-# end of FAT Filesystem support
-
-#
-# FreeRTOS
-#
-
-#
-# Kernel
-#
-# CONFIG_FREERTOS_SMP is not set
-CONFIG_FREERTOS_UNICORE=y
-CONFIG_FREERTOS_HZ=100
-CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y
-# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
-# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
-CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
-CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
-CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536
-# CONFIG_FREERTOS_USE_IDLE_HOOK is not set
-# CONFIG_FREERTOS_USE_TICK_HOOK is not set
-CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16
-# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set
-CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
-CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048
-CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
-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
-
-#
-# Port
-#
-CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
-# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
-CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
-# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
-CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
-CONFIG_FREERTOS_ISR_STACKSIZE=1536
-CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
-CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y
-CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y
-# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set
-CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y
-# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
-# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
-# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
-# end of Port
-
-CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
-CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
-CONFIG_FREERTOS_DEBUG_OCDAWARE=y
-# end of FreeRTOS
-
-#
-# Hardware Abstraction Layer (HAL) and Low Level (LL)
-#
-CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
-# CONFIG_HAL_ASSERTION_DISABLE is not set
-# CONFIG_HAL_ASSERTION_SILENT is not set
-# CONFIG_HAL_ASSERTION_ENABLE is not set
-CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
-CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y
-CONFIG_HAL_WDT_USE_ROM_IMPL=y
-CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
-CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y
-# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
-
-#
-# Heap memory debugging
-#
-CONFIG_HEAP_POISONING_DISABLED=y
-# CONFIG_HEAP_POISONING_LIGHT is not set
-# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
-CONFIG_HEAP_TRACING_OFF=y
-# CONFIG_HEAP_TRACING_STANDALONE is not set
-# CONFIG_HEAP_TRACING_TOHOST is not set
-# CONFIG_HEAP_USE_HOOKS is not set
-# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
-CONFIG_HEAP_TLSF_USE_ROM_IMPL=y
-# end of Heap memory debugging
-
-#
-# IEEE 802.15.4
-#
-CONFIG_IEEE802154_ENABLED=y
-CONFIG_IEEE802154_RX_BUFFER_SIZE=20
-# CONFIG_IEEE802154_CCA_CARRIER is not set
-CONFIG_IEEE802154_CCA_ED=y
-# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set
-# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set
-CONFIG_IEEE802154_CCA_MODE=1
-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
-
-#
-# Log output
-#
-# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
-# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
-# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
-CONFIG_LOG_DEFAULT_LEVEL_INFO=y
-# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
-# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
-CONFIG_LOG_DEFAULT_LEVEL=3
-CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
-# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
-# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
-CONFIG_LOG_MAXIMUM_LEVEL=3
-CONFIG_LOG_COLORS=y
-CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
-# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
-# end of Log output
-
-#
-# LWIP
-#
-CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
-# CONFIG_LWIP_NETIF_API is not set
-# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
-# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
-CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
-# CONFIG_LWIP_L2_TO_L3_COPY is not set
-# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
-CONFIG_LWIP_TIMERS_ONDEMAND=y
-CONFIG_LWIP_MAX_SOCKETS=10
-# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
-# CONFIG_LWIP_SO_LINGER is not set
-CONFIG_LWIP_SO_REUSE=y
-CONFIG_LWIP_SO_REUSE_RXTOALL=y
-# CONFIG_LWIP_SO_RCVBUF is not set
-# CONFIG_LWIP_NETBUF_RECVINFO is not set
-CONFIG_LWIP_IP4_FRAG=y
-CONFIG_LWIP_IP6_FRAG=y
-# CONFIG_LWIP_IP4_REASSEMBLY is not set
-# CONFIG_LWIP_IP6_REASSEMBLY is not set
-CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
-# CONFIG_LWIP_IP_FORWARD is not set
-# CONFIG_LWIP_STATS is not set
-CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
-CONFIG_LWIP_GARP_TMR_INTERVAL=60
-CONFIG_LWIP_ESP_MLDV6_REPORT=y
-CONFIG_LWIP_MLDV6_TMR_INTERVAL=40
-CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
-CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
-# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
-CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
-# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
-CONFIG_LWIP_DHCP_OPTIONS_LEN=68
-CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
-CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
-
-#
-# DHCP server
-#
-CONFIG_LWIP_DHCPS=y
-CONFIG_LWIP_DHCPS_LEASE_UNIT=60
-CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
-# end of DHCP server
-
-# CONFIG_LWIP_AUTOIP is not set
-CONFIG_LWIP_IPV4=y
-CONFIG_LWIP_IPV6=y
-# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
-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_LOOPBACK_MAX_PBUFS=8
-
-#
-# TCP
-#
-CONFIG_LWIP_MAX_ACTIVE_TCP=16
-CONFIG_LWIP_MAX_LISTENING_TCP=16
-CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y
-CONFIG_LWIP_TCP_MAXRTX=12
-CONFIG_LWIP_TCP_SYNMAXRTX=12
-CONFIG_LWIP_TCP_MSS=1440
-CONFIG_LWIP_TCP_TMR_INTERVAL=250
-CONFIG_LWIP_TCP_MSL=60000
-CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000
-CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
-CONFIG_LWIP_TCP_WND_DEFAULT=5744
-CONFIG_LWIP_TCP_RECVMBOX_SIZE=6
-CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
-# CONFIG_LWIP_TCP_SACK_OUT is not set
-CONFIG_LWIP_TCP_OVERSIZE_MSS=y
-# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
-# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
-CONFIG_LWIP_TCP_RTO_TIME=1500
-# end of TCP
-
-#
-# UDP
-#
-CONFIG_LWIP_MAX_UDP_PCBS=16
-CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
-# end of UDP
-
-#
-# Checksums
-#
-# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set
-# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set
-CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
-# end of Checksums
-
-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
-# CONFIG_LWIP_PPP_SUPPORT is not set
-CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
-CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
-# CONFIG_LWIP_SLIP_SUPPORT is not set
-
-#
-# ICMP
-#
-CONFIG_LWIP_ICMP=y
-CONFIG_LWIP_MULTICAST_PING=y
-# CONFIG_LWIP_BROADCAST_PING is not set
-# end of ICMP
-
-#
-# LWIP RAW API
-#
-CONFIG_LWIP_MAX_RAW_PCBS=16
-# end of LWIP RAW API
-
-#
-# SNTP
-#
-CONFIG_LWIP_SNTP_MAX_SERVERS=1
-# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
-CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
-# end of SNTP
-
-CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
-CONFIG_LWIP_ESP_LWIP_ASSERT=y
-
-#
-# Hooks
-#
-# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set
-CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
-# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set
-CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
-# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
-# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
-CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
-# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
-# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
-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 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_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
-# end of Hooks
-
-# CONFIG_LWIP_DEBUG is not set
-# end of LWIP
-
-#
-# mbedTLS
-#
-CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
-# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
-# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
-CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
-CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
-CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
-# CONFIG_MBEDTLS_DEBUG is not set
-
-#
-# mbedTLS v3.x related
-#
-# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
-# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
-# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
-# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
-CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
-CONFIG_MBEDTLS_PKCS7_C=y
-
-#
-# DTLS-based configurations
-#
-# CONFIG_MBEDTLS_SSL_DTLS_CONNECTION_ID is not set
-# CONFIG_MBEDTLS_SSL_DTLS_SRTP is not set
-# end of DTLS-based configurations
-# end of mbedTLS v3.x related
-
-#
-# Certificate Bundle
-#
-CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
-CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
-# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set
-# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set
-# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set
-CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200
-# end of Certificate Bundle
-
-# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
-CONFIG_MBEDTLS_CMAC_C=y
-# CONFIG_MBEDTLS_HARDWARE_AES is not set
-# CONFIG_MBEDTLS_HARDWARE_MPI is not set
-# CONFIG_MBEDTLS_HARDWARE_SHA 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
-# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
-# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
-CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
-CONFIG_MBEDTLS_SHA512_C=y
-CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
-# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
-# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
-# CONFIG_MBEDTLS_TLS_DISABLED is not set
-CONFIG_MBEDTLS_TLS_SERVER=y
-CONFIG_MBEDTLS_TLS_CLIENT=y
-CONFIG_MBEDTLS_TLS_ENABLED=y
-
-#
-# TLS Key Exchange Methods
-#
-# CONFIG_MBEDTLS_PSK_MODES is not set
-CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y
-# end of TLS Key Exchange Methods
-
-CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
-# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
-CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
-CONFIG_MBEDTLS_SSL_ALPN=y
-CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
-CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
-
-#
-# Symmetric Ciphers
-#
-CONFIG_MBEDTLS_AES_C=y
-# CONFIG_MBEDTLS_CAMELLIA_C is not set
-# CONFIG_MBEDTLS_DES_C is not set
-# CONFIG_MBEDTLS_BLOWFISH_C is not set
-# CONFIG_MBEDTLS_XTEA_C is not set
-CONFIG_MBEDTLS_CCM_C=y
-CONFIG_MBEDTLS_GCM_C=y
-# CONFIG_MBEDTLS_NIST_KW_C is not set
-# end of Symmetric Ciphers
-
-# CONFIG_MBEDTLS_RIPEMD160_C is not set
-
-#
-# Certificates
-#
-CONFIG_MBEDTLS_PEM_PARSE_C=y
-CONFIG_MBEDTLS_PEM_WRITE_C=y
-CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
-CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
-# end of Certificates
-
-CONFIG_MBEDTLS_ECP_C=y
-# CONFIG_MBEDTLS_DHM_C is not set
-CONFIG_MBEDTLS_ECDH_C=y
-CONFIG_MBEDTLS_ECDSA_C=y
-CONFIG_MBEDTLS_ECJPAKE_C=y
-CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
-CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
-CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
-# CONFIG_MBEDTLS_POLY1305_C is not set
-# CONFIG_MBEDTLS_CHACHA20_C is not set
-# CONFIG_MBEDTLS_HKDF_C is not set
-# CONFIG_MBEDTLS_THREADING_C is not set
-# CONFIG_MBEDTLS_SECURITY_RISKS is not set
-# end of mbedTLS
-
-#
-# ESP-MQTT Configurations
-#
-CONFIG_MQTT_PROTOCOL_311=y
-# CONFIG_MQTT_PROTOCOL_5 is not set
-CONFIG_MQTT_TRANSPORT_SSL=y
-CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
-CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
-# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set
-# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set
-# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set
-# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
-# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
-# CONFIG_MQTT_CUSTOM_OUTBOX is not set
-# end of ESP-MQTT Configurations
-
-#
-# Newlib
-#
-CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
-# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set
-# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set
-# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set
-# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
-CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
-# CONFIG_NEWLIB_NANO_FORMAT is not set
-CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y
-# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set
-# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set
-# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set
-# end of Newlib
-
-#
-# NVS
-#
-# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
-# end of NVS
-
-#
-# OpenThread
-#
-CONFIG_OPENTHREAD_ENABLED=y
-CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=y
-
-#
-# Thread Operational Dataset
-#
-CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
-CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
-CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
-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="8.8.8.8"
-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
-
-#
-# Protocomm
-#
-CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
-CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
-CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
-# end of Protocomm
-
-#
-# PThreads
-#
-CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5
-CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
-CONFIG_PTHREAD_STACK_MIN=768
-CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
-CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
-# end of PThreads
-
-#
-# MMU Config
-#
-CONFIG_MMU_PAGE_SIZE_32KB=y
-CONFIG_MMU_PAGE_MODE="32KB"
-CONFIG_MMU_PAGE_SIZE=0x8000
-# end of MMU Config
-
-#
-# SPI Flash driver
-#
-# CONFIG_SPI_FLASH_VERIFY_WRITE is not set
-# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
-CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
-# CONFIG_SPI_FLASH_ROM_IMPL is not set
-CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
-# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
-# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
-# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
-CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
-CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
-CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
-CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
-# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
-# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
-# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
-
-#
-# SPI Flash behavior when brownout
-#
-CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
-CONFIG_SPI_FLASH_BROWNOUT_RESET=y
-# end of SPI Flash behavior when brownout
-
-#
-# Auto-detect flash chips
-#
-CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
-# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set
-# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set
-# CONFIG_SPI_FLASH_SUPPORT_GD_CHIP is not set
-# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set
-# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set
-# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set
-# end of Auto-detect flash chips
-
-CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
-# end of SPI Flash driver
-
-#
-# SPIFFS Configuration
-#
-CONFIG_SPIFFS_MAX_PARTITIONS=3
-
-#
-# SPIFFS Cache Configuration
-#
-CONFIG_SPIFFS_CACHE=y
-CONFIG_SPIFFS_CACHE_WR=y
-# CONFIG_SPIFFS_CACHE_STATS is not set
-# end of SPIFFS Cache Configuration
-
-CONFIG_SPIFFS_PAGE_CHECK=y
-CONFIG_SPIFFS_GC_MAX_RUNS=10
-# CONFIG_SPIFFS_GC_STATS is not set
-CONFIG_SPIFFS_PAGE_SIZE=256
-CONFIG_SPIFFS_OBJ_NAME_LEN=32
-# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set
-CONFIG_SPIFFS_USE_MAGIC=y
-CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
-CONFIG_SPIFFS_META_LENGTH=4
-CONFIG_SPIFFS_USE_MTIME=y
-
-#
-# Debug Configuration
-#
-# CONFIG_SPIFFS_DBG is not set
-# CONFIG_SPIFFS_API_DBG is not set
-# CONFIG_SPIFFS_GC_DBG is not set
-# CONFIG_SPIFFS_CACHE_DBG is not set
-# CONFIG_SPIFFS_CHECK_DBG is not set
-# CONFIG_SPIFFS_TEST_VISUALISATION is not set
-# end of Debug Configuration
-# end of SPIFFS Configuration
-
-#
-# TCP Transport
-#
-
-#
-# Websocket
-#
-CONFIG_WS_TRANSPORT=y
-CONFIG_WS_BUFFER_SIZE=1024
-# CONFIG_WS_DYNAMIC_BUFFER is not set
-# end of Websocket
-# end of TCP Transport
-
-#
-# Unity unit testing library
-#
-CONFIG_UNITY_ENABLE_FLOAT=y
-CONFIG_UNITY_ENABLE_DOUBLE=y
-# CONFIG_UNITY_ENABLE_64BIT is not set
-# CONFIG_UNITY_ENABLE_COLOR is not set
-CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
-# CONFIG_UNITY_ENABLE_FIXTURE is not set
-# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
-# end of Unity unit testing library
-
-#
-# Root Hub configuration
-#
-# end of Root Hub configuration
-
-#
-# Virtual file system
-#
-CONFIG_VFS_SUPPORT_IO=y
-CONFIG_VFS_SUPPORT_DIR=y
-CONFIG_VFS_SUPPORT_SELECT=y
-CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
-CONFIG_VFS_SUPPORT_TERMIOS=y
-CONFIG_VFS_MAX_COUNT=8
-
-#
-# Host File System I/O (Semihosting)
-#
-CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-# end of Host File System I/O (Semihosting)
-# end of Virtual file system
-
-#
-# Wear Levelling
-#
-# CONFIG_WL_SECTOR_SIZE_512 is not set
-CONFIG_WL_SECTOR_SIZE_4096=y
-CONFIG_WL_SECTOR_SIZE=4096
-# end of Wear Levelling
-
-#
-# Wi-Fi Provisioning Manager
-#
-CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
-CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
-# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
-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_BROKER_URL="mqtts://esp32:sensorauth@10.246.1.110"
-CONFIG_LOCATION="OT Test"
-# end of AQI Program Configuration
-# 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_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_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=y
-# 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_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_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_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=4096
-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
+++ /dev/null
-#
-# Partition Table
-#
-CONFIG_PARTITION_TABLE_CUSTOM=y
-CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
-CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
-# end of Partition Table
-
-#
-# mbedTLS
-#
-# TODO: Re-enable HW acceleration when HW AES support pm_lock (IDF-7704)
-CONFIG_MBEDTLS_HARDWARE_AES=n
-CONFIG_MBEDTLS_HARDWARE_MPI=n
-CONFIG_MBEDTLS_HARDWARE_SHA=n
-CONFIG_MBEDTLS_CMAC_C=y
-CONFIG_MBEDTLS_SSL_PROTO_DTLS=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_ECJPAKE=y
-CONFIG_MBEDTLS_ECJPAKE_C=y
-# end of mbedTLS
-
-#
-# OpenThread
-#
-CONFIG_OPENTHREAD_ENABLED=y
-CONFIG_OPENTHREAD_BORDER_ROUTER=n
-CONFIG_OPENTHREAD_DNS64_CLIENT=y
-# end of OpenThread
-
-#
-# lwIP
-#
-CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096
-CONFIG_LWIP_IPV6_NUM_ADDRESSES=8
-CONFIG_LWIP_MULTICAST_PING=y
-# end of lwIP
-
-#
-# IEEE 802.15.4
-#
-CONFIG_IEEE802154_ENABLED=y
-# end of IEEE 802.15.4
-
-#
-# light sleep
-#
-CONFIG_PM_ENABLE=y
-CONFIG_FREERTOS_USE_TICKLESS_IDLE=y
-CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
-CONFIG_IEEE802154_SLEEP_ENABLE=y
-# end of light sleep