diff --git a/main/main.cpp b/main/main.cpp index 4444b3d..74eb490 100755 --- a/main/main.cpp +++ b/main/main.cpp @@ -43,7 +43,7 @@ extern "C" void app_main(void) { // create_demo_ui(); clean_bomb(); step0(); - set_game_time(30000); + set_game_time(1200000); start_game_timer(); clean_bomb(); step1(); diff --git a/main/steps/step1.cpp b/main/steps/step1.cpp index 40d9cb1..831d705 100644 --- a/main/steps/step1.cpp +++ b/main/steps/step1.cpp @@ -118,9 +118,12 @@ static int generate_part_a(void) { char* text_string = COLOR_NAMES[text_idx]; - lv_label_set_text(text, text_string); - lv_obj_center(text); - lv_obj_add_style(text, color_styles[text_color], LV_STATE_DEFAULT); + if (xSemaphoreTake(xGuiSemaphore, portMAX_DELAY) == pdTRUE) { + lv_label_set_text(text, text_string); + lv_obj_center(text); + lv_obj_add_style(text, color_styles[text_color], LV_STATE_DEFAULT); + xSemaphoreGive(xGuiSemaphore); + } generate_switch_leds(); @@ -139,9 +142,12 @@ static int generate_part_b(void) { char* text_string = NUM_NAMES[text_number]; - lv_label_set_text(text, text_string); - lv_obj_center(text); - lv_obj_add_style(text, color_styles[text_color], LV_STATE_DEFAULT); + if (xSemaphoreTake(xGuiSemaphore, portMAX_DELAY) == pdTRUE) { + lv_label_set_text(text, text_string); + lv_obj_center(text); + lv_obj_add_style(text, color_styles[text_color], LV_STATE_DEFAULT); + xSemaphoreGive(xGuiSemaphore); + } generate_switch_leds(); @@ -158,10 +164,12 @@ static int generate_part_c(void) { int text_color = zero_to_three(my_gen); char* text_string = "switch"; - lv_label_set_text(text, text_string); - lv_obj_center(text); - lv_obj_add_style(text, color_styles[text_color], LV_STATE_DEFAULT); - + if (xSemaphoreTake(xGuiSemaphore, portMAX_DELAY) == pdTRUE) { + lv_label_set_text(text, text_string); + lv_obj_center(text); + lv_obj_add_style(text, color_styles[text_color], LV_STATE_DEFAULT); + xSemaphoreGive(xGuiSemaphore); + } generate_switch_leds(); // the correct answer is the switch @@ -202,7 +210,11 @@ static void part_a(void) { vTaskDelay(pdMS_TO_TICKS(10)); } - lv_label_set_text(text, ""); + + if (xSemaphoreTake(xGuiSemaphore, portMAX_DELAY) == pdTRUE) { + lv_label_set_text(text, ""); + xSemaphoreGive(xGuiSemaphore); + } vTaskDelay(pdMS_TO_TICKS(80)); play_raw(MOUNT_POINT "/correct.pcm"); } @@ -241,7 +253,10 @@ static void part_b(void) { vTaskDelay(pdMS_TO_TICKS(10)); } - lv_label_set_text(text, ""); + if (xSemaphoreTake(xGuiSemaphore, portMAX_DELAY) == pdTRUE) { + lv_label_set_text(text, ""); + xSemaphoreGive(xGuiSemaphore); + } vTaskDelay(pdMS_TO_TICKS(80)); play_raw(MOUNT_POINT "/correct.pcm"); } @@ -287,7 +302,10 @@ static void part_c(void) { vTaskDelay(pdMS_TO_TICKS(10)); } - lv_label_set_text(text, ""); + if (xSemaphoreTake(xGuiSemaphore, portMAX_DELAY) == pdTRUE) { + lv_label_set_text(text, ""); + xSemaphoreGive(xGuiSemaphore); + } vTaskDelay(pdMS_TO_TICKS(80)); play_raw(MOUNT_POINT "/correct.pcm"); } diff --git a/sdkconfig b/sdkconfig index 0017745..bd1c0f0 100644 --- a/sdkconfig +++ b/sdkconfig @@ -1,6 +1,6 @@ # # Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.2.1 Project Configuration +# Espressif IoT Development Framework (ESP-IDF) 5.2.2 Project Configuration # CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 @@ -331,6 +331,7 @@ CONFIG_SOC_WIFI_WAPI_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y +CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y CONFIG_SOC_BLE_SUPPORTED=y CONFIG_SOC_BLE_MESH_SUPPORTED=y CONFIG_SOC_BLE_50_SUPPORTED=y @@ -435,6 +436,7 @@ CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y CONFIG_ESP_ROM_USB_OTG_NUM=3 CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y CONFIG_ESP_ROM_GET_CLK_FREQ=y CONFIG_ESP_ROM_HAS_HAL_WDT=y CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y @@ -557,6 +559,7 @@ CONFIG_APPTRACE_LOCK_ENABLE=y # Bluetooth # # CONFIG_BT_ENABLED is not set +CONFIG_BT_ALARM_MAX_NUM=50 # end of Bluetooth # @@ -744,7 +747,10 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y # # GDB Stub # +CONFIG_ESP_GDBSTUB_ENABLED=y # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 # end of GDB Stub # @@ -909,6 +915,7 @@ 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 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set # end of PHY # @@ -1206,6 +1213,7 @@ 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_APPLICATION_TASK_TAG is not set # end of Kernel # @@ -1493,7 +1501,9 @@ CONFIG_MBEDTLS_CMAC_C=y CONFIG_MBEDTLS_HARDWARE_AES=y CONFIG_MBEDTLS_AES_USE_INTERRUPT=y CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +# CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER is not set CONFIG_MBEDTLS_HARDWARE_MPI=y +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 CONFIG_MBEDTLS_HARDWARE_SHA=y @@ -1580,7 +1590,7 @@ CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=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 is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y # end of mbedTLS # @@ -2225,6 +2235,8 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y # CONFIG_EVENT_LOOP_PROFILING is not set CONFIG_POST_EVENTS_FROM_ISR=y CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 # CONFIG_OTA_ALLOW_HTTP is not set # CONFIG_ESP_SYSTEM_PD_FLASH is not set CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000