step 3 polishing
This commit is contained in:
parent
9a48eb63e1
commit
0e7065f551
@ -56,8 +56,8 @@ void step3(void) {
|
|||||||
while (solved_puzzles < 3) {
|
while (solved_puzzles < 3) {
|
||||||
lcd_set_cursor(&lcd, 1, 1);
|
lcd_set_cursor(&lcd, 1, 1);
|
||||||
|
|
||||||
int puzzle = puzzle_dist(gen);
|
// int puzzle = puzzle_dist(gen);
|
||||||
// int puzzle = 8;
|
int puzzle = 6;
|
||||||
|
|
||||||
bool solved_correctly = false;
|
bool solved_correctly = false;
|
||||||
switch (puzzle) {
|
switch (puzzle) {
|
||||||
@ -564,7 +564,7 @@ void step3(void) {
|
|||||||
int led_off = led_off_dist(gen);
|
int led_off = led_off_dist(gen);
|
||||||
|
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
if (led_off != 0) {
|
if (led_off != i) {
|
||||||
button_colors[i] = led_color_dist(gen);
|
button_colors[i] = led_color_dist(gen);
|
||||||
ESP_ERROR_CHECK(led_strip_set_pixel(leds, (20 - i), COLORS_RED[button_colors[i]], COLORS_GREEN[button_colors[i]], COLORS_BLUE[button_colors[i]]));
|
ESP_ERROR_CHECK(led_strip_set_pixel(leds, (20 - i), COLORS_RED[button_colors[i]], COLORS_GREEN[button_colors[i]], COLORS_BLUE[button_colors[i]]));
|
||||||
buttons_cycling[i] = true;
|
buttons_cycling[i] = true;
|
||||||
@ -577,21 +577,32 @@ void step3(void) {
|
|||||||
|
|
||||||
const uint8_t CORRECT_COLORS[4] = {4, 0, 5, 2};
|
const uint8_t CORRECT_COLORS[4] = {4, 0, 5, 2};
|
||||||
TickType_t lastCycleTime = xTaskGetTickCount();
|
TickType_t lastCycleTime = xTaskGetTickCount();
|
||||||
|
bool button_turned_on = false;
|
||||||
|
|
||||||
ButtonKey button;
|
ButtonKey button;
|
||||||
|
|
||||||
|
std::uniform_int_distribution<> led_turn_on_dist(0, 3);
|
||||||
while (1) {
|
while (1) {
|
||||||
if (get_pressed_button(&button)) {
|
if (get_pressed_button(&button)) {
|
||||||
uint8_t button_state = get_button_state();
|
uint8_t button_state = get_button_state();
|
||||||
|
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
if (button_colors[i] != CORRECT_COLORS[i]) {
|
if (((button_state >> i) & 0b1) == 0b1) {
|
||||||
strike("Paused the button at the wrong time! (step 3, puzzle 6)");
|
if (button_colors[i] == -1) {
|
||||||
|
if (led_turn_on_dist(gen) == 0) {
|
||||||
|
button_turned_on = true;
|
||||||
|
led_strip_set_pixel(leds, (20 - i), COLORS_RED[CORRECT_COLORS[i]], COLORS_GREEN[CORRECT_COLORS[i]], COLORS_BLUE[CORRECT_COLORS[i]]);
|
||||||
|
led_strip_refresh(leds);
|
||||||
|
}
|
||||||
|
} else if (button_colors[i] != CORRECT_COLORS[i]) {
|
||||||
|
strike("Paused the button at the wrong time!");
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
buttons_cycling[i] = false;
|
buttons_cycling[i] = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if ((xTaskGetTickCount() - lastCycleTime) >= pdMS_TO_TICKS(500)) {
|
if ((xTaskGetTickCount() - lastCycleTime) >= pdMS_TO_TICKS(500)) {
|
||||||
ESP_LOGI(TAG, "Cycling LEDs");
|
ESP_LOGI(TAG, "Cycling LEDs");
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
@ -608,14 +619,18 @@ void step3(void) {
|
|||||||
lastCycleTime = xTaskGetTickCount();
|
lastCycleTime = xTaskGetTickCount();
|
||||||
}
|
}
|
||||||
if (get_module_time() <= 0) {
|
if (get_module_time() <= 0) {
|
||||||
|
bool success = true;
|
||||||
for (int i = 0; i < sizeof(buttons_cycling); i++) {
|
for (int i = 0; i < sizeof(buttons_cycling); i++) {
|
||||||
if (buttons_cycling[i] == true) {
|
if ((buttons_cycling[i] == true) || (button_turned_on == false && led_off != -1)) {
|
||||||
strike("Ran out of time! (step 3, puzzle 6)");
|
strike("Ran out of time!");
|
||||||
|
success = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (success) {
|
||||||
solved_puzzles++;
|
solved_puzzles++;
|
||||||
solved_correctly = true;
|
solved_correctly = true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
vTaskDelay(pdMS_TO_TICKS(10));
|
vTaskDelay(pdMS_TO_TICKS(10));
|
||||||
@ -874,7 +889,7 @@ void step3(void) {
|
|||||||
}
|
}
|
||||||
if (solved_correctly) {
|
if (solved_correctly) {
|
||||||
play_raw(MOUNT_POINT "/correct.pcm");
|
play_raw(MOUNT_POINT "/correct.pcm");
|
||||||
vTaskDelay(pdMS_TO_TICKS(1000));
|
vTaskDelay(pdMS_TO_TICKS(500));
|
||||||
solved_correctly = false;
|
solved_correctly = false;
|
||||||
} else {
|
} else {
|
||||||
vTaskDelay(pdMS_TO_TICKS(3000));
|
vTaskDelay(pdMS_TO_TICKS(3000));
|
||||||
|
|||||||
16
sdkconfig
16
sdkconfig
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file. DO NOT EDIT.
|
# 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_MIN_REGION_SIZE=0x20000000
|
||||||
CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
|
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_CSI_SUPPORT=y
|
||||||
CONFIG_SOC_WIFI_MESH_SUPPORT=y
|
CONFIG_SOC_WIFI_MESH_SUPPORT=y
|
||||||
CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=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_SUPPORTED=y
|
||||||
CONFIG_SOC_BLE_MESH_SUPPORTED=y
|
CONFIG_SOC_BLE_MESH_SUPPORTED=y
|
||||||
CONFIG_SOC_BLE_50_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_OTG_NUM=3
|
||||||
CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4
|
CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4
|
||||||
CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y
|
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_GET_CLK_FREQ=y
|
||||||
CONFIG_ESP_ROM_HAS_HAL_WDT=y
|
CONFIG_ESP_ROM_HAS_HAL_WDT=y
|
||||||
CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
|
CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
|
||||||
@ -557,6 +559,7 @@ CONFIG_APPTRACE_LOCK_ENABLE=y
|
|||||||
# Bluetooth
|
# Bluetooth
|
||||||
#
|
#
|
||||||
# CONFIG_BT_ENABLED is not set
|
# CONFIG_BT_ENABLED is not set
|
||||||
|
CONFIG_BT_ALARM_MAX_NUM=50
|
||||||
# end of Bluetooth
|
# end of Bluetooth
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -744,7 +747,10 @@ CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y
|
|||||||
#
|
#
|
||||||
# GDB Stub
|
# GDB Stub
|
||||||
#
|
#
|
||||||
|
CONFIG_ESP_GDBSTUB_ENABLED=y
|
||||||
# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
|
# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
|
||||||
|
CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y
|
||||||
|
CONFIG_ESP_GDBSTUB_MAX_TASKS=32
|
||||||
# end of GDB Stub
|
# 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_NONE is not set
|
||||||
# CONFIG_ESP_PHY_RF_CAL_FULL is not set
|
# CONFIG_ESP_PHY_RF_CAL_FULL is not set
|
||||||
CONFIG_ESP_PHY_CALIBRATION_MODE=0
|
CONFIG_ESP_PHY_CALIBRATION_MODE=0
|
||||||
|
# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set
|
||||||
# end of PHY
|
# end of PHY
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1206,6 +1213,7 @@ CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
|
|||||||
CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
|
CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
|
||||||
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
|
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
|
||||||
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
|
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
|
||||||
|
# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set
|
||||||
# end of Kernel
|
# end of Kernel
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1493,7 +1501,9 @@ CONFIG_MBEDTLS_CMAC_C=y
|
|||||||
CONFIG_MBEDTLS_HARDWARE_AES=y
|
CONFIG_MBEDTLS_HARDWARE_AES=y
|
||||||
CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
|
CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
|
||||||
CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0
|
CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0
|
||||||
|
# CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER is not set
|
||||||
CONFIG_MBEDTLS_HARDWARE_MPI=y
|
CONFIG_MBEDTLS_HARDWARE_MPI=y
|
||||||
|
# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
|
||||||
CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y
|
CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y
|
||||||
CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0
|
CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0
|
||||||
CONFIG_MBEDTLS_HARDWARE_SHA=y
|
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_CHACHA20_C is not set
|
||||||
# CONFIG_MBEDTLS_HKDF_C is not set
|
# CONFIG_MBEDTLS_HKDF_C is not set
|
||||||
# CONFIG_MBEDTLS_THREADING_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
|
# end of mbedTLS
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2225,6 +2235,8 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
|
|||||||
# CONFIG_EVENT_LOOP_PROFILING is not set
|
# CONFIG_EVENT_LOOP_PROFILING is not set
|
||||||
CONFIG_POST_EVENTS_FROM_ISR=y
|
CONFIG_POST_EVENTS_FROM_ISR=y
|
||||||
CONFIG_POST_EVENTS_FROM_IRAM_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_OTA_ALLOW_HTTP is not set
|
||||||
# CONFIG_ESP_SYSTEM_PD_FLASH is not set
|
# CONFIG_ESP_SYSTEM_PD_FLASH is not set
|
||||||
CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000
|
CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user