From b2813d62a3efbcbc8b84c55252090e5867acdc7f Mon Sep 17 00:00:00 2001 From: Mitchell M Date: Thu, 9 Apr 2026 13:36:08 -0500 Subject: [PATCH] Namespace the p001 steps --- main/main.cpp | 148 ++++++++++++++++------- main/steps/CMakeLists.txt | 18 ++- main/steps/{step1.cpp => p001_step1.cpp} | 4 +- main/steps/p001_step1.h | 10 ++ main/steps/{step2.cpp => p001_step2.cpp} | 4 +- main/steps/{step2.h => p001_step2.h} | 8 +- main/steps/{step3.cpp => p001_step3.cpp} | 4 +- main/steps/p001_step3.h | 10 ++ main/steps/{step4.cpp => p001_step4.cpp} | 4 +- main/steps/{step4.h => p001_step4.h} | 8 +- main/steps/{step5.cpp => p001_step5.cpp} | 4 +- main/steps/{step5.h => p001_step5.h} | 8 +- main/steps/{step6.cpp => p001_step6.cpp} | 4 +- main/steps/p001_step6.h | 10 ++ main/steps/p002_step1.cpp | 10 ++ main/steps/p002_step1.h | 8 ++ main/steps/p002_step2.cpp | 8 ++ main/steps/p002_step2.h | 8 ++ main/steps/p002_step3.cpp | 8 ++ main/steps/p002_step3.h | 8 ++ main/steps/p002_step4.cpp | 8 ++ main/steps/p002_step4.h | 8 ++ main/steps/p002_step5.cpp | 8 ++ main/steps/p002_step5.h | 8 ++ main/steps/p002_step6.cpp | 8 ++ main/steps/p002_step6.h | 8 ++ main/steps/step0.cpp | 33 +++-- main/steps/step0.h | 12 +- main/steps/step1.h | 10 -- main/steps/step3.h | 10 -- main/steps/step6.h | 10 -- sdkconfig | 105 +++++++++++----- 32 files changed, 369 insertions(+), 153 deletions(-) rename main/steps/{step1.cpp => p001_step1.cpp} (99%) create mode 100644 main/steps/p001_step1.h rename main/steps/{step2.cpp => p001_step2.cpp} (98%) rename main/steps/{step2.h => p001_step2.h} (53%) rename main/steps/{step3.cpp => p001_step3.cpp} (99%) create mode 100644 main/steps/p001_step3.h rename main/steps/{step4.cpp => p001_step4.cpp} (99%) rename main/steps/{step4.h => p001_step4.h} (62%) rename main/steps/{step5.cpp => p001_step5.cpp} (99%) rename main/steps/{step5.h => p001_step5.h} (65%) rename main/steps/{step6.cpp => p001_step6.cpp} (96%) create mode 100644 main/steps/p001_step6.h create mode 100644 main/steps/p002_step1.cpp create mode 100644 main/steps/p002_step1.h create mode 100644 main/steps/p002_step2.cpp create mode 100644 main/steps/p002_step2.h create mode 100644 main/steps/p002_step3.cpp create mode 100644 main/steps/p002_step3.h create mode 100644 main/steps/p002_step4.cpp create mode 100644 main/steps/p002_step4.h create mode 100644 main/steps/p002_step5.cpp create mode 100644 main/steps/p002_step5.h create mode 100644 main/steps/p002_step6.cpp create mode 100644 main/steps/p002_step6.h delete mode 100644 main/steps/step1.h delete mode 100644 main/steps/step3.h delete mode 100644 main/steps/step6.h diff --git a/main/main.cpp b/main/main.cpp index 76b923e..74ea086 100755 --- a/main/main.cpp +++ b/main/main.cpp @@ -13,19 +13,102 @@ #include "helper.h" #include "steps/step0.h" -#include "steps/step1.h" -#include "steps/step2.h" -#include "steps/step3.h" -#include "steps/step4.h" -#include "steps/step5.h" -#include "steps/step6.h" +#include "steps/p001_step1.h" +#include "steps/p001_step2.h" +#include "steps/p001_step3.h" +#include "steps/p001_step4.h" +#include "steps/p001_step5.h" +#include "steps/p001_step6.h" +#include "steps/p002_step1.h" +#include "steps/p002_step2.h" +#include "steps/p002_step3.h" +#include "steps/p002_step4.h" +#include "steps/p002_step5.h" +#include "steps/p002_step6.h" static const char *TAG = "main"; uint32_t initial_game_time = 90*60*1000 + 1000; uint32_t skip_to_step = 0; uint32_t current_step = 0; +uint32_t puzzle = 0; extern uint32_t total_strikes; +static void do_p001() { + set_game_time(initial_game_time); + start_game_timer(); + total_strikes = 0; + clean_bomb(); + current_step = 1; + if (skip_to_step <= 1) p001_step1(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 2; + if (skip_to_step <= 2) p001_step2(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 3; + if (skip_to_step <= 3) p001_step3(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 4; + if (skip_to_step <= 4) p001_step4(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 5; + if (skip_to_step <= 5) p001_step5(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 6; + if (skip_to_step <= 6) p001_step6(); + start_game_timer(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + + stop_game_timer(); + ESP_LOGI(TAG, "Bomb has been diffused. Counter-Terrorists win."); + play_clip_wav(MOUNT_POINT "/diffuse.wav", true, false, 3, 0); + + display_game_results(); +} + +static void do_p002() { + set_game_time(initial_game_time); + start_game_timer(); + total_strikes = 0; + clean_bomb(); + current_step = 1; + if (skip_to_step <= 1) p002_step1(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 2; + if (skip_to_step <= 2) p002_step2(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 3; + if (skip_to_step <= 3) p002_step3(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 4; + if (skip_to_step <= 4) p002_step4(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 5; + if (skip_to_step <= 5) p002_step5(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + current_step = 6; + if (skip_to_step <= 6) p002_step6(); + start_game_timer(); + step_finish_times[current_step-1] = get_game_time(); + clean_bomb(); + + stop_game_timer(); + ESP_LOGI(TAG, "Bomb has been diffused. Counter-Terrorists win."); + play_clip_wav(MOUNT_POINT "/diffuse.wav", true, false, 3, 0); + + display_game_results(); +} + extern "C" void app_main(void) { printf("app_main\n"); @@ -40,49 +123,20 @@ extern "C" void app_main(void) { lcd_do_splash(); step0(); - // set_recording_source(stdout, false); - FILE* record_file = fopen(MOUNT_POINT "/record.txt", "w"); - if (record_file == nullptr) { - ESP_LOGE("main", "failed to open record.txt"); + if (puzzle == 1) { + do_p001(); + } else { + do_p002(); } - set_recording_source(record_file, true); - start_recording(); - set_game_time(initial_game_time); - start_game_timer(); - total_strikes = 0; - clean_bomb(); - current_step = 1; - if (skip_to_step <= 1) step1(); - step_finish_times[current_step-1] = get_game_time(); - clean_bomb(); - current_step = 2; - if (skip_to_step <= 2) step2(); - step_finish_times[current_step-1] = get_game_time(); - clean_bomb(); - current_step = 3; - if (skip_to_step <= 3) step3(); - step_finish_times[current_step-1] = get_game_time(); - clean_bomb(); - current_step = 4; - if (skip_to_step <= 4) step4(); - step_finish_times[current_step-1] = get_game_time(); - clean_bomb(); - current_step = 5; - if (skip_to_step <= 5) step5(); - step_finish_times[current_step-1] = get_game_time(); - clean_bomb(); - current_step = 6; - if (skip_to_step <= 6) step6(); - start_game_timer(); - step_finish_times[current_step-1] = get_game_time(); - clean_bomb(); + // set_recording_source(stdout, false); + // FILE* record_file = fopen(MOUNT_POINT "/record.txt", "w"); + // if (record_file == nullptr) { + // ESP_LOGE("main", "failed to open record.txt"); + // } + // set_recording_source(record_file, true); + // start_recording(); - stop_game_timer(); - ESP_LOGI(TAG, "Bomb has been diffused. Counter-Terrorists win."); - play_clip_wav(MOUNT_POINT "/diffuse.wav", true, false, 3, 0); - - display_game_results(); - stop_recording(); + // stop_recording(); } diff --git a/main/steps/CMakeLists.txt b/main/steps/CMakeLists.txt index 6ee6fba..c1c29ee 100644 --- a/main/steps/CMakeLists.txt +++ b/main/steps/CMakeLists.txt @@ -1,12 +1,18 @@ set(SOURCES "setup_wires.cpp" "step0.cpp" - "step1.cpp" - "step2.cpp" - "step3.cpp" - "step4.cpp" - "step5.cpp" - "step6.cpp" + "p001_step1.cpp" + "p001_step2.cpp" + "p001_step3.cpp" + "p001_step4.cpp" + "p001_step5.cpp" + "p001_step6.cpp" + "p002_step1.cpp" + "p002_step2.cpp" + "p002_step3.cpp" + "p002_step4.cpp" + "p002_step5.cpp" + "p002_step6.cpp" "wires_puzzle.cpp" ) diff --git a/main/steps/step1.cpp b/main/steps/p001_step1.cpp similarity index 99% rename from main/steps/step1.cpp rename to main/steps/p001_step1.cpp index 99a600b..3dead9b 100644 --- a/main/steps/step1.cpp +++ b/main/steps/p001_step1.cpp @@ -1,4 +1,4 @@ -#include "step1.h" +#include "p001_step1.h" __attribute__((unused)) static const char *TAG = "step1"; @@ -275,7 +275,7 @@ static bool play_part(uint32_t time) { return true; } -void step1(void) { +void p001_step1(void) { while (get_switch_flipped(nullptr)); init_step(); diff --git a/main/steps/p001_step1.h b/main/steps/p001_step1.h new file mode 100644 index 0000000..570afe6 --- /dev/null +++ b/main/steps/p001_step1.h @@ -0,0 +1,10 @@ +#ifndef P001_STEP_1_H +#define P001_STEP_1_H + +#include +#include "../drivers/all.h" +#include "../helper.h" + +void p001_step1(void); + +#endif /* P001_STEP_1_H */ diff --git a/main/steps/step2.cpp b/main/steps/p001_step2.cpp similarity index 98% rename from main/steps/step2.cpp rename to main/steps/p001_step2.cpp index 18a6bf0..f2b82cd 100644 --- a/main/steps/step2.cpp +++ b/main/steps/p001_step2.cpp @@ -1,4 +1,4 @@ -#include "step2.h" +#include "p001_step2.h" __attribute__((unused)) static const char *TAG = "step2"; @@ -91,7 +91,7 @@ static void new_puzzle(void) { set_module_sseg_raw(display_map); } -void step2(void) { +void p001_step2(void) { KeypadKey key; int solved_times = 0; diff --git a/main/steps/step2.h b/main/steps/p001_step2.h similarity index 53% rename from main/steps/step2.h rename to main/steps/p001_step2.h index 54cadca..6b7320f 100644 --- a/main/steps/step2.h +++ b/main/steps/p001_step2.h @@ -1,5 +1,5 @@ -#ifndef STEP_2_H -#define STEP_2_H +#ifndef P001_STEP_2_H +#define P001_STEP_2_H #include "../drivers/all.h" #include "../helper.h" @@ -7,6 +7,6 @@ #include #include -void step2(void); +void p001_step2(void); -#endif /* STEP_2_H */ \ No newline at end of file +#endif /* P001_STEP_2_H */ \ No newline at end of file diff --git a/main/steps/step3.cpp b/main/steps/p001_step3.cpp similarity index 99% rename from main/steps/step3.cpp rename to main/steps/p001_step3.cpp index 696dc16..1fe3f03 100644 --- a/main/steps/step3.cpp +++ b/main/steps/p001_step3.cpp @@ -1,4 +1,4 @@ -#include "step3.h" +#include "p001_step3.h" #define ONE_SECOND_TIME 90'000 #define THREE_SECOND_TIME 90'000 @@ -72,7 +72,7 @@ static bool one_second(); static bool three_second(); static bool six_second(); -void step3(void) { +void p001_step3(void) { SemaphoreHandle_t continue_sem = xSemaphoreCreateBinary(); if (continue_sem == nullptr) { ESP_LOGE(TAG, "could not create semaphore"); diff --git a/main/steps/p001_step3.h b/main/steps/p001_step3.h new file mode 100644 index 0000000..6e5300d --- /dev/null +++ b/main/steps/p001_step3.h @@ -0,0 +1,10 @@ +#ifndef P001_STEP_3_H +#define P001_STEP_3_H + +#include +#include "../drivers/all.h" +#include "../helper.h" + +void p001_step3(void); + +#endif /* P001_STEP_3_H */ diff --git a/main/steps/step4.cpp b/main/steps/p001_step4.cpp similarity index 99% rename from main/steps/step4.cpp rename to main/steps/p001_step4.cpp index 21452fe..821fd97 100644 --- a/main/steps/step4.cpp +++ b/main/steps/p001_step4.cpp @@ -1,4 +1,4 @@ -#include "step4.h" +#include "p001_step4.h" __attribute__((unused)) static const char *TAG = "step4"; @@ -379,7 +379,7 @@ static void fail() { } } -void step4() { +void p001_step4() { // TODO: extract to helper function SemaphoreHandle_t continue_sem = xSemaphoreCreateBinary(); if (continue_sem == nullptr) { diff --git a/main/steps/step4.h b/main/steps/p001_step4.h similarity index 62% rename from main/steps/step4.h rename to main/steps/p001_step4.h index 38f4f04..1c45a44 100644 --- a/main/steps/step4.h +++ b/main/steps/p001_step4.h @@ -1,5 +1,5 @@ -#ifndef STEP_4_H -#define STEP_4_H +#ifndef P001_STEP_4_H +#define P001_STEP_4_H #include #include "../drivers/all.h" @@ -9,6 +9,6 @@ #define TETRIS_USE_FLASH_IMG #define TETRIS_USE_FLASH_BG_IMG -void step4(void); +void p001_step4(void); -#endif /* STEP_4_H */ \ No newline at end of file +#endif /* P001_STEP_4_H */ \ No newline at end of file diff --git a/main/steps/step5.cpp b/main/steps/p001_step5.cpp similarity index 99% rename from main/steps/step5.cpp rename to main/steps/p001_step5.cpp index 873e7ed..358b7cf 100644 --- a/main/steps/step5.cpp +++ b/main/steps/p001_step5.cpp @@ -1,4 +1,4 @@ -#include "step5.h" +#include "p001_step5.h" #define TIME_CLEAR 30'000 #define TIME_PLANK 40'000 @@ -178,7 +178,7 @@ bool submit_6(bool* buttons_cycling, bool button_turned_on, int led_off) { return true; } -void step5(void) { +void p001_step5(void) { SemaphoreHandle_t continue_sem = xSemaphoreCreateBinary(); if (continue_sem == nullptr) { ESP_LOGE(TAG, "could not create semaphore"); diff --git a/main/steps/step5.h b/main/steps/p001_step5.h similarity index 65% rename from main/steps/step5.h rename to main/steps/p001_step5.h index ef15a20..2e9b2e8 100644 --- a/main/steps/step5.h +++ b/main/steps/p001_step5.h @@ -1,5 +1,5 @@ -#ifndef STEP_5_H -#define STEP_5_H +#ifndef P001_STEP_5_H +#define P001_STEP_5_H #include "../drivers/all.h" #include "../helper.h" @@ -11,6 +11,6 @@ #include #include -void step5(void); +void p001_step5(void); -#endif /* STEP_5_H */ \ No newline at end of file +#endif /* P001_STEP_5_H */ \ No newline at end of file diff --git a/main/steps/step6.cpp b/main/steps/p001_step6.cpp similarity index 96% rename from main/steps/step6.cpp rename to main/steps/p001_step6.cpp index fb4508d..49d18fd 100644 --- a/main/steps/step6.cpp +++ b/main/steps/p001_step6.cpp @@ -1,11 +1,11 @@ -#include "step6.h" +#include "p001_step6.h" __attribute__((unused)) static const char *TAG = "step6"; static uint8_t cut_wires = 0; -void step6(void) { +void p001_step6(void) { get_cut_wires(); clear_all_pressed_released(); diff --git a/main/steps/p001_step6.h b/main/steps/p001_step6.h new file mode 100644 index 0000000..18dcd91 --- /dev/null +++ b/main/steps/p001_step6.h @@ -0,0 +1,10 @@ +#ifndef P001_STEP_6_H +#define P001_STEP_6_H + +#include "wires_puzzle.h" +#include "../drivers/all.h" +#include "../helper.h" + +void p001_step6(void); + +#endif /* P001_STEP_6_H */ \ No newline at end of file diff --git a/main/steps/p002_step1.cpp b/main/steps/p002_step1.cpp new file mode 100644 index 0000000..cfc015c --- /dev/null +++ b/main/steps/p002_step1.cpp @@ -0,0 +1,10 @@ +#include "p002_step1.h" + +__attribute__((unused)) +static const char *TAG = "step1"; + +void p002_step1(void) { + // TODO: implement step 1 +} + + diff --git a/main/steps/p002_step1.h b/main/steps/p002_step1.h new file mode 100644 index 0000000..a92bcb8 --- /dev/null +++ b/main/steps/p002_step1.h @@ -0,0 +1,8 @@ +#ifndef P002_STEP_1_H +#define P002_STEP_1_H + +#include "../drivers/all.h" + +void p002_step1(void); + +#endif /* P002_STEP_1_H */ diff --git a/main/steps/p002_step2.cpp b/main/steps/p002_step2.cpp new file mode 100644 index 0000000..523d9bb --- /dev/null +++ b/main/steps/p002_step2.cpp @@ -0,0 +1,8 @@ +#include "p002_step2.h" + +__attribute__((unused)) +static const char *TAG = "step2"; + +void p002_step2(void) { + // TODO: implement step 2 +} diff --git a/main/steps/p002_step2.h b/main/steps/p002_step2.h new file mode 100644 index 0000000..bfce71a --- /dev/null +++ b/main/steps/p002_step2.h @@ -0,0 +1,8 @@ +#ifndef P002_STEP_2_H +#define P002_STEP_2_H + +#include "../drivers/all.h" + +void p002_step2(void); + +#endif /* P002_STEP_2_H */ diff --git a/main/steps/p002_step3.cpp b/main/steps/p002_step3.cpp new file mode 100644 index 0000000..a6fccd1 --- /dev/null +++ b/main/steps/p002_step3.cpp @@ -0,0 +1,8 @@ +#include "p002_step3.h" + +__attribute__((unused)) +static const char *TAG = "step3"; + +void p002_step3(void) { + // TODO: implement step 3 +} diff --git a/main/steps/p002_step3.h b/main/steps/p002_step3.h new file mode 100644 index 0000000..50f665a --- /dev/null +++ b/main/steps/p002_step3.h @@ -0,0 +1,8 @@ +#ifndef P002_STEP_3_H +#define P002_STEP_3_H + +#include "../drivers/all.h" + +void p002_step3(void); + +#endif /* P002_STEP_3_H */ diff --git a/main/steps/p002_step4.cpp b/main/steps/p002_step4.cpp new file mode 100644 index 0000000..04e6e97 --- /dev/null +++ b/main/steps/p002_step4.cpp @@ -0,0 +1,8 @@ +#include "p002_step4.h" + +__attribute__((unused)) +static const char *TAG = "step4"; + +void p002_step4(void) { + // TODO: implement step 4 +} diff --git a/main/steps/p002_step4.h b/main/steps/p002_step4.h new file mode 100644 index 0000000..aba148d --- /dev/null +++ b/main/steps/p002_step4.h @@ -0,0 +1,8 @@ +#ifndef P002_STEP_4_H +#define P002_STEP_4_H + +#include "../drivers/all.h" + +void p002_step4(void); + +#endif /* P002_STEP_4_H */ diff --git a/main/steps/p002_step5.cpp b/main/steps/p002_step5.cpp new file mode 100644 index 0000000..35ce778 --- /dev/null +++ b/main/steps/p002_step5.cpp @@ -0,0 +1,8 @@ +#include "p002_step5.h" + +__attribute__((unused)) +static const char *TAG = "step5"; + +void p002_step5(void) { + // TODO: implement step 5 +} diff --git a/main/steps/p002_step5.h b/main/steps/p002_step5.h new file mode 100644 index 0000000..0dfc009 --- /dev/null +++ b/main/steps/p002_step5.h @@ -0,0 +1,8 @@ +#ifndef P002_STEP_5_H +#define P002_STEP_5_H + +#include "../drivers/all.h" + +void p002_step5(void); + +#endif /* P002_STEP_5_H */ diff --git a/main/steps/p002_step6.cpp b/main/steps/p002_step6.cpp new file mode 100644 index 0000000..37a8bdf --- /dev/null +++ b/main/steps/p002_step6.cpp @@ -0,0 +1,8 @@ +#include "p002_step6.h" + +__attribute__((unused)) +static const char *TAG = "step6"; + +void p002_step6(void) { + // TODO: implement step 6 +} diff --git a/main/steps/p002_step6.h b/main/steps/p002_step6.h new file mode 100644 index 0000000..4ece80e --- /dev/null +++ b/main/steps/p002_step6.h @@ -0,0 +1,8 @@ +#ifndef P002_STEP_6_H +#define P002_STEP_6_H + +#include "../drivers/all.h" + +void p002_step6(void); + +#endif /* P002_STEP_6_H */ diff --git a/main/steps/step0.cpp b/main/steps/step0.cpp index 44d4bb9..23e26a3 100644 --- a/main/steps/step0.cpp +++ b/main/steps/step0.cpp @@ -5,6 +5,7 @@ static const char* TAG = "step0"; extern uint32_t initial_game_time; extern uint32_t skip_to_step; +extern uint32_t puzzle; static void set_game_time(); static void skip_to_step1() { skip_to_step = 1; } @@ -13,12 +14,12 @@ static void skip_to_step3() { skip_to_step = 3; } static void skip_to_step4() { skip_to_step = 4; } static void skip_to_step5() { skip_to_step = 5; } static void skip_to_step6() { skip_to_step = 6; } -static void try_step1() { clean_bomb(); step1(); } -static void try_step2() { clean_bomb(); step2(); } -static void try_step3() { clean_bomb(); step3(); } -static void try_step4() { clean_bomb(); step4(); } -static void try_step5() { clean_bomb(); step5(); } -static void try_step6() { clean_bomb(); step6(); } +static void try_step1() { clean_bomb(); p001_step1(); } +static void try_step2() { clean_bomb(); p001_step2(); } +static void try_step3() { clean_bomb(); p001_step3(); } +static void try_step4() { clean_bomb(); p001_step4(); } +static void try_step5() { clean_bomb(); p001_step5(); } +static void try_step6() { clean_bomb(); p001_step6(); } static void issue_strike() { strike("Strike Issued"); } static void flashbang(); static void debug_switches(); @@ -45,6 +46,13 @@ static void replay_last() { start_playback(); } +static void do_p001() { + puzzle = 1; +} + +static void do_p002() { + puzzle = 2; +} void step0() { led_set(IndicatorLED::LED_SPEAKER, LEDColor::LED_COLOR_BLUE); @@ -59,15 +67,22 @@ void step0() { StarCodeEntry star_codes[] = { { .code = "9819", - .display_text = "Diffusal Initiated", + .display_text = "Start P001", .delay_us = 2'000'000, - .callback = nullptr, + .callback = do_p001, + .triggered_sem = continue_sem, + }, + { + .code = "3141", + .display_text = "Start P002", + .delay_us = 2'000'000, + .callback = do_p002, .triggered_sem = continue_sem, }, { .code = "59861", .display_text = "Setup Wires", - .delay_us = 10'000'000, + .delay_us = 2'000'000, .callback = setup_wires, .triggered_sem = nullptr, }, diff --git a/main/steps/step0.h b/main/steps/step0.h index f6e8e8e..90b40f1 100644 --- a/main/steps/step0.h +++ b/main/steps/step0.h @@ -4,12 +4,12 @@ #include "../drivers/all.h" #include "setup_wires.h" -#include "step1.h" -#include "step2.h" -#include "step3.h" -#include "step4.h" -#include "step5.h" -#include "step6.h" +#include "p001_step1.h" +#include "p001_step2.h" +#include "p001_step3.h" +#include "p001_step4.h" +#include "p001_step5.h" +#include "p001_step6.h" /// Wait for "*9819" void step0(void); diff --git a/main/steps/step1.h b/main/steps/step1.h deleted file mode 100644 index 81363eb..0000000 --- a/main/steps/step1.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef STEP_1_H -#define STEP_1_H - -#include -#include "../drivers/all.h" -#include "../helper.h" - -void step1(void); - -#endif /* STEP_1_H */ diff --git a/main/steps/step3.h b/main/steps/step3.h deleted file mode 100644 index 06b0f52..0000000 --- a/main/steps/step3.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef STEP_3_H -#define STEP_3_H - -#include -#include "../drivers/all.h" -#include "../helper.h" - -void step3(void); - -#endif /* STEP_3_H */ diff --git a/main/steps/step6.h b/main/steps/step6.h deleted file mode 100644 index 7e8711b..0000000 --- a/main/steps/step6.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef STEP_6_H -#define STEP_6_H - -#include "wires_puzzle.h" -#include "../drivers/all.h" -#include "../helper.h" - -void step6(void); - -#endif /* STEP_6_H */ \ No newline at end of file diff --git a/sdkconfig b/sdkconfig index 34abb71..1e410d3 100644 --- a/sdkconfig +++ b/sdkconfig @@ -1,6 +1,6 @@ # # Automatically generated file. DO NOT EDIT. -# Espressif IoT Development Framework (ESP-IDF) 5.3.2 Project Configuration +# Espressif IoT Development Framework (ESP-IDF) 5.3.5 Project Configuration # CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 @@ -11,6 +11,7 @@ CONFIG_SOC_PHY_SUPPORTED=y CONFIG_SOC_WIFI_SUPPORTED=y CONFIG_SOC_TWAI_SUPPORTED=y CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_UHCI_SUPPORTED=y CONFIG_SOC_AHB_GDMA_SUPPORTED=y CONFIG_SOC_GPTIMER_SUPPORTED=y CONFIG_SOC_LCDCAM_SUPPORTED=y @@ -64,6 +65,7 @@ CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_SIMD_INSTRUCTION_SUPPORTED=y CONFIG_SOC_XTAL_SUPPORT_40M=y CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y @@ -100,7 +102,8 @@ CONFIG_SOC_CPU_HAS_FPU=y CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 -CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x40 +CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16 CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 @@ -176,7 +179,7 @@ CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 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_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 @@ -203,7 +206,8 @@ CONFIG_SOC_RTCIO_PIN_COUNT=22 CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y -CONFIG_SOC_SDM_GROUPS=y +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_SDM_GROUPS=1 CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 CONFIG_SOC_SDM_CLK_SUPPORT_APB=y CONFIG_SOC_SPI_PERIPH_NUM=3 @@ -243,6 +247,8 @@ CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 CONFIG_SOC_TOUCH_SENSOR_VERSION=2 CONFIG_SOC_TOUCH_SENSOR_NUM=15 CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y @@ -265,6 +271,7 @@ CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y CONFIG_SOC_UART_SUPPORT_APB_CLK=y CONFIG_SOC_UART_SUPPORT_RTC_CLK=y CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UHCI_NUM=1 CONFIG_SOC_USB_OTG_PERIPH_NUM=1 CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 CONFIG_SOC_SHA_SUPPORT_DMA=y @@ -350,6 +357,7 @@ CONFIG_SOC_WIFI_HW_TSF=y CONFIG_SOC_WIFI_FTM_SUPPORT=y CONFIG_SOC_WIFI_GCMP_SUPPORT=y CONFIG_SOC_WIFI_WAPI_SUPPORT=y +CONFIG_SOC_WIFI_TXOP_SUPPORT=y CONFIG_SOC_WIFI_CSI_SUPPORT=y CONFIG_SOC_WIFI_MESH_SUPPORT=y CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y @@ -593,7 +601,21 @@ CONFIG_APPTRACE_LOCK_ENABLE=y # Bluetooth # # CONFIG_BT_ENABLED is not set -CONFIG_BT_ALARM_MAX_NUM=50 + +# +# Common Options +# + +# +# BLE Log +# +# CONFIG_BLE_LOG_ENABLED is not set +# end of BLE Log + +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options # end of Bluetooth # @@ -617,6 +639,7 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # Legacy ADC Driver Configuration # # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set # # Legacy ADC Calibration Configuration @@ -629,42 +652,55 @@ CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y # Legacy MCPWM Driver Configurations # # CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy MCPWM Driver Configurations # # Legacy Timer Group Driver Configurations # # CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy Timer Group Driver Configurations # # Legacy RMT Driver Configurations # # CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy RMT Driver Configurations # # Legacy I2S Driver Configurations # # CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy I2S Driver Configurations +# +# Legacy I2C Driver Configurations +# +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations + # # Legacy PCNT Driver Configurations # # CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy PCNT Driver Configurations # # Legacy SDM Driver Configurations # # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy SDM Driver Configurations # # Legacy Temperature Sensor Driver Configurations # # CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set # end of Legacy Temperature Sensor Driver Configurations # end of Driver Configurations @@ -687,6 +723,7 @@ CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y # CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set # CONFIG_ESP_TLS_PSK_VERIFICATION is not set # CONFIG_ESP_TLS_INSECURE is not set +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y # end of ESP-TLS # @@ -724,6 +761,7 @@ CONFIG_ESP_ERR_TO_NAME_LOOKUP=y CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set # CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set # end of ESP-Driver:GPTimer Configurations @@ -807,6 +845,14 @@ CONFIG_SPI_SLAVE_ISR_IN_IRAM=y # CONFIG_UART_ISR_IN_IRAM is not set # end of ESP-Driver:UART Configurations +# +# ESP-Driver:UHCI Configurations +# +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + # # ESP-Driver:USB Serial/JTAG Configuration # @@ -842,6 +888,13 @@ CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y CONFIG_ESP_GDBSTUB_MAX_TASKS=32 # end of GDB Stub +# +# ESP HID +# +CONFIG_ESPHID_TASK_SIZE_BT=2048 +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + # # ESP HTTP client # @@ -1015,7 +1068,11 @@ 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_PERIOD_MS=1000 # CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +CONFIG_ESP_PHY_IRAM_OPT=y +# CONFIG_ESP_PHY_DEBUG is not set # end of PHY # @@ -1052,6 +1109,7 @@ CONFIG_SPIRAM_CS_IO=26 CONFIG_SPIRAM_SPEED_40M=y CONFIG_SPIRAM_SPEED=40 CONFIG_SPIRAM_BOOT_INIT=y +CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION=y # CONFIG_SPIRAM_IGNORE_NOTFOUND is not set # CONFIG_SPIRAM_USE_MEMMAP is not set # CONFIG_SPIRAM_USE_CAPS_ALLOC is not set @@ -1216,9 +1274,9 @@ CONFIG_ESP_WIFI_ENABLED=y CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1228,7 +1286,6 @@ 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_AMSDU_TX_ENABLED is not set CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y # CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set @@ -1270,7 +1327,6 @@ CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y # end of WPS Configuration Options # CONFIG_ESP_WIFI_DEBUG_PRINT is not set -# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y # CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set # end of Wi-Fi @@ -1400,7 +1456,6 @@ CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 CONFIG_HAL_WDT_USE_ROM_IMPL=y CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y -# CONFIG_HAL_ECDSA_GEN_SIG_CM is not set # end of Hardware Abstraction Layer (HAL) and Low Level (LL) # @@ -1489,6 +1544,7 @@ CONFIG_LWIP_DHCPS=y CONFIG_LWIP_DHCPS_LEASE_UNIT=60 CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +CONFIG_LWIP_DHCPS_ADD_DNS=y # end of DHCP server # CONFIG_LWIP_AUTOIP is not set @@ -1640,6 +1696,7 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 # 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_SSL_KEYING_MATERIAL_EXPORT is not set CONFIG_MBEDTLS_PKCS7_C=y # end of mbedTLS v3.x related @@ -1673,6 +1730,7 @@ 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_SHA1_C=y CONFIG_MBEDTLS_SHA512_C=y # CONFIG_MBEDTLS_SHA3_C is not set CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y @@ -1752,6 +1810,7 @@ CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y # CONFIG_MBEDTLS_THREADING_C is not set CONFIG_MBEDTLS_ERROR_STRINGS=y CONFIG_MBEDTLS_FS_IO=y +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set # end of mbedTLS # @@ -1802,25 +1861,12 @@ CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y # CONFIG_OPENTHREAD_ENABLED is not set # -# Thread Operational Dataset +# OpenThread Spinel # -CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" -CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" -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_XTAL_ACCURACY=130 # CONFIG_OPENTHREAD_SPINEL_ONLY is not set -CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y +# end of OpenThread Spinel -# -# Thread Address Query Config -# -# end of Thread Address Query Config +# CONFIG_OPENTHREAD_DEBUG is not set # end of OpenThread # @@ -1829,6 +1875,7 @@ CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y # end of Protocomm # @@ -1880,6 +1927,7 @@ CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y # CONFIG_SPI_FLASH_AUTO_SUSPEND is not set CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 # CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set # end of Optional and Experimental Features (READ DOCS FIRST) # end of Main Flash configuration @@ -2459,7 +2507,6 @@ CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y CONFIG_ESP32S3_DEBUG_OCDAWARE=y CONFIG_BROWNOUT_DET=y CONFIG_ESP32S3_BROWNOUT_DET=y -CONFIG_ESP32S3_BROWNOUT_DET=y CONFIG_BROWNOUT_DET_LVL_SEL_7=y CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set @@ -2482,17 +2529,14 @@ CONFIG_ESP32_WIFI_ENABLED=y CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y +# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=6 -CONFIG_ESP32_WIFI_RX_BA_WIN=6 -# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set @@ -2513,7 +2557,6 @@ CONFIG_WPA_MBEDTLS_TLS_CLIENT=y # 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