From 5492b41eadab8ed29b18155f3554d71f4bbee780 Mon Sep 17 00:00:00 2001 From: Kevin Thomas Date: Sat, 17 Oct 2026 15:42:28 -0400 Subject: [PATCH] Organize all 0x project directories into respective WEEK folders and clean root --- 0x0001_hello-world/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - 0x0001_hello-world/.vscode/cmake-kits.json | 15 - 0x0001_hello-world/.vscode/extensions.json | 9 - 0x0001_hello-world/.vscode/launch.json | 50 - 0x0001_hello-world/.vscode/settings.json | 43 - 0x0001_hello-world/.vscode/tasks.json | 102 -- 0x0001_hello-world/0x0001_hello-world.c | 9 - 0x0001_hello-world/CMakeLists.txt | 57 -- 0x0001_hello-world/pico_sdk_import.cmake | 121 --- 0x0001a_stack/.gitignore | 2 - 0x0001a_stack/.vscode/c_cpp_properties.json | 22 - 0x0001a_stack/.vscode/cmake-kits.json | 15 - 0x0001a_stack/.vscode/extensions.json | 9 - 0x0001a_stack/.vscode/launch.json | 52 - 0x0001a_stack/.vscode/settings.json | 46 - 0x0001a_stack/.vscode/tasks.json | 102 -- 0x0001a_stack/0x0001a_stack.c | 23 - 0x0001a_stack/CMakeLists.txt | 57 -- 0x0001a_stack/pico_sdk_import.cmake | 121 --- 0x0001b_ctf/.gitignore | 4 - 0x0001b_ctf/.vscode/c_cpp_properties.json | 22 - 0x0001b_ctf/.vscode/cmake-kits.json | 15 - 0x0001b_ctf/.vscode/extensions.json | 9 - 0x0001b_ctf/.vscode/launch.json | 52 - 0x0001b_ctf/.vscode/settings.json | 46 - 0x0001b_ctf/.vscode/tasks.json | 102 -- 0x0001b_ctf/CMakeLists.txt | 91 -- 0x0001b_ctf/CTF-01-I.md | 442 -------- 0x0001b_ctf/CTF-01-I.pdf | Bin 390579 -> 0 bytes 0x0001b_ctf/CTF-01-R.md | 237 ----- 0x0001b_ctf/CTF-01-R.pdf | Bin 321998 -> 0 bytes 0x0001b_ctf/CTF-01-S.md | 467 --------- 0x0001b_ctf/CTF-01-S.pdf | Bin 529327 -> 0 bytes 0x0001b_ctf/CTF-01.bin | Bin 15920 -> 0 bytes 0x0001b_ctf/CTF-01.uf2 | Bin 32768 -> 0 bytes 0x0001b_ctf/CTF-01_fixed.bin | Bin 15920 -> 0 bytes 0x0001b_ctf/CTF-01_fixed.uf2 | Bin 32256 -> 0 bytes 0x0001b_ctf/include/console.h | 72 -- 0x0001b_ctf/include/grid.h | 85 -- 0x0001b_ctf/pico_sdk_import.cmake | 121 --- 0x0001b_ctf/scripts/verify_ctf.py | 82 -- 0x0001b_ctf/src/console.c | 1 - 0x0001b_ctf/src/grid.c | 6 - 0x0001b_ctf/src/main.c | 56 -- 0x0001b_ctf/uf2families.json | 22 - 0x0005_intro-to-variables/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - 0x0005_intro-to-variables/.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - 0x0005_intro-to-variables/.vscode/tasks.json | 102 -- .../0x0005_intro-to-variables.c | 13 - 0x0005_intro-to-variables/CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x0008_uninitialized-variables-a/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 21 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x0008_uninitialized-variables-a.c | 18 - .../CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x0008_uninitialized-variables-b/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x0008_uninitialized-variables-b.c | 27 - .../CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x0008_uninitialized-variables-c/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x0008_uninitialized-variables-c.c | 35 - .../CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x0008_uninitialized-variables-d/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x0008_uninitialized-variables-d.c | 70 -- .../CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x0008_uninitialized-variables-e/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x0008_uninitialized-variables-e.c | 69 -- .../CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x0008_uninitialized-variables/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 45 - .../.vscode/tasks.json | 102 -- .../0x0008_uninitialized-variables.c | 23 - 0x0008_uninitialized-variables/CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x000b_integer-data-type/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - 0x000b_integer-data-type/.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - 0x000b_integer-data-type/.vscode/tasks.json | 102 -- .../0x000b_integer-data-type.c | 67 -- 0x000b_integer-data-type/CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x000e_floating-point-data-type/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x000e_floating-point-data-type.c | 11 - .../CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- .../.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x0011_double-floating-point-data-type.c | 11 - .../CMakeLists.txt | 57 -- .../pico_sdk_import.cmake | 121 --- 0x0011a_cb/.gitignore | 4 - 0x0011a_cb/0x0011a_cb.bin | Bin 45832 -> 0 bytes 0x0011a_cb/0x0011a_cb.uf2 | Bin 92672 -> 0 bytes 0x0011a_cb/0x0011a_cb_patched.bin | Bin 45832 -> 0 bytes 0x0011a_cb/0x0011a_cb_patched.uf2 | Bin 92160 -> 0 bytes 0x0011a_cb/CLASSIFIED-BRIEF-0x01.md | 159 --- 0x0011a_cb/CLASSIFIED-BRIEF-0x01.pdf | Bin 202797 -> 0 bytes 0x0011a_cb/CMakeLists.txt | 108 -- 0x0011a_cb/include/aes.h | 24 - 0x0011a_cb/include/ctf_target.h | 17 - 0x0011a_cb/include/gps.h | 67 -- 0x0011a_cb/include/lcd.h | 74 -- 0x0011a_cb/include/lora.h | 64 -- 0x0011a_cb/include/navigation.h | 87 -- 0x0011a_cb/include/payload.h | 68 -- 0x0011a_cb/include/propeller.h | 67 -- 0x0011a_cb/pico_sdk_import.cmake | 121 --- 0x0011a_cb/scripts/decode_coordinates.py | 411 -------- 0x0011a_cb/scripts/float_hex_converter.py | 202 ---- 0x0011a_cb/scripts/lora_console.py | 195 ---- 0x0011a_cb/scripts/randomize_build.py | 234 ----- 0x0011a_cb/scripts/telemetry_monitor.py | 301 ------ 0x0011a_cb/src/aes.c | 216 ---- 0x0011a_cb/src/gps.c | 177 ---- 0x0011a_cb/src/lcd.c | 207 ---- 0x0011a_cb/src/lora.c | 107 -- 0x0011a_cb/src/main.c | 144 --- 0x0011a_cb/src/navigation.c | 106 -- 0x0011a_cb/src/payload.c | 58 -- 0x0011a_cb/src/propeller.c | 84 -- 0x0011a_cb/src/uart_rx.pio | 43 - 0x0011a_cb/uf2families.json | 22 - 0x0014_static-variables/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - 0x0014_static-variables/.vscode/launch.json | 50 - 0x0014_static-variables/.vscode/settings.json | 40 - 0x0014_static-variables/.vscode/tasks.json | 102 -- .../0x0014_static-variables.c | 31 - 0x0014_static-variables/CMakeLists.txt | 57 -- 0x0014_static-variables/pico_sdk_import.cmake | 121 --- 0x0014a_cb/0x0014a_cb.bin | Bin 34528 -> 0 bytes 0x0014a_cb/0x0014a_cb.uf2 | Bin 69632 -> 0 bytes 0x0014a_cb/0x0014a_cb_patched.bin | Bin 34528 -> 0 bytes 0x0014a_cb/0x0014a_cb_patched.uf2 | Bin 69120 -> 0 bytes 0x0014a_cb/CLASSIFIED-BRIEF-0x02.md | 152 --- 0x0014a_cb/CLASSIFIED-BRIEF-0x02.pdf | Bin 191740 -> 0 bytes 0x0014a_cb/CMakeLists.txt | 94 -- 0x0014a_cb/include/crypto.h | 26 - 0x0014a_cb/include/gpio_ctrl.h | 55 - 0x0014a_cb/include/lora.h | 64 -- 0x0014a_cb/include/safe_arm.h | 35 - 0x0014a_cb/pico_sdk_import.cmake | 121 --- 0x0014a_cb/scripts/lora_console.py | 195 ---- 0x0014a_cb/scripts/patch_binary.py | 105 -- 0x0014a_cb/scripts/uf2conv.py | 861 ---------------- 0x0014a_cb/scripts/uf2families.json | 22 - 0x0014a_cb/src/crypto.c | 27 - 0x0014a_cb/src/gpio_ctrl.c | 60 -- 0x0014a_cb/src/lora.c | 151 --- 0x0014a_cb/src/main.c | 42 - 0x0014a_cb/src/safe_arm.c | 133 --- 0x0017_constants/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - 0x0017_constants/.vscode/cmake-kits.json | 15 - 0x0017_constants/.vscode/extensions.json | 9 - 0x0017_constants/.vscode/launch.json | 50 - 0x0017_constants/.vscode/settings.json | 43 - 0x0017_constants/.vscode/tasks.json | 102 -- 0x0017_constants/0x0017_constants.c | 35 - 0x0017_constants/CMakeLists.txt | 59 -- 0x0017_constants/lcd_1602.c | 114 --- 0x0017_constants/lcd_1602.h | 74 -- 0x0017_constants/pico_sdk_import.cmake | 121 --- 0x0017a_ctf/.gitignore | 4 - 0x0017a_ctf/.vscode/c_cpp_properties.json | 22 - 0x0017a_ctf/.vscode/cmake-kits.json | 15 - 0x0017a_ctf/.vscode/extensions.json | 9 - 0x0017a_ctf/.vscode/launch.json | 52 - 0x0017a_ctf/.vscode/settings.json | 46 - 0x0017a_ctf/.vscode/tasks.json | 102 -- 0x0017a_ctf/CMakeLists.txt | 128 --- 0x0017a_ctf/CTF-02-I.md | 673 ------------- 0x0017a_ctf/CTF-02-I.pdf | Bin 488352 -> 0 bytes 0x0017a_ctf/CTF-02-R.md | 276 ----- 0x0017a_ctf/CTF-02-R.pdf | Bin 370895 -> 0 bytes 0x0017a_ctf/CTF-02-S.md | 652 ------------ 0x0017a_ctf/CTF-02-S.pdf | Bin 717130 -> 0 bytes 0x0017a_ctf/CTF-02.bin | Bin 62308 -> 0 bytes 0x0017a_ctf/CTF-02.uf2 | Bin 125440 -> 0 bytes 0x0017a_ctf/CTF-02_fixed.bin | Bin 62308 -> 0 bytes 0x0017a_ctf/CTF-02_fixed.uf2 | Bin 124928 -> 0 bytes 0x0017a_ctf/include/auth.h | 143 --- 0x0017a_ctf/include/cli.h | 59 -- 0x0017a_ctf/include/demo_artifact.h | 60 -- 0x0017a_ctf/include/mbedtls_config.h | 39 - 0x0017a_ctf/pico_sdk_import.cmake | 121 --- 0x0017a_ctf/scripts/dec.py | 944 ------------------ 0x0017a_ctf/scripts/demo_artifact.json | 9 - 0x0017a_ctf/scripts/verify_ctf.py | 149 --- 0x0017a_ctf/src/auth.c | 362 ------- 0x0017a_ctf/src/cli.c | 149 --- 0x0017a_ctf/src/main.c | 404 -------- 0x0017a_ctf/src/mbedtls_shims.c | 49 - .../third_party/argon2/include/argon2.h | 437 -------- 0x0017a_ctf/third_party/argon2/src/argon2.c | 452 --------- .../argon2/src/blake2/blake2-impl.h | 156 --- .../third_party/argon2/src/blake2/blake2.h | 89 -- .../third_party/argon2/src/blake2/blake2b.c | 390 -------- .../argon2/src/blake2/blamka-round-opt.h | 471 --------- .../argon2/src/blake2/blamka-round-ref.h | 56 -- 0x0017a_ctf/third_party/argon2/src/core.c | 648 ------------ 0x0017a_ctf/third_party/argon2/src/core.h | 228 ----- 0x0017a_ctf/third_party/argon2/src/encoding.c | 463 --------- 0x0017a_ctf/third_party/argon2/src/encoding.h | 57 -- 0x0017a_ctf/third_party/argon2/src/genkat.h | 51 - 0x0017a_ctf/third_party/argon2/src/ref.c | 194 ---- 0x0017a_ctf/third_party/argon2/src/thread.c | 57 -- 0x0017a_ctf/third_party/argon2/src/thread.h | 67 -- 0x0017a_ctf/uf2families.json | 22 - 0x001a_operators/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - 0x001a_operators/.vscode/cmake-kits.json | 15 - 0x001a_operators/.vscode/extensions.json | 9 - 0x001a_operators/.vscode/launch.json | 50 - 0x001a_operators/.vscode/settings.json | 40 - 0x001a_operators/.vscode/tasks.json | 102 -- 0x001a_operators/0x001a_operators.c | 36 - 0x001a_operators/CMakeLists.txt | 57 -- 0x001a_operators/dht11.c | 79 -- 0x001a_operators/dht11.h | 57 -- 0x001a_operators/hack-temp.py | 219 ---- 0x001a_operators/pico_sdk_import.cmake | 121 --- 0x001aa_cb/0x001aa_cb.bin | Bin 35152 -> 0 bytes 0x001aa_cb/0x001aa_cb.uf2 | Bin 71168 -> 0 bytes 0x001aa_cb/0x001aa_cb_patched.bin | Bin 35152 -> 0 bytes 0x001aa_cb/0x001aa_cb_patched.uf2 | Bin 70656 -> 0 bytes 0x001aa_cb/CLASSIFIED-BRIEF-0x03.md | 154 --- 0x001aa_cb/CLASSIFIED-BRIEF-0x03.pdf | Bin 186754 -> 0 bytes 0x001aa_cb/CMakeLists.txt | 85 -- 0x001aa_cb/include/crypto.h | 26 - 0x001aa_cb/include/dht11.h | 42 - 0x001aa_cb/include/gpio_ctrl.h | 63 -- 0x001aa_cb/include/logic.h | 35 - 0x001aa_cb/include/lora.h | 64 -- 0x001aa_cb/pico_sdk_import.cmake | 121 --- 0x001aa_cb/scripts/lora_console.py | 195 ---- 0x001aa_cb/scripts/patch_binary.py | 109 -- 0x001aa_cb/scripts/uf2conv.py | 861 ---------------- 0x001aa_cb/scripts/uf2families.json | 22 - 0x001aa_cb/src/crypto.c | 27 - 0x001aa_cb/src/dht11.c | 148 --- 0x001aa_cb/src/gpio_ctrl.c | 78 -- 0x001aa_cb/src/logic.c | 194 ---- 0x001aa_cb/src/lora.c | 151 --- 0x001aa_cb/src/main.c | 45 - 0x001d_static-conditionals/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - 0x001d_static-conditionals/.vscode/tasks.json | 102 -- .../0x001d_static-conditionals.c | 39 - 0x001d_static-conditionals/CMakeLists.txt | 59 -- .../pico_sdk_import.cmake | 121 --- 0x001d_static-conditionals/servo.c | 89 -- 0x001d_static-conditionals/servo.h | 62 -- 0x001da_cb/0x001da_cb.bin | Bin 31072 -> 0 bytes 0x001da_cb/0x001da_cb.uf2 | Bin 62976 -> 0 bytes 0x001da_cb/CLASSIFIED-BRIEF-0x04.md | 162 --- 0x001da_cb/CLASSIFIED-BRIEF-0x04.pdf | Bin 198934 -> 0 bytes 0x001da_cb/CMakeLists.txt | 83 -- 0x001da_cb/include/pwm_ctrl.h | 34 - 0x001da_cb/include/state_machine.h | 27 - 0x001da_cb/pico_sdk_import.cmake | 121 --- 0x001da_cb/src/main.c | 28 - 0x001da_cb/src/pwm_ctrl.c | 36 - 0x001da_cb/src/state_machine.c | 26 - 0x0020_dynamic-conditionals/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - .../.vscode/cmake-kits.json | 15 - .../.vscode/extensions.json | 9 - .../.vscode/launch.json | 50 - .../.vscode/settings.json | 40 - .../.vscode/tasks.json | 102 -- .../0x0020_dynamic-conditionals.c | 44 - 0x0020_dynamic-conditionals/CMakeLists.txt | 59 -- .../pico_sdk_import.cmake | 121 --- 0x0020_dynamic-conditionals/servo.c | 89 -- 0x0020_dynamic-conditionals/servo.h | 62 -- 0x0020a_cb/0x0020a_cb.bin | Bin 31276 -> 0 bytes 0x0020a_cb/0x0020a_cb.uf2 | Bin 63488 -> 0 bytes 0x0020a_cb/CLASSIFIED-BRIEF-0x05.md | 155 --- 0x0020a_cb/CLASSIFIED-BRIEF-0x05.pdf | Bin 197282 -> 0 bytes 0x0020a_cb/CMakeLists.txt | 83 -- 0x0020a_cb/include/dazzler.h | 34 - 0x0020a_cb/include/ir_rx.h | 21 - 0x0020a_cb/pico_sdk_import.cmake | 121 --- 0x0020a_cb/src/dazzler.c | 82 -- 0x0020a_cb/src/ir_rx.c | 16 - 0x0020a_cb/src/main.c | 27 - 0x0023_structures/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - 0x0023_structures/.vscode/cmake-kits.json | 15 - 0x0023_structures/.vscode/extensions.json | 9 - 0x0023_structures/.vscode/launch.json | 50 - 0x0023_structures/.vscode/settings.json | 40 - 0x0023_structures/.vscode/tasks.json | 102 -- 0x0023_structures/0x0023_structures.c | 61 -- 0x0023_structures/CMakeLists.txt | 57 -- 0x0023_structures/ir.c | 80 -- 0x0023_structures/ir.h | 63 -- 0x0023_structures/pico_sdk_import.cmake | 121 --- 0x0026_functions/.gitignore | 2 - .../.vscode/c_cpp_properties.json | 22 - 0x0026_functions/.vscode/cmake-kits.json | 15 - 0x0026_functions/.vscode/extensions.json | 9 - 0x0026_functions/.vscode/launch.json | 50 - 0x0026_functions/.vscode/settings.json | 40 - 0x0026_functions/.vscode/tasks.json | 102 -- 0x0026_functions/0x0026_functions.c | 149 --- 0x0026_functions/CMakeLists.txt | 57 -- 0x0026_functions/ir.c | 80 -- 0x0026_functions/ir.h | 63 -- 0x0026_functions/pico_sdk_import.cmake | 121 --- 0x0026a_custom-bootloader/.gitignore | 2 - 0x0026a_custom-bootloader/0x0026a_app.bin | Bin 21656 -> 0 bytes .../0x0026a_bootloader.bin | Bin 27772 -> 0 bytes .../0x0026a_bootloader.uf2 | Bin 56320 -> 0 bytes 0x0026a_custom-bootloader/0x0026a_full.uf2 | Bin 306176 -> 0 bytes 0x0026a_custom-bootloader/CMakeLists.txt | 90 -- 0x0026a_custom-bootloader/README.md | 69 -- 0x0026a_custom-bootloader/app/include/ir.h | 63 -- 0x0026a_custom-bootloader/app/include/led.h | 63 -- .../app/include/secret.h | 29 - 0x0026a_custom-bootloader/app/memmap_app.ld | 305 ------ 0x0026a_custom-bootloader/app/src/app_main.c | 54 - 0x0026a_custom-bootloader/app/src/ir.c | 131 --- 0x0026a_custom-bootloader/app/src/led.c | 103 -- 0x0026a_custom-bootloader/app/src/secret.c | 88 -- .../bootloader/include/aes_cmac.h | 40 - .../bootloader/include/boot.h | 45 - .../bootloader/include/flash_layout.h | 31 - .../bootloader/include/image.h | 23 - .../bootloader/include/manifest.h | 51 - .../bootloader/include/verify.h | 32 - .../bootloader/src/aes_cmac.c | 29 - .../bootloader/src/boot.c | 33 - .../bootloader/src/image.c | 33 - .../bootloader/src/main.c | 34 - .../bootloader/src/manifest.c | 23 - .../bootloader/src/verify.c | 28 - .../common/include/mbedtls_config.h | 25 - 0x0026a_custom-bootloader/manifest.bin | Bin 4096 -> 0 bytes .../pico_sdk_import.cmake | 121 --- .../tools/make_full_uf2.py | 118 --- .../tools/sign_firmware.py | 242 ----- README.md | 72 +- flash.ps1 | 2 +- flash.sh | 2 +- 408 files changed, 38 insertions(+), 31034 deletions(-) delete mode 100644 0x0001_hello-world/.gitignore delete mode 100644 0x0001_hello-world/.vscode/c_cpp_properties.json delete mode 100644 0x0001_hello-world/.vscode/cmake-kits.json delete mode 100644 0x0001_hello-world/.vscode/extensions.json delete mode 100644 0x0001_hello-world/.vscode/launch.json delete mode 100644 0x0001_hello-world/.vscode/settings.json delete mode 100644 0x0001_hello-world/.vscode/tasks.json delete mode 100644 0x0001_hello-world/0x0001_hello-world.c delete mode 100644 0x0001_hello-world/CMakeLists.txt delete mode 100644 0x0001_hello-world/pico_sdk_import.cmake delete mode 100644 0x0001a_stack/.gitignore delete mode 100644 0x0001a_stack/.vscode/c_cpp_properties.json delete mode 100644 0x0001a_stack/.vscode/cmake-kits.json delete mode 100644 0x0001a_stack/.vscode/extensions.json delete mode 100644 0x0001a_stack/.vscode/launch.json delete mode 100644 0x0001a_stack/.vscode/settings.json delete mode 100644 0x0001a_stack/.vscode/tasks.json delete mode 100644 0x0001a_stack/0x0001a_stack.c delete mode 100644 0x0001a_stack/CMakeLists.txt delete mode 100644 0x0001a_stack/pico_sdk_import.cmake delete mode 100644 0x0001b_ctf/.gitignore delete mode 100644 0x0001b_ctf/.vscode/c_cpp_properties.json delete mode 100644 0x0001b_ctf/.vscode/cmake-kits.json delete mode 100644 0x0001b_ctf/.vscode/extensions.json delete mode 100644 0x0001b_ctf/.vscode/launch.json delete mode 100644 0x0001b_ctf/.vscode/settings.json delete mode 100644 0x0001b_ctf/.vscode/tasks.json delete mode 100644 0x0001b_ctf/CMakeLists.txt delete mode 100644 0x0001b_ctf/CTF-01-I.md delete mode 100644 0x0001b_ctf/CTF-01-I.pdf delete mode 100644 0x0001b_ctf/CTF-01-R.md delete mode 100644 0x0001b_ctf/CTF-01-R.pdf delete mode 100644 0x0001b_ctf/CTF-01-S.md delete mode 100644 0x0001b_ctf/CTF-01-S.pdf delete mode 100644 0x0001b_ctf/CTF-01.bin delete mode 100644 0x0001b_ctf/CTF-01.uf2 delete mode 100644 0x0001b_ctf/CTF-01_fixed.bin delete mode 100644 0x0001b_ctf/CTF-01_fixed.uf2 delete mode 100644 0x0001b_ctf/include/console.h delete mode 100644 0x0001b_ctf/include/grid.h delete mode 100644 0x0001b_ctf/pico_sdk_import.cmake delete mode 100644 0x0001b_ctf/scripts/verify_ctf.py delete mode 100644 0x0001b_ctf/src/console.c delete mode 100644 0x0001b_ctf/src/grid.c delete mode 100644 0x0001b_ctf/src/main.c delete mode 100644 0x0001b_ctf/uf2families.json delete mode 100644 0x0005_intro-to-variables/.gitignore delete mode 100644 0x0005_intro-to-variables/.vscode/c_cpp_properties.json delete mode 100644 0x0005_intro-to-variables/.vscode/cmake-kits.json delete mode 100644 0x0005_intro-to-variables/.vscode/extensions.json delete mode 100644 0x0005_intro-to-variables/.vscode/launch.json delete mode 100644 0x0005_intro-to-variables/.vscode/settings.json delete mode 100644 0x0005_intro-to-variables/.vscode/tasks.json delete mode 100644 0x0005_intro-to-variables/0x0005_intro-to-variables.c delete mode 100644 0x0005_intro-to-variables/CMakeLists.txt delete mode 100644 0x0005_intro-to-variables/pico_sdk_import.cmake delete mode 100644 0x0008_uninitialized-variables-a/.gitignore delete mode 100644 0x0008_uninitialized-variables-a/.vscode/c_cpp_properties.json delete mode 100644 0x0008_uninitialized-variables-a/.vscode/cmake-kits.json delete mode 100644 0x0008_uninitialized-variables-a/.vscode/extensions.json delete mode 100644 0x0008_uninitialized-variables-a/.vscode/launch.json delete mode 100644 0x0008_uninitialized-variables-a/.vscode/settings.json delete mode 100644 0x0008_uninitialized-variables-a/.vscode/tasks.json delete mode 100644 0x0008_uninitialized-variables-a/0x0008_uninitialized-variables-a.c delete mode 100644 0x0008_uninitialized-variables-a/CMakeLists.txt delete mode 100644 0x0008_uninitialized-variables-a/pico_sdk_import.cmake delete mode 100644 0x0008_uninitialized-variables-b/.gitignore delete mode 100644 0x0008_uninitialized-variables-b/.vscode/c_cpp_properties.json delete mode 100644 0x0008_uninitialized-variables-b/.vscode/cmake-kits.json delete mode 100644 0x0008_uninitialized-variables-b/.vscode/extensions.json delete mode 100644 0x0008_uninitialized-variables-b/.vscode/launch.json delete mode 100644 0x0008_uninitialized-variables-b/.vscode/settings.json delete mode 100644 0x0008_uninitialized-variables-b/.vscode/tasks.json delete mode 100644 0x0008_uninitialized-variables-b/0x0008_uninitialized-variables-b.c delete mode 100644 0x0008_uninitialized-variables-b/CMakeLists.txt delete mode 100644 0x0008_uninitialized-variables-b/pico_sdk_import.cmake delete mode 100644 0x0008_uninitialized-variables-c/.gitignore delete mode 100644 0x0008_uninitialized-variables-c/.vscode/c_cpp_properties.json delete mode 100644 0x0008_uninitialized-variables-c/.vscode/cmake-kits.json delete mode 100644 0x0008_uninitialized-variables-c/.vscode/extensions.json delete mode 100644 0x0008_uninitialized-variables-c/.vscode/launch.json delete mode 100644 0x0008_uninitialized-variables-c/.vscode/settings.json delete mode 100644 0x0008_uninitialized-variables-c/.vscode/tasks.json delete mode 100644 0x0008_uninitialized-variables-c/0x0008_uninitialized-variables-c.c delete mode 100644 0x0008_uninitialized-variables-c/CMakeLists.txt delete mode 100644 0x0008_uninitialized-variables-c/pico_sdk_import.cmake delete mode 100644 0x0008_uninitialized-variables-d/.gitignore delete mode 100644 0x0008_uninitialized-variables-d/.vscode/c_cpp_properties.json delete mode 100644 0x0008_uninitialized-variables-d/.vscode/cmake-kits.json delete mode 100644 0x0008_uninitialized-variables-d/.vscode/extensions.json delete mode 100644 0x0008_uninitialized-variables-d/.vscode/launch.json delete mode 100644 0x0008_uninitialized-variables-d/.vscode/settings.json delete mode 100644 0x0008_uninitialized-variables-d/.vscode/tasks.json delete mode 100644 0x0008_uninitialized-variables-d/0x0008_uninitialized-variables-d.c delete mode 100644 0x0008_uninitialized-variables-d/CMakeLists.txt delete mode 100644 0x0008_uninitialized-variables-d/pico_sdk_import.cmake delete mode 100644 0x0008_uninitialized-variables-e/.gitignore delete mode 100644 0x0008_uninitialized-variables-e/.vscode/c_cpp_properties.json delete mode 100644 0x0008_uninitialized-variables-e/.vscode/cmake-kits.json delete mode 100644 0x0008_uninitialized-variables-e/.vscode/extensions.json delete mode 100644 0x0008_uninitialized-variables-e/.vscode/launch.json delete mode 100644 0x0008_uninitialized-variables-e/.vscode/settings.json delete mode 100644 0x0008_uninitialized-variables-e/.vscode/tasks.json delete mode 100644 0x0008_uninitialized-variables-e/0x0008_uninitialized-variables-e.c delete mode 100644 0x0008_uninitialized-variables-e/CMakeLists.txt delete mode 100644 0x0008_uninitialized-variables-e/pico_sdk_import.cmake delete mode 100644 0x0008_uninitialized-variables/.gitignore delete mode 100644 0x0008_uninitialized-variables/.vscode/c_cpp_properties.json delete mode 100644 0x0008_uninitialized-variables/.vscode/cmake-kits.json delete mode 100644 0x0008_uninitialized-variables/.vscode/extensions.json delete mode 100644 0x0008_uninitialized-variables/.vscode/launch.json delete mode 100644 0x0008_uninitialized-variables/.vscode/settings.json delete mode 100644 0x0008_uninitialized-variables/.vscode/tasks.json delete mode 100644 0x0008_uninitialized-variables/0x0008_uninitialized-variables.c delete mode 100644 0x0008_uninitialized-variables/CMakeLists.txt delete mode 100644 0x0008_uninitialized-variables/pico_sdk_import.cmake delete mode 100644 0x000b_integer-data-type/.gitignore delete mode 100644 0x000b_integer-data-type/.vscode/c_cpp_properties.json delete mode 100644 0x000b_integer-data-type/.vscode/cmake-kits.json delete mode 100644 0x000b_integer-data-type/.vscode/extensions.json delete mode 100644 0x000b_integer-data-type/.vscode/launch.json delete mode 100644 0x000b_integer-data-type/.vscode/settings.json delete mode 100644 0x000b_integer-data-type/.vscode/tasks.json delete mode 100644 0x000b_integer-data-type/0x000b_integer-data-type.c delete mode 100644 0x000b_integer-data-type/CMakeLists.txt delete mode 100644 0x000b_integer-data-type/pico_sdk_import.cmake delete mode 100644 0x000e_floating-point-data-type/.gitignore delete mode 100644 0x000e_floating-point-data-type/.vscode/c_cpp_properties.json delete mode 100644 0x000e_floating-point-data-type/.vscode/cmake-kits.json delete mode 100644 0x000e_floating-point-data-type/.vscode/extensions.json delete mode 100644 0x000e_floating-point-data-type/.vscode/launch.json delete mode 100644 0x000e_floating-point-data-type/.vscode/settings.json delete mode 100644 0x000e_floating-point-data-type/.vscode/tasks.json delete mode 100644 0x000e_floating-point-data-type/0x000e_floating-point-data-type.c delete mode 100644 0x000e_floating-point-data-type/CMakeLists.txt delete mode 100644 0x000e_floating-point-data-type/pico_sdk_import.cmake delete mode 100644 0x0011_double-floating-point-data-type/.gitignore delete mode 100644 0x0011_double-floating-point-data-type/.vscode/c_cpp_properties.json delete mode 100644 0x0011_double-floating-point-data-type/.vscode/cmake-kits.json delete mode 100644 0x0011_double-floating-point-data-type/.vscode/extensions.json delete mode 100644 0x0011_double-floating-point-data-type/.vscode/launch.json delete mode 100644 0x0011_double-floating-point-data-type/.vscode/settings.json delete mode 100644 0x0011_double-floating-point-data-type/.vscode/tasks.json delete mode 100644 0x0011_double-floating-point-data-type/0x0011_double-floating-point-data-type.c delete mode 100644 0x0011_double-floating-point-data-type/CMakeLists.txt delete mode 100644 0x0011_double-floating-point-data-type/pico_sdk_import.cmake delete mode 100644 0x0011a_cb/.gitignore delete mode 100755 0x0011a_cb/0x0011a_cb.bin delete mode 100644 0x0011a_cb/0x0011a_cb.uf2 delete mode 100644 0x0011a_cb/0x0011a_cb_patched.bin delete mode 100644 0x0011a_cb/0x0011a_cb_patched.uf2 delete mode 100644 0x0011a_cb/CLASSIFIED-BRIEF-0x01.md delete mode 100644 0x0011a_cb/CLASSIFIED-BRIEF-0x01.pdf delete mode 100644 0x0011a_cb/CMakeLists.txt delete mode 100644 0x0011a_cb/include/aes.h delete mode 100644 0x0011a_cb/include/ctf_target.h delete mode 100644 0x0011a_cb/include/gps.h delete mode 100644 0x0011a_cb/include/lcd.h delete mode 100644 0x0011a_cb/include/lora.h delete mode 100644 0x0011a_cb/include/navigation.h delete mode 100644 0x0011a_cb/include/payload.h delete mode 100644 0x0011a_cb/include/propeller.h delete mode 100644 0x0011a_cb/pico_sdk_import.cmake delete mode 100644 0x0011a_cb/scripts/decode_coordinates.py delete mode 100644 0x0011a_cb/scripts/float_hex_converter.py delete mode 100755 0x0011a_cb/scripts/lora_console.py delete mode 100644 0x0011a_cb/scripts/randomize_build.py delete mode 100644 0x0011a_cb/scripts/telemetry_monitor.py delete mode 100644 0x0011a_cb/src/aes.c delete mode 100644 0x0011a_cb/src/gps.c delete mode 100644 0x0011a_cb/src/lcd.c delete mode 100644 0x0011a_cb/src/lora.c delete mode 100644 0x0011a_cb/src/main.c delete mode 100644 0x0011a_cb/src/navigation.c delete mode 100644 0x0011a_cb/src/payload.c delete mode 100644 0x0011a_cb/src/propeller.c delete mode 100644 0x0011a_cb/src/uart_rx.pio delete mode 100644 0x0011a_cb/uf2families.json delete mode 100644 0x0014_static-variables/.gitignore delete mode 100644 0x0014_static-variables/.vscode/c_cpp_properties.json delete mode 100644 0x0014_static-variables/.vscode/cmake-kits.json delete mode 100644 0x0014_static-variables/.vscode/extensions.json delete mode 100644 0x0014_static-variables/.vscode/launch.json delete mode 100644 0x0014_static-variables/.vscode/settings.json delete mode 100644 0x0014_static-variables/.vscode/tasks.json delete mode 100644 0x0014_static-variables/0x0014_static-variables.c delete mode 100644 0x0014_static-variables/CMakeLists.txt delete mode 100644 0x0014_static-variables/pico_sdk_import.cmake delete mode 100755 0x0014a_cb/0x0014a_cb.bin delete mode 100644 0x0014a_cb/0x0014a_cb.uf2 delete mode 100644 0x0014a_cb/0x0014a_cb_patched.bin delete mode 100644 0x0014a_cb/0x0014a_cb_patched.uf2 delete mode 100644 0x0014a_cb/CLASSIFIED-BRIEF-0x02.md delete mode 100644 0x0014a_cb/CLASSIFIED-BRIEF-0x02.pdf delete mode 100644 0x0014a_cb/CMakeLists.txt delete mode 100644 0x0014a_cb/include/crypto.h delete mode 100644 0x0014a_cb/include/gpio_ctrl.h delete mode 100644 0x0014a_cb/include/lora.h delete mode 100644 0x0014a_cb/include/safe_arm.h delete mode 100644 0x0014a_cb/pico_sdk_import.cmake delete mode 100755 0x0014a_cb/scripts/lora_console.py delete mode 100755 0x0014a_cb/scripts/patch_binary.py delete mode 100644 0x0014a_cb/scripts/uf2conv.py delete mode 100644 0x0014a_cb/scripts/uf2families.json delete mode 100644 0x0014a_cb/src/crypto.c delete mode 100644 0x0014a_cb/src/gpio_ctrl.c delete mode 100644 0x0014a_cb/src/lora.c delete mode 100644 0x0014a_cb/src/main.c delete mode 100644 0x0014a_cb/src/safe_arm.c delete mode 100644 0x0017_constants/.gitignore delete mode 100644 0x0017_constants/.vscode/c_cpp_properties.json delete mode 100644 0x0017_constants/.vscode/cmake-kits.json delete mode 100644 0x0017_constants/.vscode/extensions.json delete mode 100644 0x0017_constants/.vscode/launch.json delete mode 100644 0x0017_constants/.vscode/settings.json delete mode 100644 0x0017_constants/.vscode/tasks.json delete mode 100644 0x0017_constants/0x0017_constants.c delete mode 100644 0x0017_constants/CMakeLists.txt delete mode 100644 0x0017_constants/lcd_1602.c delete mode 100644 0x0017_constants/lcd_1602.h delete mode 100644 0x0017_constants/pico_sdk_import.cmake delete mode 100644 0x0017a_ctf/.gitignore delete mode 100644 0x0017a_ctf/.vscode/c_cpp_properties.json delete mode 100644 0x0017a_ctf/.vscode/cmake-kits.json delete mode 100644 0x0017a_ctf/.vscode/extensions.json delete mode 100644 0x0017a_ctf/.vscode/launch.json delete mode 100644 0x0017a_ctf/.vscode/settings.json delete mode 100644 0x0017a_ctf/.vscode/tasks.json delete mode 100644 0x0017a_ctf/CMakeLists.txt delete mode 100644 0x0017a_ctf/CTF-02-I.md delete mode 100644 0x0017a_ctf/CTF-02-I.pdf delete mode 100644 0x0017a_ctf/CTF-02-R.md delete mode 100644 0x0017a_ctf/CTF-02-R.pdf delete mode 100644 0x0017a_ctf/CTF-02-S.md delete mode 100644 0x0017a_ctf/CTF-02-S.pdf delete mode 100644 0x0017a_ctf/CTF-02.bin delete mode 100644 0x0017a_ctf/CTF-02.uf2 delete mode 100644 0x0017a_ctf/CTF-02_fixed.bin delete mode 100644 0x0017a_ctf/CTF-02_fixed.uf2 delete mode 100644 0x0017a_ctf/include/auth.h delete mode 100644 0x0017a_ctf/include/cli.h delete mode 100644 0x0017a_ctf/include/demo_artifact.h delete mode 100644 0x0017a_ctf/include/mbedtls_config.h delete mode 100644 0x0017a_ctf/pico_sdk_import.cmake delete mode 100644 0x0017a_ctf/scripts/dec.py delete mode 100644 0x0017a_ctf/scripts/demo_artifact.json delete mode 100644 0x0017a_ctf/scripts/verify_ctf.py delete mode 100644 0x0017a_ctf/src/auth.c delete mode 100644 0x0017a_ctf/src/cli.c delete mode 100644 0x0017a_ctf/src/main.c delete mode 100644 0x0017a_ctf/src/mbedtls_shims.c delete mode 100644 0x0017a_ctf/third_party/argon2/include/argon2.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/argon2.c delete mode 100644 0x0017a_ctf/third_party/argon2/src/blake2/blake2-impl.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/blake2/blake2.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/blake2/blake2b.c delete mode 100644 0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-opt.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-ref.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/core.c delete mode 100644 0x0017a_ctf/third_party/argon2/src/core.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/encoding.c delete mode 100644 0x0017a_ctf/third_party/argon2/src/encoding.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/genkat.h delete mode 100644 0x0017a_ctf/third_party/argon2/src/ref.c delete mode 100644 0x0017a_ctf/third_party/argon2/src/thread.c delete mode 100644 0x0017a_ctf/third_party/argon2/src/thread.h delete mode 100644 0x0017a_ctf/uf2families.json delete mode 100644 0x001a_operators/.gitignore delete mode 100644 0x001a_operators/.vscode/c_cpp_properties.json delete mode 100644 0x001a_operators/.vscode/cmake-kits.json delete mode 100644 0x001a_operators/.vscode/extensions.json delete mode 100644 0x001a_operators/.vscode/launch.json delete mode 100644 0x001a_operators/.vscode/settings.json delete mode 100644 0x001a_operators/.vscode/tasks.json delete mode 100644 0x001a_operators/0x001a_operators.c delete mode 100644 0x001a_operators/CMakeLists.txt delete mode 100644 0x001a_operators/dht11.c delete mode 100644 0x001a_operators/dht11.h delete mode 100644 0x001a_operators/hack-temp.py delete mode 100644 0x001a_operators/pico_sdk_import.cmake delete mode 100755 0x001aa_cb/0x001aa_cb.bin delete mode 100644 0x001aa_cb/0x001aa_cb.uf2 delete mode 100644 0x001aa_cb/0x001aa_cb_patched.bin delete mode 100644 0x001aa_cb/0x001aa_cb_patched.uf2 delete mode 100644 0x001aa_cb/CLASSIFIED-BRIEF-0x03.md delete mode 100644 0x001aa_cb/CLASSIFIED-BRIEF-0x03.pdf delete mode 100644 0x001aa_cb/CMakeLists.txt delete mode 100644 0x001aa_cb/include/crypto.h delete mode 100644 0x001aa_cb/include/dht11.h delete mode 100644 0x001aa_cb/include/gpio_ctrl.h delete mode 100644 0x001aa_cb/include/logic.h delete mode 100644 0x001aa_cb/include/lora.h delete mode 100644 0x001aa_cb/pico_sdk_import.cmake delete mode 100755 0x001aa_cb/scripts/lora_console.py delete mode 100644 0x001aa_cb/scripts/patch_binary.py delete mode 100644 0x001aa_cb/scripts/uf2conv.py delete mode 100644 0x001aa_cb/scripts/uf2families.json delete mode 100644 0x001aa_cb/src/crypto.c delete mode 100644 0x001aa_cb/src/dht11.c delete mode 100644 0x001aa_cb/src/gpio_ctrl.c delete mode 100644 0x001aa_cb/src/logic.c delete mode 100644 0x001aa_cb/src/lora.c delete mode 100644 0x001aa_cb/src/main.c delete mode 100644 0x001d_static-conditionals/.gitignore delete mode 100644 0x001d_static-conditionals/.vscode/c_cpp_properties.json delete mode 100644 0x001d_static-conditionals/.vscode/cmake-kits.json delete mode 100644 0x001d_static-conditionals/.vscode/extensions.json delete mode 100644 0x001d_static-conditionals/.vscode/launch.json delete mode 100644 0x001d_static-conditionals/.vscode/settings.json delete mode 100644 0x001d_static-conditionals/.vscode/tasks.json delete mode 100644 0x001d_static-conditionals/0x001d_static-conditionals.c delete mode 100644 0x001d_static-conditionals/CMakeLists.txt delete mode 100644 0x001d_static-conditionals/pico_sdk_import.cmake delete mode 100644 0x001d_static-conditionals/servo.c delete mode 100644 0x001d_static-conditionals/servo.h delete mode 100755 0x001da_cb/0x001da_cb.bin delete mode 100644 0x001da_cb/0x001da_cb.uf2 delete mode 100644 0x001da_cb/CLASSIFIED-BRIEF-0x04.md delete mode 100644 0x001da_cb/CLASSIFIED-BRIEF-0x04.pdf delete mode 100644 0x001da_cb/CMakeLists.txt delete mode 100644 0x001da_cb/include/pwm_ctrl.h delete mode 100644 0x001da_cb/include/state_machine.h delete mode 100644 0x001da_cb/pico_sdk_import.cmake delete mode 100644 0x001da_cb/src/main.c delete mode 100644 0x001da_cb/src/pwm_ctrl.c delete mode 100644 0x001da_cb/src/state_machine.c delete mode 100644 0x0020_dynamic-conditionals/.gitignore delete mode 100644 0x0020_dynamic-conditionals/.vscode/c_cpp_properties.json delete mode 100644 0x0020_dynamic-conditionals/.vscode/cmake-kits.json delete mode 100644 0x0020_dynamic-conditionals/.vscode/extensions.json delete mode 100644 0x0020_dynamic-conditionals/.vscode/launch.json delete mode 100644 0x0020_dynamic-conditionals/.vscode/settings.json delete mode 100644 0x0020_dynamic-conditionals/.vscode/tasks.json delete mode 100644 0x0020_dynamic-conditionals/0x0020_dynamic-conditionals.c delete mode 100644 0x0020_dynamic-conditionals/CMakeLists.txt delete mode 100644 0x0020_dynamic-conditionals/pico_sdk_import.cmake delete mode 100644 0x0020_dynamic-conditionals/servo.c delete mode 100644 0x0020_dynamic-conditionals/servo.h delete mode 100755 0x0020a_cb/0x0020a_cb.bin delete mode 100644 0x0020a_cb/0x0020a_cb.uf2 delete mode 100644 0x0020a_cb/CLASSIFIED-BRIEF-0x05.md delete mode 100644 0x0020a_cb/CLASSIFIED-BRIEF-0x05.pdf delete mode 100644 0x0020a_cb/CMakeLists.txt delete mode 100644 0x0020a_cb/include/dazzler.h delete mode 100644 0x0020a_cb/include/ir_rx.h delete mode 100644 0x0020a_cb/pico_sdk_import.cmake delete mode 100644 0x0020a_cb/src/dazzler.c delete mode 100644 0x0020a_cb/src/ir_rx.c delete mode 100644 0x0020a_cb/src/main.c delete mode 100644 0x0023_structures/.gitignore delete mode 100644 0x0023_structures/.vscode/c_cpp_properties.json delete mode 100644 0x0023_structures/.vscode/cmake-kits.json delete mode 100644 0x0023_structures/.vscode/extensions.json delete mode 100644 0x0023_structures/.vscode/launch.json delete mode 100644 0x0023_structures/.vscode/settings.json delete mode 100644 0x0023_structures/.vscode/tasks.json delete mode 100644 0x0023_structures/0x0023_structures.c delete mode 100644 0x0023_structures/CMakeLists.txt delete mode 100644 0x0023_structures/ir.c delete mode 100644 0x0023_structures/ir.h delete mode 100644 0x0023_structures/pico_sdk_import.cmake delete mode 100644 0x0026_functions/.gitignore delete mode 100644 0x0026_functions/.vscode/c_cpp_properties.json delete mode 100644 0x0026_functions/.vscode/cmake-kits.json delete mode 100644 0x0026_functions/.vscode/extensions.json delete mode 100644 0x0026_functions/.vscode/launch.json delete mode 100644 0x0026_functions/.vscode/settings.json delete mode 100644 0x0026_functions/.vscode/tasks.json delete mode 100644 0x0026_functions/0x0026_functions.c delete mode 100644 0x0026_functions/CMakeLists.txt delete mode 100644 0x0026_functions/ir.c delete mode 100644 0x0026_functions/ir.h delete mode 100644 0x0026_functions/pico_sdk_import.cmake delete mode 100644 0x0026a_custom-bootloader/.gitignore delete mode 100755 0x0026a_custom-bootloader/0x0026a_app.bin delete mode 100755 0x0026a_custom-bootloader/0x0026a_bootloader.bin delete mode 100644 0x0026a_custom-bootloader/0x0026a_bootloader.uf2 delete mode 100644 0x0026a_custom-bootloader/0x0026a_full.uf2 delete mode 100644 0x0026a_custom-bootloader/CMakeLists.txt delete mode 100644 0x0026a_custom-bootloader/README.md delete mode 100644 0x0026a_custom-bootloader/app/include/ir.h delete mode 100644 0x0026a_custom-bootloader/app/include/led.h delete mode 100644 0x0026a_custom-bootloader/app/include/secret.h delete mode 100644 0x0026a_custom-bootloader/app/memmap_app.ld delete mode 100644 0x0026a_custom-bootloader/app/src/app_main.c delete mode 100644 0x0026a_custom-bootloader/app/src/ir.c delete mode 100644 0x0026a_custom-bootloader/app/src/led.c delete mode 100644 0x0026a_custom-bootloader/app/src/secret.c delete mode 100644 0x0026a_custom-bootloader/bootloader/include/aes_cmac.h delete mode 100644 0x0026a_custom-bootloader/bootloader/include/boot.h delete mode 100644 0x0026a_custom-bootloader/bootloader/include/flash_layout.h delete mode 100644 0x0026a_custom-bootloader/bootloader/include/image.h delete mode 100644 0x0026a_custom-bootloader/bootloader/include/manifest.h delete mode 100644 0x0026a_custom-bootloader/bootloader/include/verify.h delete mode 100644 0x0026a_custom-bootloader/bootloader/src/aes_cmac.c delete mode 100644 0x0026a_custom-bootloader/bootloader/src/boot.c delete mode 100644 0x0026a_custom-bootloader/bootloader/src/image.c delete mode 100644 0x0026a_custom-bootloader/bootloader/src/main.c delete mode 100644 0x0026a_custom-bootloader/bootloader/src/manifest.c delete mode 100644 0x0026a_custom-bootloader/bootloader/src/verify.c delete mode 100644 0x0026a_custom-bootloader/common/include/mbedtls_config.h delete mode 100644 0x0026a_custom-bootloader/manifest.bin delete mode 100644 0x0026a_custom-bootloader/pico_sdk_import.cmake delete mode 100755 0x0026a_custom-bootloader/tools/make_full_uf2.py delete mode 100644 0x0026a_custom-bootloader/tools/sign_firmware.py diff --git a/0x0001_hello-world/.gitignore b/0x0001_hello-world/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0001_hello-world/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0001_hello-world/.vscode/c_cpp_properties.json b/0x0001_hello-world/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x0001_hello-world/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0001_hello-world/.vscode/cmake-kits.json b/0x0001_hello-world/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0001_hello-world/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0001_hello-world/.vscode/extensions.json b/0x0001_hello-world/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0001_hello-world/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0001_hello-world/.vscode/launch.json b/0x0001_hello-world/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0001_hello-world/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0001_hello-world/.vscode/settings.json b/0x0001_hello-world/.vscode/settings.json deleted file mode 100644 index 688748a..0000000 --- a/0x0001_hello-world/.vscode/settings.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja", - "files.associations": { - "stdlib.h": "c" - } -} diff --git a/0x0001_hello-world/.vscode/tasks.json b/0x0001_hello-world/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0001_hello-world/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0001_hello-world/0x0001_hello-world.c b/0x0001_hello-world/0x0001_hello-world.c deleted file mode 100644 index 096aba7..0000000 --- a/0x0001_hello-world/0x0001_hello-world.c +++ /dev/null @@ -1,9 +0,0 @@ -#include -#include "pico/stdlib.h" - -int main(void) { - stdio_init_all(); - - while (true) - printf("hello, world\r\n"); -} diff --git a/0x0001_hello-world/CMakeLists.txt b/0x0001_hello-world/CMakeLists.txt deleted file mode 100644 index 31d8fc5..0000000 --- a/0x0001_hello-world/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0001_hello-world C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0001_hello-world 0x0001_hello-world.c ) - -pico_set_program_name(0x0001_hello-world "0x0001_hello-world") -pico_set_program_version(0x0001_hello-world "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0001_hello-world 1) -pico_enable_stdio_usb(0x0001_hello-world 0) - -# Add the standard library to the build -target_link_libraries(0x0001_hello-world - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0001_hello-world PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0001_hello-world) - diff --git a/0x0001_hello-world/pico_sdk_import.cmake b/0x0001_hello-world/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0001_hello-world/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0001a_stack/.gitignore b/0x0001a_stack/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0001a_stack/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0001a_stack/.vscode/c_cpp_properties.json b/0x0001a_stack/.vscode/c_cpp_properties.json deleted file mode 100644 index 5a108f1..0000000 --- a/0x0001a_stack/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.3.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.3.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/15_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0001a_stack/.vscode/cmake-kits.json b/0x0001a_stack/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0001a_stack/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0001a_stack/.vscode/extensions.json b/0x0001a_stack/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0001a_stack/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0001a_stack/.vscode/launch.json b/0x0001a_stack/.vscode/launch.json deleted file mode 100644 index 7078fb1..0000000 --- a/0x0001a_stack/.vscode/launch.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "debuggerArgs": ["-ex", "set debug-file-directory /debug"], - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.3.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "debuggerArgs": ["-ex", "set debug-file-directory /debug"], - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.3.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - } - ] -} diff --git a/0x0001a_stack/.vscode/settings.json b/0x0001a_stack/.vscode/settings.json deleted file mode 100644 index ecbf7dc..0000000 --- a/0x0001a_stack/.vscode/settings.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - }, - "variant": { - "statusBarVisibility": "hidden" - }, - "buildTarget": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v4.3.4/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.3.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/15_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/15_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.3.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v4.3.4/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.13.2;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.3.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.3.0/picotool:${env:HOME}/.pico-sdk/cmake/v4.3.4/bin:${env:HOME}/.pico-sdk/ninja/v1.13.2:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.3.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.3.0/picotool:${env:HOME}/.pico-sdk/cmake/v4.3.4/bin:${env:HOME}/.pico-sdk/ninja/v1.13.2:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v4.3.4/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.13.2/ninja" -} diff --git a/0x0001a_stack/.vscode/tasks.json b/0x0001a_stack/.vscode/tasks.json deleted file mode 100644 index 60f30f6..0000000 --- a/0x0001a_stack/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.13.2/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.13.2/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.3.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.3.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - } - ] -} diff --git a/0x0001a_stack/0x0001a_stack.c b/0x0001a_stack/0x0001a_stack.c deleted file mode 100644 index 5e1945d..0000000 --- a/0x0001a_stack/0x0001a_stack.c +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include "pico/stdlib.h" - - -int main() -{ - stdio_init_all(); - - while (true) { - __asm volatile( - // Save a low register and the link register. - "push {r4, lr}\n" - // Intentionally unordered: the encoded list is still r2, r3, r6. - "push {r3, r2, r6}\n" - // Thumb PUSH cannot encode high registers r8-r12. - "stmdb sp!, {r9, r10}\n" - // Restore each group in reverse order to return SP to its start. - "ldmia sp!, {r9, r10}\n" - "pop {r2, r3, r6}\n" - "pop {r4, lr}\n" - ::: "memory"); - } -} diff --git a/0x0001a_stack/CMakeLists.txt b/0x0001a_stack/CMakeLists.txt deleted file mode 100644 index c1b84e7..0000000 --- a/0x0001a_stack/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.3.0) -set(toolchainVersion 15_2_Rel1) -set(picotoolVersion 2.3.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0001a_stack C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0001a_stack 0x0001a_stack.c ) - -pico_set_program_name(0x0001a_stack "0x0001a_stack") -pico_set_program_version(0x0001a_stack "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0001a_stack 1) -pico_enable_stdio_usb(0x0001a_stack 0) - -# Add the standard library to the build -target_link_libraries(0x0001a_stack - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0001a_stack PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0001a_stack) - diff --git a/0x0001a_stack/pico_sdk_import.cmake b/0x0001a_stack/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0001a_stack/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0001b_ctf/.gitignore b/0x0001b_ctf/.gitignore deleted file mode 100644 index 97b60a5..0000000 --- a/0x0001b_ctf/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -build -!.vscode/* -!build-ctf/0x0001b_ctf.bin -!CTF-01.bin diff --git a/0x0001b_ctf/.vscode/c_cpp_properties.json b/0x0001b_ctf/.vscode/c_cpp_properties.json deleted file mode 100644 index 613c996..0000000 --- a/0x0001b_ctf/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.3.1/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.3.1/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/15_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0001b_ctf/.vscode/cmake-kits.json b/0x0001b_ctf/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0001b_ctf/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0001b_ctf/.vscode/extensions.json b/0x0001b_ctf/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0001b_ctf/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0001b_ctf/.vscode/launch.json b/0x0001b_ctf/.vscode/launch.json deleted file mode 100644 index 451b846..0000000 --- a/0x0001b_ctf/.vscode/launch.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "debuggerArgs": ["-ex", "set debug-file-directory /debug"], - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.3.1/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "debuggerArgs": ["-ex", "set debug-file-directory /debug"], - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.3.1/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - } - ] -} diff --git a/0x0001b_ctf/.vscode/settings.json b/0x0001b_ctf/.vscode/settings.json deleted file mode 100644 index 5b883ba..0000000 --- a/0x0001b_ctf/.vscode/settings.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - }, - "variant": { - "statusBarVisibility": "hidden" - }, - "buildTarget": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v4.3.4/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.3.1", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/15_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/15_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.3.1/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v4.3.4/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.13.2;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.3.1", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.3.1/picotool:${env:HOME}/.pico-sdk/cmake/v4.3.4/bin:${env:HOME}/.pico-sdk/ninja/v1.13.2:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.3.1", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.3.1/picotool:${env:HOME}/.pico-sdk/cmake/v4.3.4/bin:${env:HOME}/.pico-sdk/ninja/v1.13.2:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v4.3.4/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.13.2/ninja" -} diff --git a/0x0001b_ctf/.vscode/tasks.json b/0x0001b_ctf/.vscode/tasks.json deleted file mode 100644 index 2f07d94..0000000 --- a/0x0001b_ctf/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.13.2/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.13.2/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.3.1/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.3.1/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - } - ] -} diff --git a/0x0001b_ctf/CMakeLists.txt b/0x0001b_ctf/CMakeLists.txt deleted file mode 100644 index cd4bff3..0000000 --- a/0x0001b_ctf/CMakeLists.txt +++ /dev/null @@ -1,91 +0,0 @@ -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: CMakeLists.txt -# Desc: Configures the RP2350 Pico SDK project for the Operation Black Start -# CTF relay firmware. -# Created: 2026 - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.3.1) -set(toolchainVersion 15_2_Rel1) -set(picotoolVersion 2.3.1) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0001b_ctf C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable with modular sources in src/ -add_executable(0x0001b_ctf - src/main.c - src/grid.c - src/console.c -) - -pico_set_program_name(0x0001b_ctf "0x0001b_ctf") -pico_set_program_version(0x0001b_ctf "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0001b_ctf 1) -pico_enable_stdio_usb(0x0001b_ctf 0) -target_compile_definitions(0x0001b_ctf PRIVATE - PICO_DEFAULT_UART_BAUD_RATE=115200 -) - -# Add the standard library to the build -target_link_libraries(0x0001b_ctf - pico_stdlib -) - -# Add the standard include files to the build -target_include_directories(0x0001b_ctf PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/include -) - -pico_add_extra_outputs(0x0001b_ctf) diff --git a/0x0001b_ctf/CTF-01-I.md b/0x0001b_ctf/CTF-01-I.md deleted file mode 100644 index dbda501..0000000 --- a/0x0001b_ctf/CTF-01-I.md +++ /dev/null @@ -1,442 +0,0 @@ -# Operation Black Start - Student Instructions - -**⚠ WORLDGRID EMERGENCY INCIDENT ⚠** - -``` -+----------------------------------------------------------------------------------------+ -| | -| ██████╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗████████╗ █████╗ ██████╗ ████████╗ | -| ██╔══██╗██║ ██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝ | -| ██████╔╝██║ ███████║██║ █████╔╝ ███████╗ ██║ ███████║██████╔╝ ██║ | -| ██╔══██╗██║ ██╔══██║██║ ██╔═██╗ ╚════██║ ██║ ██╔══██║██╔══██╗ ██║ | -| ██████╔╝███████╗██║ ██║╚██████╗██║ ██╗███████╗ ██║ ██║ ██║██║ ██║ ██║ | -| ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝██║ ██║╚══════╝ ╚═╝ ╚═╝ ╚═╝██║ ██║ ██║ | -| | -| | -| O P E R A T I O N B L A C K S T A R T | -| | -| *** PRIORITY RED *** | -| | -+----------------------------------------------------------------------------------------+ -``` - ---- - -## Project Overview - -WorldGrid Compact's emergency firmware build for its GRID-7 relay fleet -shipped a miscompiled safety threshold and a hardcoded false status string, -so deployed relays report a false-safe "STABLE" status while the frozen -frequency deviation reading of 0.87 Hz is nearly 50% beyond the 0.60 Hz -engineering limit. The source was overwritten by the next build and cannot -be recovered, so the only surviving evidence is the exact miscompiled -training image. Students reverse engineer `CTF-01.bin` with Ghidra, locate -and patch both defects directly in the binary, export a corrected image, -flash it to a Pico 2, and prove the corrected behavior with GDB and a UART -console. - ---- - -## Scenario Briefing - -### Background - -**WorldGrid Compact** is the emergency interconnection standard shared by -three allied national grid operators. When any member's primary SCADA -network goes dark, a fleet of small embedded relay nodes - call sign -**GRID-7** - is the only thing standing between an orderly recovery and an -uncontrolled cascade. Each relay node watches the last known grid frequency -deviation, decides whether conditions are safe, and either **holds** the -automatic black-start dispatch or **authorizes** it. - -At 03:11 UTC, a coordinated cyberattack severed the primary SCADA uplink -across the GRID-7 corridor and the WATER-3 aqueduct pumping stations that -depend on it. With the network coordination center offline and three -continents' worth of hospitals, rail systems, and water treatment plants -running on backup power, WorldGrid's engineering team did the only thing -they could: they rushed an emergency firmware build for the relay fleet and -pushed it within **eleven minutes** of the attack being detected. - -### The Disaster - -The engineer who built that emergency image, **Dr. Elias Renner**, has not -slept in thirty-one hours. He compiled the fix, ran a five-second bench -test, and shipped it - because the alternative was leaving the relay fleet -completely blind. It appears to work. The relay boots. It prints a status -report. It reports **GRID STATUS: STABLE** and **DISPATCH PATH: -AUTHORIZED**. - -There is a problem: the frozen frequency reading latched at the moment -communications were cut shows a deviation of **0.87 Hz** - nearly *50% -beyond* WorldGrid's hard engineering limit of **0.60 Hz**. A deviation this -large, if trusted, means the grid is nowhere near stable enough for an -automatic black-start dispatch. If the fleet authorizes dispatch on a false -"STABLE" reading, cascading generator trips will follow within minutes, -and GRID-7 and WATER-3 will go dark for the second time - this time with no -backup plan. - -**Dr. Renner's rushed build has a bug. Multiple relay nodes are already -reporting the same false-safe status. Nobody has found where in the -compiled firmware the error lives, because the source code used for that -emergency compile was overwritten by the next build fifteen minutes later -and cannot be recovered.** - -### The Only Surviving Evidence - -One relay node - the training/verification unit - still holds the exact -miscompiled image that shipped to the fleet. This binary, and this binary -alone, is the only remaining copy of the emergency build. There is no -source code. There is no build log. There is only the compiled image, a -UART cable, and whatever a skilled embedded reverse engineer can prove by -reading machine code. - -### The Human Stakes - -| Consequence if the false "STABLE" reading is trusted | Scale | -|---|---| -| Hospitals on generator backup past their fuel reserve | 214 facilities | -| Water treatment and pumping stations losing pressure | 3 aqueduct systems | -| Rail corridors stranded mid-route | 6 national rail networks | -| Estimated population affected by cascading failure | 40+ million people | - -**The options are:** - -1. ❌ **Trust the fleet's reported status** - dispatch fires on a false - reading, cascading failure follows within the hour. -2. ❌ **Shut the entire relay fleet down** - buys time, but leaves 40 - million people with no automated recovery path at all. -3. **REVERSE ENGINEER THE EMERGENCY BUILD** - find the exact - miscompiled bytes, patch them, verify the corrected image on real - hardware, and hand the fix to the field team so the *rest of the fleet* - can be safely repatched before the next attempt. - -### THE SHORTAGE - -For years, the world treated embedded systems as invisible infrastructure. -The engineers who could read a vector table, decode a Thumb branch, or -patch a miscompiled constant directly in a stripped binary were never -numerous enough. Tonight almost all of them are already in the field -chasing other failures. **You are the reserve team.** - -You were called in because you can do something Dr. Renner's exhausted -team cannot do right now: read what the processor is actually doing, with -no source code, no time for a rewrite, and no room for a guess. - -> **⏰ TIME PRESSURE:** The field team is standing by to push your verified -> patch to the rest of the GRID-7 fleet. Every relay node still reporting -> a false "STABLE" status is one dispatch cycle away from disaster. - -> **AUTHORIZED LAB ONLY:** This challenge uses a supplied Pico 2 training -> relay and its exact miscompiled firmware image. Do not connect this -> exercise to a public network, an operational grid, a water utility, or -> any device you do not own or have explicit written authorization to test. - ---- - -## Learning Objectives - -- Decode the RP2350 / ARM Cortex-M33 vector table and identify the reset - handler and initial stack pointer. -- Trace the bootrom-to-reset handoff and translate Thumb reset-vector - addresses into real function entry points. -- Locate a miscompiled boundary comparison and reason about the correct - immediate value the compiler should have encoded. -- Patch compare instructions and a status string directly in a raw binary - with Ghidra. -- Recover a hidden quarantined dispatch frame from the compiled image. -- Export and UF2-convert a corrected image, then verify the corrected - behavior on real hardware with GDB and a UART console. - ---- - -## What This Project Tests - -| Week | Concepts Tested | -|------|-----------------| -| 1 | RP2350 architecture, ARM Cortex-M33 registers, stack, flash/RAM, Thumb assembly, Ghidra static analysis | -| 2 | GDB connection, breakpoints, disassembly, register and memory inspection, UART observation | -| 3 | Bootrom handoff, vector table, reset handler, startup code, XIP, Thumb-bit addressing | - ---- - -## Part 1: Understanding the System - -### GRID-7 Relay Hardware - -| Component | Connection | Purpose | -|-----------|------------|---------| -| Raspberry Pi Pico 2 | RP2350 | Runs the miscompiled emergency firmware | -| UART TX | GPIO 0 | Relay telemetry output | -| UART RX | GPIO 1 | Reserved (no command parser is implemented) | -| SWD debug interface | Supplied probe | Authorized GDB inspection | - -No LED, relay output, sensor, display, or other peripheral is part of this -CTF. Every graded finding lives in flash (`.rodata`/`.text`) or SRAM, and is -reachable with only the Weeks 1-3 toolset: Ghidra, GDB, and a UART monitor. - -### UART Configuration - -- Baud: `115200` -- Data: `8 bits` -- Parity: `none` -- Stop: `1` -- Logic: `3.3 V` - -### Normal (Intended) Behavior - -The relay should latch the frozen deviation reading, compare it against the -**real** WorldGrid safety limit of **60** (0.60 Hz, encoded as an integer -`x100`), and report honestly: - -``` -+-----------------------------------------------------------------+ -| Intended Relay Behavior | -| | -| 1. Boot and initialize UART | -| 2. Print the boot identity and a signal-quality banner | -| 3. Compare the frozen 87 (0.87 Hz) reading against the 60 | -| (0.60 Hz) safety limit | -| 4. 87 exceeds 60, so the grid is NOT stable | -| 5. Report GRID STATUS: CRITICAL and DISPATCH PATH: HELD | -| 6. Repeat the report once per second until conditions change | -+-----------------------------------------------------------------+ -``` - -### Observed (Buggy) Behavior - What You Will See When You First Flash `CTF-01.uf2` - -```text -GLOBAL EMBEDDED RESPONSE NETWORK -BLACK START WINDOW: 27 MINUTES -UART0 115200 8N1 | AUTHORIZED LAB CONSOLE -SIGNAL: NORMAL -RESPONSE> GRID STATUS: STABLE -DISPATCH PATH: AUTHORIZED -LAST FRAME: QUARANTINED -RESPONSE> -``` - -> **Terminal Timing Note:** The first four lines (`GLOBAL EMBEDDED...` through -> `SIGNAL: NORMAL`) represent the **initial boot banner**, emitted once during -> startup. If your serial terminal (PuTTY) connects after the board has -> booted, you will observe the continuous 1-second status stream (`GRID -> STATUS...` and `DISPATCH PATH...`). To view the boot banner in your terminal, -> reset the Pico (pulse `RUN` to `GND`) while PuTTY is actively connected. - -This is exactly what Dr. Renner's team is seeing on the deployed fleet. It -is wrong, and it is wrong in **two independent ways** inside the compiled -binary. Do not assume the first readable sentence is the full truth - -treat every printed line as evidence to be checked against the machine -code, not as a fact on its own. - ---- - -## Part 2: The Firmware - -You do not have the source code. It was overwritten fifteen minutes after -the emergency build shipped. You have only the compiled image. Your job is -to reverse engineer it with Ghidra, locate the defects, and patch the -binary directly - exactly the way Dr. Renner's field team will need to -patch the rest of the deployed fleet. - -### What The Firmware Does - -1. Initializes UART0 and stdio. -2. Reads a frozen grid-frequency-deviation reading that was latched in - memory before communications were severed. -3. Compares that reading against a compiled-in safety threshold - **twice**, - once for each independent status line it reports. -4. Prints a boot banner containing an unconditional signal-quality line. -5. Enters an infinite loop printing the grid classification and dispatch - decision once per second. - -### Bug Summary - What You Are Graded On - -| Bug # | Category | Severity | Description | Hint | -|-------|----------|----------|--------------|------| -| **Bug #1** | Miscompiled safety constant | **CRITICAL** | The safety threshold used to classify the frozen reading was compiled far too permissive. It is used **twice** - once for the operator-facing status and once for the automated dispatch decision - and **both** copies must be corrected. | The real WorldGrid safety limit is 60 (0.60 Hz). Search for the wrong immediate value used in the comparison. | -| **Bug #2** | Hardcoded string literal | **HIGH** | The boot banner unconditionally prints a signal-quality word that does not reflect the actual reading, regardless of what the relay later reports. | The correct word describes the true state of a 0.87 Hz deviation against a 0.60 Hz limit - not "NORMAL". | - -**Important:** The replacement text for Bug #2 **must be the same length** -as the original - patching a shorter or longer string will corrupt -adjacent flash data. - -### A Third Finding - Not a Bug, a Recovery Task - -Somewhere in this image is the **quarantined black-start authorization -frame** - the exact frame the relay is supposed to transmit to the -regional dispatcher once a human operator confirms it is safe to proceed. -It is never printed by the firmware. Recovering it (without patching -anything) is required evidence for your final report. - ---- - -## Part 3: Your Assignment - -Whenever a task asks you to **Document** or **answer**, write your answers -in a single file named `CTF-01-Answers.md`. - -### Task 1: Setup and Initial Analysis - -1. Create a new Ghidra project named `Black_Start_Investigation`. -2. Import `CTF-01.bin`. -3. Configure the language as **ARM Cortex 32-bit, little endian**. -4. Set the base address to `0x10000000`. -5. Run auto-analysis. - -**Document:** -- A screenshot of the Ghidra **Import Results** or **Program Information** - window showing the project name, processor settings, and base address. -- The address of `main()`. -- The address of the recurring status loop (the branch target that repeats - once per second). -- The vector-table base, the initial stack pointer, and the reset-handler - pointer as stored (note its Thumb bit) versus the actual instruction - address. - -### Task 2: Find and Patch Bug #1 - The Miscalibrated Safety Threshold - -1. Find **both** locations where the frozen reading is compared against - the miscompiled safety constant. -2. Document the exact address, the original instruction, and the original - immediate value at each location. -3. Determine the correct immediate value. **Caution:** the compiler may - not have encoded the raw threshold you expect - a strict "less than" - comparison against an unsigned value is often optimized into a - "less-or-equal" comparison against one less than the threshold. Show - your reasoning. -4. Patch **both** locations in Ghidra using the **Bytes Window** workflow: - > **Critical ARM Thumb-2 Patching Note:** In ARM Cortex-M, compare instructions that directly precede conditional execution blocks (`ite hi`) must **not** be patched using the right-click *Patch Instruction* dialog. Ghidra's automatic re-disassembler encounters an internal context conflict with the subsequent `ite hi` instruction, which collapses Thumb decoding and swallows Compare Site B (`0x1000020A`). - > - > To patch cleanly without breaking downstream disassembly, use the **Bytes Window**: - > 1. Ensure the Bytes window is open (**Window** -> **Bytes: CTF-01.bin**). - > 2. In the Bytes window toolbar, click the **pencil icon** (**Toggle Edit Mode**). - > 3. In the Listing window, click on address `0x100001FC` (Compare Site A) and press **`C`** (**Clear Code Bytes**). The instruction temporarily clears into raw bytes (`5E 2B`). - > 4. In the Bytes window, locate offset `100001fc`, click on `5E`, and change it to **`3B`**. - > 5. Click back in the Listing window on address `0x100001FC` and press **`D`** (**Disassemble**). The instruction immediately disassembles cleanly as `cmp r3, #0x3b`. - > 6. Notice that Compare Site B at `0x1000020A` remains completely intact and visible! Repeat the exact same steps at `0x1000020A`: click `0x1000020A` in the Listing, press **`C`**, change `5E` to **`3B`** in the Bytes window, click back in the Listing, and press **`D`**. - -**Questions to answer:** -- Why must both locations be patched? What happens if you only patch one? -- Why is a false "STABLE" classification on an 0.87 Hz reading dangerous - for an automated black-start dispatch? - -### Task 3: Find and Patch Bug #2 - The False Signal Banner - -1. Find the boot-banner string that unconditionally reports the wrong - signal quality. -2. Document its address and the exact bytes that must change. -3. Patch the string, preserving its exact length. - -**Questions to answer:** -- Document the original vs. patched bytes, character by character. -- Why is a hardcoded, unconditional status word more dangerous than one - that is at least computed from a (miscalibrated) reading? - -### Task 4: Recover the Quarantined Dispatch Frame - -1. Use Ghidra's Defined Strings (or a raw string search) to locate the - hidden black-start authorization frame. -2. Document its address and explain why it is never transmitted by the - current firmware. -3. Do **not** attempt to patch this value - it is evidence, not a bug. - -### Task 5: Export and Verify - -1. Export your patched binary as `CTF-01_fixed.bin`. -2. Convert it to UF2 format for the RP2350: - ```bash - python uf2conv.py CTF-01_fixed.bin --base 0x10000000 --family 0xe48bff59 --output CTF-01_fixed.uf2 - ``` -3. Flash `CTF-01_fixed.uf2` to your Pico 2 and capture the corrected UART - output. -4. Confirm that the corrected image now reports **GRID STATUS: CRITICAL**, - **DISPATCH PATH: HELD**, and the corrected signal-quality word - an - honest, safe report instead of a false "all clear." -5. Build a summary table of every patch: address, original bytes, patched - bytes, and a one-line description. - -### Task 6: Written Reflection (short answers, 150 words or less each) - -1. Why is "the build was rushed under emergency pressure" not an - acceptable excuse for shipping a firmware defect that could trigger a - cascading grid failure? -2. Name one concrete engineering practice (code review, static analysis, - hardware-in-the-loop test, etc.) that would have caught **each** of the - two graded bugs before this image ever reached the fleet. - ---- - -## How To Breadboard - -- Pico 2 **GPIO 0 / UART TX** -> USB-UART adapter **RX** -- Pico 2 **GPIO 1 / UART RX** -> USB-UART adapter **TX** -- Pico 2 **GND** -> USB-UART adapter **GND** -- Use **3.3 V logic only**. Never connect a 5 V line to a Pico GPIO. -- Connect the supplied SWD probe according to its documented pinout. - -The supplied image is `CTF-01.bin` (for Ghidra analysis) and `CTF-01.uf2` -(for flashing). If your instructor supplies different filenames, record the -actual filenames in your report. - ---- - -## Memory Map Reference - -| Region | Address | Purpose | -|--------|---------|---------| -| Bootrom | `0x00000000` | Immutable boot code | -| Flash/XIP | `0x10000000` | Vector table, code, constants, strings | -| SRAM | `0x20000000` | Stack and writable state | - ---- - -## Submission Format - -Submit a folder containing: - -- `CTF-01-Answers.md`; -- screenshots or terminal transcripts; -- `CTF-01_fixed.bin` and `CTF-01_fixed.uf2`; -- the original image hash. - ---- - -## Success Criteria - -You complete the challenge when you can prove all of the following: - -- You can explain how the RP2350 reaches the relay's code from reset. -- You can locate and patch both copies of the miscalibrated threshold. -- You can locate and patch the false signal-quality string without - corrupting adjacent data. -- You can export, convert, and flash a corrected image. -- You can prove on real hardware that the corrected image reports the - true, dangerous state instead of the false "all clear." -- You can recover the quarantined dispatch frame as evidence. - ---- - -## Academic Integrity - -By submitting this CTF work, you certify that: - -1. You used only the supplied training relay, image, and lab interface. -2. You did not connect the challenge to a public network, an operational - grid, a water utility, or any third-party device. -3. You understand that embedded reverse engineering and binary patching - require explicit authorization in any real-world context. -4. You will report any discovered weakness responsibly to the course - instructor. - -The world is short on people who can do this work. Treat that -responsibility seriously: verify before you patch, patch before you trust, -and never confuse a clean-looking status line with a safe system. - ---- - -## Reference Material - -- ARM Cortex-M33 Technical Reference Manual -- RP2350 datasheet -- GDB documentation -- Ghidra documentation: [https://ghidra-sre.org/](https://ghidra-sre.org/) diff --git a/0x0001b_ctf/CTF-01-I.pdf b/0x0001b_ctf/CTF-01-I.pdf deleted file mode 100644 index 1ed54e326bdb1eb1097afc8b194159d8efd5005f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390579 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 ukBzMF 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 diff --git a/0x0001b_ctf/CTF-01-R.md b/0x0001b_ctf/CTF-01-R.md deleted file mode 100644 index 9dbec48..0000000 --- a/0x0001b_ctf/CTF-01-R.md +++ /dev/null @@ -1,237 +0,0 @@ -# Operation Black Start - Requirements & Grading Criteria - -``` -+----------------------------------------------------------------------------------------+ -| | -| ██████╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗████████╗ █████╗ ██████╗ ████████╗ | -| ██╔══██╗██║ ██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝ | -| ██████╔╝██║ ███████║██║ █████╔╝ ███████╗ ██║ ███████║██████╔╝ ██║ | -| ██╔══██╗██║ ██╔══██║██║ ██╔═██╗ ╚════██║ ██║ ██╔══██║██╔══██╗ ██║ | -| ██████╔╝███████╗██║ ██║╚██████╗██║ ██╗███████╗ ██║ ██║ ██║██║ ██║ ██║ | -| ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝██║ ██║╚══════╝ ╚═╝ ╚═╝ ╚═╝██║ ██║ ██║ | -| | -| | -| O P E R A T I O N B L A C K S T A R T | -| | -| REQUIREMENTS & GRADING CRITERIA | -| | -+----------------------------------------------------------------------------------------+ -``` - ---- - -## Project Overview - -Students are the reverse-engineering reserve team called in after WorldGrid -Compact's emergency firmware build shipped a miscompiled safety threshold and -a false status string to its GRID-7 relay fleet. Students reverse engineer -`CTF-01.bin` with Ghidra, locate two real defects, patch them in the binary, -export a corrected image, flash it to real hardware, and prove the corrected -behavior with the debugger and the console. - -The challenge is separate from all FINAL projects and contains no FINAL-project -answer, constant, address, bug, or patch. - ---- - -## Learning Objectives - -- Decode an ARM Cortex-M33 vector table and identify the reset handler and - initial stack pointer. -- Translate Thumb reset-vector addresses into real function entry points. -- Locate a miscompiled boundary comparison and reason about its immediate - value. -- Patch compare instructions and a status string in a raw binary with Ghidra. -- Export and UF2-convert a corrected image, then verify it on real hardware. -- Capture derived state with GDB and read UART console output. - -Students must use only Weeks 1-3 concepts: ARM registers and stack behavior, -UART output, GDB, Ghidra static analysis and binary patching, vector tables, -reset startup, XIP, and Thumb addressing. - ---- - -## Deliverables Checklist - -| # | Deliverable | Format | Criterion | -|---|-------------|--------|-----------| -| 1 | Ghidra project screenshot (project name, processor, base address) | PNG/JPG | 1.1 | -| 2 | `main()` and status-loop addresses | Inside `CTF-01-Answers.md` | 1.2 | -| 3 | Vector table base, initial SP, reset pointer | Inside `CTF-01-Answers.md` | 1.3 | -| 4 | Thumb bit explanation | Inside `CTF-01-Answers.md` | 1.4 | -| 5 | Bug #1 evidence and patches (both compare sites) | Inside `CTF-01-Answers.md` | 2.1-2.6 | -| 6 | Bug #2 evidence and patch (six characters) | Inside `CTF-01-Answers.md` | 3.1-3.4 | -| 7 | Recovered dispatch frame and address | Inside `CTF-01-Answers.md` | 4.1-4.2 | -| 8 | `CTF-01_fixed.bin` | BIN file | 5.1 | -| 9 | `CTF-01_fixed.uf2` | UF2 file | 5.2 | -| 10 | Corrected console transcript | Inside `CTF-01-Answers.md` | 5.3 | -| 11 | Summary table of all patches | Inside `CTF-01-Answers.md` | 5.4 | -| 12 | Written reflection | Inside `CTF-01-Answers.md` | 6.1-6.2 | - ---- - -## Required Tools and Equipment - -| Tool | Purpose | -|------|---------| -| Raspberry Pi Pico 2 | Isolated target | -| 3.3 V USB-UART adapter | UART capture on GPIO 0 (TX) / GPIO 1 (RX) | -| Serial monitor | Observe output | -| Ghidra | Static analysis and binary patching | -| Python (`uf2conv.py`) | UF2 conversion | -| `CTF-01.bin` and `CTF-01.uf2` | Supplied artifacts | - -UART settings: **115200 baud, 8 data bits, no parity, 1 stop bit**. - ---- - -## Artifact Identity - -The instructor-issued artifact hashes are: - -```text -CTF-01.bin 425591AC17FF4C22206286EE6F40B06A89523483804850A41854A9B6F89D7B70 -CTF-01.uf2 B1552EE3BB5763D96C65D8DF1C86984EE842EF1A823FDF5D94132B1E10FF9D16 -``` - ---- - -## Grading Rubric - Detailed Breakdown - -### Task 1: Setup and Initial Analysis (15 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 1.1: Ghidra Project Setup | 3 | Correct project name, `ARM:LE:32:Cortex` (ARM Cortex 32-bit little endian), base `0x10000000` | One item off | Not set up | -| Criterion 1.2: main() and Status-Loop Addresses | 4 | Both addresses correct | One correct | Neither found | -| Criterion 1.3: Vector Table Decoding | 4 | Correct base, initial SP, reset pointer | One missing | Not found | -| Criterion 1.4: Thumb Addressing | 4 | Correctly clears bit 0 and identifies `main()` | General explanation | Incorrect | - -### Task 2: Find and Patch Bug #1: The Miscalibrated Safety Threshold (30 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 2.1: Locate Compare Site A | 5 | Correct address and original bytes | Address off | Not found | -| Criterion 2.2: Locate Compare Site B | 5 | Correct address and original bytes | Address off | Not found | -| Criterion 2.3: Correct Immediate-Value Reasoning | 8 | Explains the `<` to `<=` transform and gives `0x3B` | Correct value, no reasoning | Wrong value | -| Criterion 2.4: Patch Compare Site A | 4 | Byte change verified | Wrong byte | Not patched | -| Criterion 2.5: Patch Compare Site B | 4 | Byte change verified | Wrong byte | Not patched | -| Criterion 2.6: Explain Why Both Sites Must Be Patched | 4 | Clear explanation of the two independent comparisons | Vague | Missing | - -### Task 3: Find and Patch Bug #2: The False Signal Banner (20 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 3.1: Locate the Banner String | 5 | Correct address | Approximate | Not found | -| Criterion 3.2: Patch Six Characters | 8 | All six bytes changed, length preserved | Correct text, wrong bytes documented | Wrong length | -| Criterion 3.3: Character-by-Character Documentation | 4 | Original vs patched byte for all six characters | Partial | Missing | -| Criterion 3.4: Explain the Danger of a Hardcoded Status Word | 3 | Clear, specific reasoning | Generic | Missing | - -### Task 4: Recover the Quarantined Dispatch Frame (10 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 4.1: Recover the Dispatch Frame | 6 | Correct address and full text | Partial text | Not found | -| Criterion 4.2: Explain Why It Is Never Transmitted | 4 | Clear static-analysis explanation | Vague | Missing | - -### Task 5: Export and Verify (20 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 5.1: Export CTF-01_fixed.bin | 4 | Valid patched binary | Corrupted | Not submitted | -| Criterion 5.2: Convert to CTF-01_fixed.uf2 | 4 | Correct base and family flags | Wrong flags | Not submitted | -| Criterion 5.3: Hardware Verification | 8 | Corrected console output confirmed (CRITICAL/HELD in 1s stream; DANGER at boot/Ghidra) | Some lines corrected | No verification | -| Criterion 5.4: Summary Table of All Patches | 4 | Complete address and before/after table | Missing entries | No table | - -### Task 6: Written Reflection (5 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 6.1: "Rushed Build" Is Not an Excuse | 2 | Specific, grounded reasoning | Generic | Missing | -| Criterion 6.2: One Engineering Practice per Bug | 3 | Concrete practice for each bug | One bug only | Missing | - ---- - -## Common Pitfalls - -| Pitfall | Consequence | Avoidance | -|---------|-------------|-----------| -| Patching only one threshold site | One status line still lies | Patch both `0x100001FC` and `0x1000020A` | -| Assuming the immediate equals the limit | Off-by-one, wrong boundary | Use `0x3B` (59), not `0x3C` (60) | -| Using Patch Instruction before IT block | Re-disassembler context conflict swallows Site B | In Listing press `C` -> edit byte in Bytes window (pencil) -> press `D` | -| Missing boot banner in serial terminal | PuTTY misses one-time 5ms boot banner | Pulse RUN to GND while connected to capture | -| Replacing a string with a different length | Corrupts adjacent flash | `NORMAL` and `DANGER` are both 6 bytes | -| Treating an odd vector address as invalid | Thumb analysis fails | Clear bit 0 | -| Modifying the quarantined dispatch frame | Destroys evidence | Recover it, do not patch it | - ---- - -## How To Breadboard - -- **Raspberry Pi Pico 2** powered over USB. -- **3.3 V USB-UART adapter**: - - Adapter RX to Pico GP0 (UART0 TX) - - Adapter TX to Pico GP1 (UART0 RX) - - Adapter GND to Pico GND - - Do not connect the adapter VCC while the Pico is USB powered. -- **Serial monitor:** 115200 baud, 8 data bits, no parity, 1 stop bit. -- No other peripherals are required; all evidence is obtained from the console. - ---- - -## Memory Map Reference - -| Region | Address | Purpose | -|--------|---------|---------| -| Bootrom | `0x00000000` | Immutable boot code | -| Flash/XIP | `0x10000000` | Vector table, code, constants, strings | -| SRAM | `0x20000000` | Stack and writable state | - ---- - -## Deadline & Submission - -- Create a folder containing the Ghidra screenshot, `CTF-01_fixed.bin`, and - `CTF-01_fixed.uf2`. -- Write all written answers in a single file named `CTF-01-Answers.md` inside that - folder. -- ZIP the folder as `lastname-firstname-CTF-01.zip`. -- Submit the ZIP before the posted deadline; late submissions lose 10 percent - per day. - ---- - -## Grade Scale - -| Grade | Percentage | Points | -|-------|------------|--------| -| A+ | 97-100% | 97-100 | -| A | 93-96% | 93-96 | -| A- | 90-92% | 90-92 | -| B+ | 87-89% | 87-89 | -| B | 84-86% | 84-86 | -| B- | 80-83% | 80-83 | -| C | 70-79% | 70-79 | -| F | 0-69% | 0-69 | - ---- - -## Academic Integrity - -Use only the supplied Pico 2 and firmware. Do not connect the exercise to an -operational grid, water plant, public network, military system, or third-party -device. This is a controlled, isolated educational exercise. All analysis and -patches must be your own work; sharing binaries, addresses, or answers is a -violation of the academic integrity policy. - ---- - -## Reference Material - -| Topic | Reference | -|-------|-----------| -| ARM Cortex-M33 registers and stack | Week 1 | -| UART output and console capture | Week 2 | -| Vector tables, reset startup, and XIP | Week 2 | -| Ghidra static analysis and binary patching | Week 3 | -| Thumb addressing | Week 3 | diff --git a/0x0001b_ctf/CTF-01-R.pdf b/0x0001b_ctf/CTF-01-R.pdf deleted file mode 100644 index 01ca3d82b2fe743e6a0e234e58d6ff760af13619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321998 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

&k?RiwMMU)KsC5(ggGqH*s9i>(I_Wf9^zGAJQ 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 diff --git a/0x0001b_ctf/CTF-01.bin b/0x0001b_ctf/CTF-01.bin deleted file mode 100644 index 2a1de88ff161a734d232c776aa46e1d5f141248a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15920 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 diff --git a/0x0001b_ctf/CTF-01.uf2 b/0x0001b_ctf/CTF-01.uf2 deleted file mode 100644 index e0313c18b1b2689add4538bb217298e02413c092..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 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 diff --git a/0x0001b_ctf/CTF-01_fixed.bin b/0x0001b_ctf/CTF-01_fixed.bin deleted file mode 100644 index a9d582cb7511efb82ac1a838ab9baeda125d994b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15920 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 diff --git a/0x0001b_ctf/CTF-01_fixed.uf2 b/0x0001b_ctf/CTF-01_fixed.uf2 deleted file mode 100644 index 7384d9a0ae4223c3aafe64d4e525bafc63e0b80d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32256 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 P&;Khaac>ry;QxOCf`~(d diff --git a/0x0001b_ctf/include/console.h b/0x0001b_ctf/include/console.h deleted file mode 100644 index b5a6502..0000000 --- a/0x0001b_ctf/include/console.h +++ /dev/null @@ -1,72 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: console.h -// Desc: Declares the UART console banner and status reporting interface -// for Operation Black Start. -// Created: 2026 - -#ifndef CONSOLE_H -#define CONSOLE_H - -#include "grid.h" -#include - -/** - * @brief Print the response controller's boot identity and unconditional signal line. - * - * Emits the boot banner, operation window, serial configuration banner, - * unconditional signal quality line, and the interactive command prompt. - * - * @param None. - * @return None. - */ -static inline void print_boot_banner(void) -{ - printf("GLOBAL EMBEDDED RESPONSE NETWORK\r\n"); - printf("BLACK START WINDOW: 27 MINUTES\r\n"); - printf("UART0 115200 8N1 | AUTHORIZED LAB CONSOLE\r\n"); - printf("SIGNAL: NORMAL\r\n"); - printf("RESPONSE> "); -} - -/** - * @brief Print the recurring grid classification and dispatch authorization report. - * - * Evaluates the current operator state and dispatch state flags and transmits - * the formatted status report over UART0 with the quarantined frame notification. - * - * @param None. - * @return None. - */ -static inline void print_status(void) -{ - printf("GRID STATUS: %s\r\n", operator_state ? "STABLE" : "CRITICAL"); - printf("DISPATCH PATH: %s\r\n", dispatch_state ? "AUTHORIZED" : "HELD"); - printf("LAST FRAME: QUARANTINED\r\n"); - printf("RESPONSE> "); -} - -#endif // CONSOLE_H diff --git a/0x0001b_ctf/include/grid.h b/0x0001b_ctf/include/grid.h deleted file mode 100644 index c1444c8..0000000 --- a/0x0001b_ctf/include/grid.h +++ /dev/null @@ -1,85 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: grid.h -// Desc: Declares the grid telemetry and safety evaluation interface for -// Operation Black Start. -// Created: 2026 - -#ifndef GRID_H -#define GRID_H - -#include - -// Safety margin (Hz deviation x100) below which grid frequency is tolerable. -// BUG: emergency build miscompiled this far too permissive; correct value is 60. -#define SAFE_THRESHOLD 95 - -// Frozen grid frequency deviation reading latched when comms were severed. -extern volatile uint32_t grid_deviation; - -// Operator-facing classification of the frozen reading (drives GRID STATUS). -extern volatile uint32_t operator_state; - -// Automated dispatch authorization decision (drives DISPATCH PATH). -extern volatile uint32_t dispatch_state; - -// Quarantined black-start authorization frame, retained in flash, never sent. -static volatile const char dispatch_frame[] = - "WORLDGRID:BLACKSTART:GRID-7:WATER-3"; - -static inline void retain_dispatch_frame(void) -{ - volatile char frame_marker = dispatch_frame[0]; - (void)frame_marker; -} - -static inline void evaluate_grid(void) -{ - operator_state = (grid_deviation < SAFE_THRESHOLD) ? 1 : 0; - dispatch_state = (grid_deviation < SAFE_THRESHOLD) ? 1 : 0; -} - -/** - * @brief Anchor the hidden dispatch frame in flash without transmitting it. - * - * Reads the first character of the quarantined black-start authorization - * frame into a volatile local marker to prevent the compiler from optimizing - * out the string literal from .rodata flash storage. - * - * @param None. - * @return None. - */ -/** - * @brief Classify the frozen telemetry reading against the compiled threshold. - * - * Evaluates the frozen grid deviation reading against SAFE_THRESHOLD twice, - * once for the operator-facing status line and once for the automated - * dispatch decision, mirroring the duplicated immediate comparison site. - * - * @param None. - * @return None. - */ -#endif // GRID_H diff --git a/0x0001b_ctf/pico_sdk_import.cmake b/0x0001b_ctf/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0001b_ctf/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0001b_ctf/scripts/verify_ctf.py b/0x0001b_ctf/scripts/verify_ctf.py deleted file mode 100644 index 357eff9..0000000 --- a/0x0001b_ctf/scripts/verify_ctf.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env python3 -"""Verify every technical claim of Operation Black Start against CTF-01.bin. - -Exits 0 only when every address, byte, and hash in CTF-R.md and CTF-S.md -matches the shipped image. -""" -import hashlib -import struct -import sys -from pathlib import Path - -BASE = 0x10000000 -ROOT = Path(__file__).resolve().parent.parent -BIN = ROOT / "CTF-01.bin" -UF2 = ROOT / "CTF-01.uf2" - -EXPECTED_BIN_SHA = "425591ac17ff4c22206286ee6f40b06a89523483804850a41854a9b6f89d7b70" -EXPECTED_UF2_SHA = "b1552ee3bb5763d96c65d8df1c86984ee842ef1a823fdf5d94132b1e10ff9d16" - -CMP_A = 0x100001FC -CMP_B = 0x1000020A -STRING_SIGNAL = 0x10003678 -STRING_FRAME = 0x100037A0 -LOOP_BACK = 0x10000266 - -RESULTS = [] - - -def check(label, ok, detail=""): - """Record one verification result. - - Parameters - ---------- - label : str - Human-readable check name. - ok : bool - Whether the check passed. - detail : str - Extra context printed with the result. - - Returns - ------- - None - """ - RESULTS.append(ok) - print(f"[{'PASS' if ok else 'FAIL'}] {label} {detail}") - - -def main(): - """Run all verification checks. - - Returns - ------- - int - Zero when every check passes, else one. - """ - data = BIN.read_bytes() - check("CTF-01.bin SHA-256", hashlib.sha256(data).hexdigest() == EXPECTED_BIN_SHA) - check("CTF-01.uf2 SHA-256", - hashlib.sha256(UF2.read_bytes()).hexdigest() == EXPECTED_UF2_SHA) - check("vector table", data[0:32].hex() == - "002008205b0100101b0100101d01001011010010110100101101001011010010") - check("initial SP", struct.unpack(" - -volatile uint32_t grid_deviation = 87; -volatile uint32_t operator_state = 0; -volatile uint32_t dispatch_state = 0; diff --git a/0x0001b_ctf/src/main.c b/0x0001b_ctf/src/main.c deleted file mode 100644 index 87671bd..0000000 --- a/0x0001b_ctf/src/main.c +++ /dev/null @@ -1,56 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: main.c -// Desc: Main entry point for the Operation Black Start CTF relay firmware. -// Created: 2026 - -#include "console.h" -#include "grid.h" -#include "pico/stdlib.h" - -/** - * @brief Run the recurring UART evidence stream for the isolated CTF image. - * - * Initializes the standard I/O subsystems, anchors the quarantined dispatch - * frame in flash memory, evaluates the frozen telemetry against the compiled - * safety threshold, prints the startup banner, and repeatedly emits the - * system status report every second. - * - * @param None. - * @return int Standard exit code (never reached in normal firmware execution). - */ -int main(void) -{ - stdio_init_all(); - retain_dispatch_frame(); - evaluate_grid(); - print_boot_banner(); - while (true) { - print_status(); - sleep_ms(1000); - } - return 0; -} diff --git a/0x0001b_ctf/uf2families.json b/0x0001b_ctf/uf2families.json deleted file mode 100644 index 91d99ad..0000000 --- a/0x0001b_ctf/uf2families.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - { - "short_name": "RP2040", - "id": "0xe48bff56", - "description": "Raspberry Pi RP2040" - }, - { - "short_name": "RP2350-ARM-S", - "id": "0xe48bff59", - "description": "Raspberry Pi RP2350, ARM, Secure" - }, - { - "short_name": "RP2350-ARM-NS", - "id": "0xe48bff5a", - "description": "Raspberry Pi RP2350, ARM, Non-Secure" - }, - { - "short_name": "RP2350-RISCV", - "id": "0xe48bff5b", - "description": "Raspberry Pi RP2350, RISC-V" - } -] diff --git a/0x0005_intro-to-variables/.gitignore b/0x0005_intro-to-variables/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0005_intro-to-variables/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0005_intro-to-variables/.vscode/c_cpp_properties.json b/0x0005_intro-to-variables/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x0005_intro-to-variables/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0005_intro-to-variables/.vscode/cmake-kits.json b/0x0005_intro-to-variables/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0005_intro-to-variables/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0005_intro-to-variables/.vscode/extensions.json b/0x0005_intro-to-variables/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0005_intro-to-variables/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0005_intro-to-variables/.vscode/launch.json b/0x0005_intro-to-variables/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0005_intro-to-variables/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0005_intro-to-variables/.vscode/settings.json b/0x0005_intro-to-variables/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x0005_intro-to-variables/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0005_intro-to-variables/.vscode/tasks.json b/0x0005_intro-to-variables/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0005_intro-to-variables/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0005_intro-to-variables/0x0005_intro-to-variables.c b/0x0005_intro-to-variables/0x0005_intro-to-variables.c deleted file mode 100644 index 7b2b3ae..0000000 --- a/0x0005_intro-to-variables/0x0005_intro-to-variables.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include "pico/stdlib.h" - -int main(void) { - uint8_t age = 42; - - age = 43; - - stdio_init_all(); - - while (true) - printf("age: %d\r\n", age); -} diff --git a/0x0005_intro-to-variables/CMakeLists.txt b/0x0005_intro-to-variables/CMakeLists.txt deleted file mode 100644 index 673ff61..0000000 --- a/0x0005_intro-to-variables/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0005_intro-to-variables C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0005_intro-to-variables 0x0005_intro-to-variables.c ) - -pico_set_program_name(0x0005_intro-to-variables "0x0005_intro-to-variables") -pico_set_program_version(0x0005_intro-to-variables "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0005_intro-to-variables 1) -pico_enable_stdio_usb(0x0005_intro-to-variables 0) - -# Add the standard library to the build -target_link_libraries(0x0005_intro-to-variables - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0005_intro-to-variables PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0005_intro-to-variables) - diff --git a/0x0005_intro-to-variables/pico_sdk_import.cmake b/0x0005_intro-to-variables/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0005_intro-to-variables/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0008_uninitialized-variables-a/.gitignore b/0x0008_uninitialized-variables-a/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0008_uninitialized-variables-a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0008_uninitialized-variables-a/.vscode/c_cpp_properties.json b/0x0008_uninitialized-variables-a/.vscode/c_cpp_properties.json deleted file mode 100644 index 27d83bd..0000000 --- a/0x0008_uninitialized-variables-a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0008_uninitialized-variables-a/.vscode/cmake-kits.json b/0x0008_uninitialized-variables-a/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0008_uninitialized-variables-a/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0008_uninitialized-variables-a/.vscode/extensions.json b/0x0008_uninitialized-variables-a/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0008_uninitialized-variables-a/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0008_uninitialized-variables-a/.vscode/launch.json b/0x0008_uninitialized-variables-a/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0008_uninitialized-variables-a/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0008_uninitialized-variables-a/.vscode/settings.json b/0x0008_uninitialized-variables-a/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x0008_uninitialized-variables-a/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0008_uninitialized-variables-a/.vscode/tasks.json b/0x0008_uninitialized-variables-a/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0008_uninitialized-variables-a/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0008_uninitialized-variables-a/0x0008_uninitialized-variables-a.c b/0x0008_uninitialized-variables-a/0x0008_uninitialized-variables-a.c deleted file mode 100644 index 656a992..0000000 --- a/0x0008_uninitialized-variables-a/0x0008_uninitialized-variables-a.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include "pico/stdlib.h" - -#define LED_PIN 16 - -int main(void) -{ - gpio_init(LED_PIN); - gpio_set_dir(LED_PIN, GPIO_OUT); - - while (true) { - gpio_put(LED_PIN, 1); - sleep_ms(500); - - gpio_put(LED_PIN, 0); - sleep_ms(500); - } -} diff --git a/0x0008_uninitialized-variables-a/CMakeLists.txt b/0x0008_uninitialized-variables-a/CMakeLists.txt deleted file mode 100644 index 347375d..0000000 --- a/0x0008_uninitialized-variables-a/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0008_uninitialized-variables-a C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0008_uninitialized-variables-a 0x0008_uninitialized-variables-a.c ) - -pico_set_program_name(0x0008_uninitialized-variables-a "0x0008_uninitialized-variables-a") -pico_set_program_version(0x0008_uninitialized-variables-a "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0008_uninitialized-variables-a 0) -pico_enable_stdio_usb(0x0008_uninitialized-variables-a 0) - -# Add the standard library to the build -target_link_libraries(0x0008_uninitialized-variables-a - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0008_uninitialized-variables-a PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0008_uninitialized-variables-a) - diff --git a/0x0008_uninitialized-variables-a/pico_sdk_import.cmake b/0x0008_uninitialized-variables-a/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0008_uninitialized-variables-a/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0008_uninitialized-variables-b/.gitignore b/0x0008_uninitialized-variables-b/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0008_uninitialized-variables-b/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0008_uninitialized-variables-b/.vscode/c_cpp_properties.json b/0x0008_uninitialized-variables-b/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x0008_uninitialized-variables-b/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0008_uninitialized-variables-b/.vscode/cmake-kits.json b/0x0008_uninitialized-variables-b/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0008_uninitialized-variables-b/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0008_uninitialized-variables-b/.vscode/extensions.json b/0x0008_uninitialized-variables-b/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0008_uninitialized-variables-b/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0008_uninitialized-variables-b/.vscode/launch.json b/0x0008_uninitialized-variables-b/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0008_uninitialized-variables-b/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0008_uninitialized-variables-b/.vscode/settings.json b/0x0008_uninitialized-variables-b/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x0008_uninitialized-variables-b/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0008_uninitialized-variables-b/.vscode/tasks.json b/0x0008_uninitialized-variables-b/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0008_uninitialized-variables-b/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0008_uninitialized-variables-b/0x0008_uninitialized-variables-b.c b/0x0008_uninitialized-variables-b/0x0008_uninitialized-variables-b.c deleted file mode 100644 index 365d7eb..0000000 --- a/0x0008_uninitialized-variables-b/0x0008_uninitialized-variables-b.c +++ /dev/null @@ -1,27 +0,0 @@ -#include -#include "pico/stdlib.h" - -#define LED_PIN 16 - -int main(void) -{ - // gpio_init(LED_PIN); - gpio_set_dir(LED_PIN, GPIO_IN); - gpio_put(LED_PIN, 0); - gpio_set_function(LED_PIN, GPIO_FUNC_SIO); - - // gpio_set_dir(LED_PIN, GPIO_OUT); - gpioc_bit_oe_put(LED_PIN, GPIO_OUT); - - while (true) { - // gpio_put(LED_PIN, 1); - gpioc_bit_out_put(LED_PIN, 1); - // sleep_ms(500); - sleep_us(500 * 1000ull); - - // gpio_put(LED_PIN, 0); - gpioc_bit_out_put(LED_PIN, 0); - // sleep_ms(500); - sleep_us(500 * 1000ull); - } -} diff --git a/0x0008_uninitialized-variables-b/CMakeLists.txt b/0x0008_uninitialized-variables-b/CMakeLists.txt deleted file mode 100644 index 24d559f..0000000 --- a/0x0008_uninitialized-variables-b/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0008_uninitialized-variables-b C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0008_uninitialized-variables-b 0x0008_uninitialized-variables-b.c ) - -pico_set_program_name(0x0008_uninitialized-variables-b "0x0008_uninitialized-variables-b") -pico_set_program_version(0x0008_uninitialized-variables-b "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0008_uninitialized-variables-b 0) -pico_enable_stdio_usb(0x0008_uninitialized-variables-b 0) - -# Add the standard library to the build -target_link_libraries(0x0008_uninitialized-variables-b - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0008_uninitialized-variables-b PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0008_uninitialized-variables-b) - diff --git a/0x0008_uninitialized-variables-b/pico_sdk_import.cmake b/0x0008_uninitialized-variables-b/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0008_uninitialized-variables-b/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0008_uninitialized-variables-c/.gitignore b/0x0008_uninitialized-variables-c/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0008_uninitialized-variables-c/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0008_uninitialized-variables-c/.vscode/c_cpp_properties.json b/0x0008_uninitialized-variables-c/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x0008_uninitialized-variables-c/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0008_uninitialized-variables-c/.vscode/cmake-kits.json b/0x0008_uninitialized-variables-c/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0008_uninitialized-variables-c/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0008_uninitialized-variables-c/.vscode/extensions.json b/0x0008_uninitialized-variables-c/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0008_uninitialized-variables-c/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0008_uninitialized-variables-c/.vscode/launch.json b/0x0008_uninitialized-variables-c/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0008_uninitialized-variables-c/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0008_uninitialized-variables-c/.vscode/settings.json b/0x0008_uninitialized-variables-c/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x0008_uninitialized-variables-c/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0008_uninitialized-variables-c/.vscode/tasks.json b/0x0008_uninitialized-variables-c/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0008_uninitialized-variables-c/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0008_uninitialized-variables-c/0x0008_uninitialized-variables-c.c b/0x0008_uninitialized-variables-c/0x0008_uninitialized-variables-c.c deleted file mode 100644 index 5136c35..0000000 --- a/0x0008_uninitialized-variables-c/0x0008_uninitialized-variables-c.c +++ /dev/null @@ -1,35 +0,0 @@ -#include -#include "pico/stdlib.h" - -#define LED_PIN 16 - -int main(void) -{ - // gpio_init(LED_PIN); - /// gpio_set_dir(LED_PIN, GPIO_IN); - gpioc_bit_oe_put(LED_PIN, GPIO_OUT); - /// gpio_put(LED_PIN, 0); - gpioc_bit_out_put(LED_PIN, 0); - /// gpio_set_function(LED_PIN, GPIO_FUNC_SIO); - hw_write_masked(&pads_bank0_hw->io[LED_PIN], - PADS_BANK0_GPIO0_IE_BITS, - PADS_BANK0_GPIO0_IE_BITS | PADS_BANK0_GPIO0_OD_BITS - ); - io_bank0_hw->io[LED_PIN].ctrl = GPIO_FUNC_SIO << IO_BANK0_GPIO0_CTRL_FUNCSEL_LSB; - hw_clear_bits(&pads_bank0_hw->io[LED_PIN], PADS_BANK0_GPIO0_ISO_BITS); - - // gpio_set_dir(LED_PIN, GPIO_OUT); - gpioc_bit_oe_put(LED_PIN, GPIO_OUT); - - while (true) { - // gpio_put(LED_PIN, 1); - gpioc_bit_out_put(LED_PIN, 1); - // sleep_ms(500); - sleep_us(500 * 1000ull); - - // gpio_put(LED_PIN, 0); - gpioc_bit_out_put(LED_PIN, 0); - // sleep_ms(500); - sleep_us(500 * 1000ull); - } -} diff --git a/0x0008_uninitialized-variables-c/CMakeLists.txt b/0x0008_uninitialized-variables-c/CMakeLists.txt deleted file mode 100644 index b7e1991..0000000 --- a/0x0008_uninitialized-variables-c/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0008_uninitialized-variables-c C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0008_uninitialized-variables-c 0x0008_uninitialized-variables-c.c ) - -pico_set_program_name(0x0008_uninitialized-variables-c "0x0008_uninitialized-variables-c") -pico_set_program_version(0x0008_uninitialized-variables-c "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0008_uninitialized-variables-c 0) -pico_enable_stdio_usb(0x0008_uninitialized-variables-c 0) - -# Add the standard library to the build -target_link_libraries(0x0008_uninitialized-variables-c - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0008_uninitialized-variables-c PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0008_uninitialized-variables-c) - diff --git a/0x0008_uninitialized-variables-c/pico_sdk_import.cmake b/0x0008_uninitialized-variables-c/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0008_uninitialized-variables-c/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0008_uninitialized-variables-d/.gitignore b/0x0008_uninitialized-variables-d/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0008_uninitialized-variables-d/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0008_uninitialized-variables-d/.vscode/c_cpp_properties.json b/0x0008_uninitialized-variables-d/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x0008_uninitialized-variables-d/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0008_uninitialized-variables-d/.vscode/cmake-kits.json b/0x0008_uninitialized-variables-d/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0008_uninitialized-variables-d/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0008_uninitialized-variables-d/.vscode/extensions.json b/0x0008_uninitialized-variables-d/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0008_uninitialized-variables-d/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0008_uninitialized-variables-d/.vscode/launch.json b/0x0008_uninitialized-variables-d/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0008_uninitialized-variables-d/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0008_uninitialized-variables-d/.vscode/settings.json b/0x0008_uninitialized-variables-d/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x0008_uninitialized-variables-d/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0008_uninitialized-variables-d/.vscode/tasks.json b/0x0008_uninitialized-variables-d/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0008_uninitialized-variables-d/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0008_uninitialized-variables-d/0x0008_uninitialized-variables-d.c b/0x0008_uninitialized-variables-d/0x0008_uninitialized-variables-d.c deleted file mode 100644 index 457ed9a..0000000 --- a/0x0008_uninitialized-variables-d/0x0008_uninitialized-variables-d.c +++ /dev/null @@ -1,70 +0,0 @@ -#include -#include "pico/stdlib.h" - -#define LED_PIN 16 - -int main(void) -{ - // gpio_init(LED_PIN); - /// gpio_set_dir(LED_PIN, GPIO_IN); - //// gpioc_bit_oe_put(LED_PIN, GPIO_OUT); - pico_default_asm_volatile ("mcrr p0, #4, %0, %1, c4" : : "r" (LED_PIN), "r" (GPIO_OUT)); - /// gpio_put(LED_PIN, 0); - //// gpioc_bit_out_put(LED_PIN, 0); - pico_default_asm_volatile ("mcrr p0, #4, %0, %1, c4" : : "r" (LED_PIN), "r" (GPIO_OUT)); - /// gpio_set_function(LED_PIN, GPIO_FUNC_SIO); - //// hw_write_masked(&pads_bank0_hw->io[LED_PIN], - //// PADS_BANK0_GPIO0_IE_BITS, - //// PADS_BANK0_GPIO0_IE_BITS | PADS_BANK0_GPIO0_OD_BITS - //// ); - //// hw_xor_bits(addr, (*addr ^ values) & write_mask); - pico_default_asm_volatile ( - "ldr r2, [%0]\n" // load current pad register - "eor r2, r2, %1\n" // xor with IE bit - "and r2, r2, %2\n" // mask with (IE|OD) - "eor r2, r2, %1\n" // recombine (hw_xor_bits logic) - "str r2, [%0]\n" // write back - : - : "r" (&pads_bank0_hw->io[LED_PIN]), - "r" (PADS_BANK0_GPIO0_IE_BITS), - "r" (PADS_BANK0_GPIO0_IE_BITS | PADS_BANK0_GPIO0_OD_BITS) - : "r2", "memory" - ); - - /// io_bank0_hw->io[LED_PIN].ctrl = GPIO_FUNC_SIO << IO_BANK0_GPIO0_CTRL_FUNCSEL_LSB; - pico_default_asm_volatile ( - "str %1, [%0]\n" - : - : "r" (&io_bank0_hw->io[LED_PIN].ctrl), - "r" (GPIO_FUNC_SIO << IO_BANK0_GPIO0_CTRL_FUNCSEL_LSB) - : "memory" - ); - /// hw_clear_bits(&pads_bank0_hw->io[LED_PIN], PADS_BANK0_GPIO0_ISO_BITS); - pico_default_asm_volatile ( - "ldr r2, [%0]\n" // load current register value - "bic r2, r2, %1\n" // clear the ISO bits (bit clear) - "str r2, [%0]\n" // write back - : - : "r" (&pads_bank0_hw->io[LED_PIN]), - "r" (PADS_BANK0_GPIO0_ISO_BITS) - : "r2", "memory" - ); - - // gpio_set_dir(LED_PIN, GPIO_OUT); - /// gpioc_bit_oe_put(LED_PIN, GPIO_OUT); - pico_default_asm_volatile ("mcrr p0, #4, %0, %1, c4" : : "r" (LED_PIN), "r" (GPIO_OUT)); - - while (true) { - // gpio_put(LED_PIN, 1); - /// gpioc_bit_out_put(LED_PIN, 1); - pico_default_asm_volatile ("mcrr p0, #4, %0, %1, c0" : : "r" (LED_PIN), "r" (1)); - /// sleep_ms(500); - sleep_us(500 * 1000ull); - - // gpio_put(LED_PIN, 0); - /// gpioc_bit_out_put(LED_PIN, 0); - pico_default_asm_volatile ("mcrr p0, #4, %0, %1, c0" : : "r" (LED_PIN), "r" (0)); - /// sleep_ms(500); - sleep_us(500 * 1000ull); - } -} diff --git a/0x0008_uninitialized-variables-d/CMakeLists.txt b/0x0008_uninitialized-variables-d/CMakeLists.txt deleted file mode 100644 index 9e88754..0000000 --- a/0x0008_uninitialized-variables-d/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0008_uninitialized-variables-d C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0008_uninitialized-variables-d 0x0008_uninitialized-variables-d.c ) - -pico_set_program_name(0x0008_uninitialized-variables-d "0x0008_uninitialized-variables-d") -pico_set_program_version(0x0008_uninitialized-variables-d "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0008_uninitialized-variables-d 0) -pico_enable_stdio_usb(0x0008_uninitialized-variables-d 0) - -# Add the standard library to the build -target_link_libraries(0x0008_uninitialized-variables-d - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0008_uninitialized-variables-d PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0008_uninitialized-variables-d) - diff --git a/0x0008_uninitialized-variables-d/pico_sdk_import.cmake b/0x0008_uninitialized-variables-d/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0008_uninitialized-variables-d/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0008_uninitialized-variables-e/.gitignore b/0x0008_uninitialized-variables-e/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0008_uninitialized-variables-e/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0008_uninitialized-variables-e/.vscode/c_cpp_properties.json b/0x0008_uninitialized-variables-e/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x0008_uninitialized-variables-e/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0008_uninitialized-variables-e/.vscode/cmake-kits.json b/0x0008_uninitialized-variables-e/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0008_uninitialized-variables-e/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0008_uninitialized-variables-e/.vscode/extensions.json b/0x0008_uninitialized-variables-e/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0008_uninitialized-variables-e/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0008_uninitialized-variables-e/.vscode/launch.json b/0x0008_uninitialized-variables-e/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0008_uninitialized-variables-e/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0008_uninitialized-variables-e/.vscode/settings.json b/0x0008_uninitialized-variables-e/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x0008_uninitialized-variables-e/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0008_uninitialized-variables-e/.vscode/tasks.json b/0x0008_uninitialized-variables-e/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0008_uninitialized-variables-e/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0008_uninitialized-variables-e/0x0008_uninitialized-variables-e.c b/0x0008_uninitialized-variables-e/0x0008_uninitialized-variables-e.c deleted file mode 100644 index 5dba746..0000000 --- a/0x0008_uninitialized-variables-e/0x0008_uninitialized-variables-e.c +++ /dev/null @@ -1,69 +0,0 @@ -int main(void) { - __asm__ volatile ( - // gpio_init(LED_PIN); - /// gpio_set_dir(LED_PIN, GPIO_IN); - //// gpioc_bit_oe_put(LED_PIN, GPIO_OUT); - "movs r4, #0x10\n" // GPIO16 - "movs r5, #0x01\n" // bit 1; used for OUT/OE writes - "mcrr p0, #4, r4, r5, c4\n" // gpioc_bit_oe_put(16, 1); p102 - - // gpio_set_function(LED_PIN, GPIO_FUNC_SIO); - /// hw_write_masked(&pads_bank0_hw->io[LED_PIN], - /// PADS_BANK0_GPIO0_IE_BITS, - /// PADS_BANK0_GPIO0_IE_BITS | PADS_BANK0_GPIO0_OD_BITS - /// ); - //// hw_xor_bits(addr, (*addr ^ values) & write_mask); - "ldr r3, =0x40038044\n" // &pads_bank0_hw->io[16]; p785, p796 - "ldr r2, [r3]\n" // load current config - "bic r2, r2, #0x80\n" // clear OD; output disable - "orr r2, r2, #0x40\n" // set IE; enable input buffer - "str r2, [r3]\n" // store updated config - /// io_bank0_hw->io[LED_PIN].ctrl = GPIO_FUNC_SIO << IO_BANK0_GPIO0_CTRL_FUNCSEL_LSB; - "ldr r3, =0x40028084\n" // &io_bank0_hw->io[16].ctrl; p603, p637 - "ldr r2, [r3]\n" // load current config - "bic r2, r2, #0x1f\n" // clear FUNCSEL bits [4:0] - "orr r2, r2, #5\n" // set FUNCSEL = 5 (SIO) - "str r2, [r3]\n" // store updated config - /// hw_clear_bits(&pads_bank0_hw->io[gpio], PADS_BANK0_GPIO0_ISO_BITS); - "ldr r3, =0x40038044\n" // &pads_bank0_hw->io[16]; p785, p796 - "ldr r2, [r3]\n" // load current config - "bic r2, r2, #0x100\n" // clear ISO bit (bit 8) un‑isolate pad - "str r2, [r3]\n" // store updated config - - // gpio_set_dir(LED_PIN, GPIO_OUT); - /// gpioc_bit_oe_put(LED_PIN, GPIO_OUT); - "movs r4, #0x10\n" // GPIO16 - "movs r5, #0x01\n" // bit 1; used for OUT/OE writes - "mcrr p0, #4, r4, r5, c4\n" // gpioc_bit_oe_put(16, 1); p102 - - // while (true) - "1:\n" // loop start - - // gpio_put(LED_PIN, 1); - /// gpioc_bit_out_put(LED_PIN, 1); - "movs r4, #0x10\n" // GPIO16 - "movs r5, #0x01\n" // bit 1; used for OUT/OE writes - "mcrr p0, #4, r4, r5, c0\n" // gpioc_bit_out_put(16, 1) - // sleep_ms(500); - /// sleep_us(500 * 1000ull); - "ldr r2, =0x17D7840\n" // r2 = ~8.4M cycles - "2:\n" // delay loop - "subs r2, r2, #1\n" // decrement counter - "bne 2b\n" // repeat until zero - - // gpio_put(LED_PIN, 1); - /// gpioc_bit_out_put(LED_PIN, 1); - "movs r4, #0x10\n" // GPIO16 - "movs r5, #0x00\n" // bit 0; used for OUT/OE writes - "mcrr p0, #4, r4, r5, c0\n" // gpioc_bit_out_put(16, 0) - // sleep_ms(500); - /// sleep_us(500 * 1000ull); - "ldr r2, =0x17D7840\n" // r2 = ~8.4M cycles - "3:\n" // delay loop - "subs r2, r2, #1\n" // decrement counter - "bne 3b\n" // repeat until zero - - // jmp - "b 1b\n" // repeat forever - ); -} diff --git a/0x0008_uninitialized-variables-e/CMakeLists.txt b/0x0008_uninitialized-variables-e/CMakeLists.txt deleted file mode 100644 index bfc1c28..0000000 --- a/0x0008_uninitialized-variables-e/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0008_uninitialized-variables-e C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0008_uninitialized-variables-e 0x0008_uninitialized-variables-e.c ) - -pico_set_program_name(0x0008_uninitialized-variables-e "0x0008_uninitialized-variables-e") -pico_set_program_version(0x0008_uninitialized-variables-e "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0008_uninitialized-variables-e 0) -pico_enable_stdio_usb(0x0008_uninitialized-variables-e 0) - -# Add the standard library to the build -target_link_libraries(0x0008_uninitialized-variables-e - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0008_uninitialized-variables-e PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0008_uninitialized-variables-e) - diff --git a/0x0008_uninitialized-variables-e/pico_sdk_import.cmake b/0x0008_uninitialized-variables-e/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0008_uninitialized-variables-e/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0008_uninitialized-variables/.gitignore b/0x0008_uninitialized-variables/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0008_uninitialized-variables/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0008_uninitialized-variables/.vscode/c_cpp_properties.json b/0x0008_uninitialized-variables/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x0008_uninitialized-variables/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0008_uninitialized-variables/.vscode/cmake-kits.json b/0x0008_uninitialized-variables/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0008_uninitialized-variables/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0008_uninitialized-variables/.vscode/extensions.json b/0x0008_uninitialized-variables/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0008_uninitialized-variables/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0008_uninitialized-variables/.vscode/launch.json b/0x0008_uninitialized-variables/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0008_uninitialized-variables/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0008_uninitialized-variables/.vscode/settings.json b/0x0008_uninitialized-variables/.vscode/settings.json deleted file mode 100644 index 4e5d7b6..0000000 --- a/0x0008_uninitialized-variables/.vscode/settings.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja", - "files.associations": { - "addressmap.h": "c", - "resets.h": "c", - "pads_bank0.h": "c" - } -} diff --git a/0x0008_uninitialized-variables/.vscode/tasks.json b/0x0008_uninitialized-variables/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x0008_uninitialized-variables/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0008_uninitialized-variables/0x0008_uninitialized-variables.c b/0x0008_uninitialized-variables/0x0008_uninitialized-variables.c deleted file mode 100644 index 0c94677..0000000 --- a/0x0008_uninitialized-variables/0x0008_uninitialized-variables.c +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include "pico/stdlib.h" - -#define LED_PIN 16 - -int main(void) { - uint8_t age; - - stdio_init_all(); - - gpio_init(LED_PIN); - gpio_set_dir(LED_PIN, GPIO_OUT); - - while (true) { - printf("age: %d\r\n", age); - - gpio_put(LED_PIN, 1); - sleep_ms(500); - - gpio_put(LED_PIN, 0); - sleep_ms(500); - } -} diff --git a/0x0008_uninitialized-variables/CMakeLists.txt b/0x0008_uninitialized-variables/CMakeLists.txt deleted file mode 100644 index c2ac591..0000000 --- a/0x0008_uninitialized-variables/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0008_uninitialized-variables C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0008_uninitialized-variables 0x0008_uninitialized-variables.c ) - -pico_set_program_name(0x0008_uninitialized-variables "0x0008_uninitialized-variables") -pico_set_program_version(0x0008_uninitialized-variables "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0008_uninitialized-variables 1) -pico_enable_stdio_usb(0x0008_uninitialized-variables 0) - -# Add the standard library to the build -target_link_libraries(0x0008_uninitialized-variables - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0008_uninitialized-variables PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0008_uninitialized-variables) - diff --git a/0x0008_uninitialized-variables/pico_sdk_import.cmake b/0x0008_uninitialized-variables/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0008_uninitialized-variables/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x000b_integer-data-type/.gitignore b/0x000b_integer-data-type/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x000b_integer-data-type/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x000b_integer-data-type/.vscode/c_cpp_properties.json b/0x000b_integer-data-type/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x000b_integer-data-type/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x000b_integer-data-type/.vscode/cmake-kits.json b/0x000b_integer-data-type/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x000b_integer-data-type/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x000b_integer-data-type/.vscode/extensions.json b/0x000b_integer-data-type/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x000b_integer-data-type/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x000b_integer-data-type/.vscode/launch.json b/0x000b_integer-data-type/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x000b_integer-data-type/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x000b_integer-data-type/.vscode/settings.json b/0x000b_integer-data-type/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x000b_integer-data-type/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x000b_integer-data-type/.vscode/tasks.json b/0x000b_integer-data-type/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x000b_integer-data-type/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x000b_integer-data-type/0x000b_integer-data-type.c b/0x000b_integer-data-type/0x000b_integer-data-type.c deleted file mode 100644 index 6a0d6ab..0000000 --- a/0x000b_integer-data-type/0x000b_integer-data-type.c +++ /dev/null @@ -1,67 +0,0 @@ -#include -#include "pico/stdlib.h" - -int main(void) { - uint8_t age = 43; - int8_t range = -42; - - stdio_init_all(); - - __asm volatile ( - "ldr r3, =0x40038000\n" // address of PADS_BANK0_BASE - "ldr r2, =0x40028004\n" // address of IO_BANK0 GPIO0.ctrl - "movs r0, #16\n" // GPIO16 (start pin) - - "init_loop:\n" // loop start - "lsls r1, r0, #2\n" // pin * 4 (pad offset) - "adds r4, r3, r1\n" // PADS base + offset - "ldr r5, [r4]\n" // load current config - "bic r5, r5, #0x180\n" // clear OD+ISO - "orr r5, r5, #0x40\n" // set IE - "str r5, [r4]\n" // store updated config - - "lsls r1, r0, #3\n" // pin * 8 (ctrl offset) - "adds r4, r2, r1\n" // IO_BANK0 base + offset - "ldr r5, [r4]\n" // load current config - "bic r5, r5, #0x1f\n" // clear FUNCSEL bits [4:0] - "orr r5, r5, #5\n" // set FUNCSEL = 5 (SIO) - "str r5, [r4]\n" // store updated config - - "mov r4, r0\n" // pin - "movs r5, #1\n" // bit 1; used for OUT/OE writes - "mcrr p0, #4, r4, r5, c4\n" // gpioc_bit_oe_put(pin,1) - "adds r0, r0, #1\n" // increment pin - "cmp r0, #20\n" // stop after pin 18 - "blt init_loop\n" // loop until r0 == 20 - ); - - uint8_t pin = 16; - - while (1) { - __asm volatile ( - "mov r4, %0\n" // pin - "movs r5, #0x01\n" // bit 1; used for OUT/OE writes - "mcrr p0, #4, r4, r5, c0\n" // gpioc_bit_out_put(16, 1) - : - : "r"(pin) - : "r4","r5" - ); - sleep_ms(500); - - __asm volatile ( - "mov r4, %0\n" // pin - "movs r5, #0\n" // bit 0; used for OUT/OE writes - "mcrr p0, #4, r4, r5, c0\n" // gpioc_bit_out_put(16, 0) - : - : "r"(pin) - : "r4","r5" - ); - sleep_ms(500); - - pin++; - if (pin > 18) pin = 16; - - printf("age: %d\r\n", age); - printf("range: %d\r\n", range); - } -} diff --git a/0x000b_integer-data-type/CMakeLists.txt b/0x000b_integer-data-type/CMakeLists.txt deleted file mode 100644 index 6178a2a..0000000 --- a/0x000b_integer-data-type/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x000b_integer-data-type C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x000b_integer-data-type 0x000b_integer-data-type.c ) - -pico_set_program_name(0x000b_integer-data-type "0x000b_integer-data-type") -pico_set_program_version(0x000b_integer-data-type "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x000b_integer-data-type 1) -pico_enable_stdio_usb(0x000b_integer-data-type 0) - -# Add the standard library to the build -target_link_libraries(0x000b_integer-data-type - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x000b_integer-data-type PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x000b_integer-data-type) - diff --git a/0x000b_integer-data-type/pico_sdk_import.cmake b/0x000b_integer-data-type/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x000b_integer-data-type/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x000e_floating-point-data-type/.gitignore b/0x000e_floating-point-data-type/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x000e_floating-point-data-type/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x000e_floating-point-data-type/.vscode/c_cpp_properties.json b/0x000e_floating-point-data-type/.vscode/c_cpp_properties.json deleted file mode 100644 index e80461d..0000000 --- a/0x000e_floating-point-data-type/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h", - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x000e_floating-point-data-type/.vscode/cmake-kits.json b/0x000e_floating-point-data-type/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x000e_floating-point-data-type/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x000e_floating-point-data-type/.vscode/extensions.json b/0x000e_floating-point-data-type/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x000e_floating-point-data-type/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x000e_floating-point-data-type/.vscode/launch.json b/0x000e_floating-point-data-type/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x000e_floating-point-data-type/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x000e_floating-point-data-type/.vscode/settings.json b/0x000e_floating-point-data-type/.vscode/settings.json deleted file mode 100644 index cdb8e61..0000000 --- a/0x000e_floating-point-data-type/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x000e_floating-point-data-type/.vscode/tasks.json b/0x000e_floating-point-data-type/.vscode/tasks.json deleted file mode 100644 index f427bf0..0000000 --- a/0x000e_floating-point-data-type/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x000e_floating-point-data-type/0x000e_floating-point-data-type.c b/0x000e_floating-point-data-type/0x000e_floating-point-data-type.c deleted file mode 100644 index fb3d382..0000000 --- a/0x000e_floating-point-data-type/0x000e_floating-point-data-type.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include "pico/stdlib.h" - -int main(void) { - float fav_num = 42.5; - - stdio_init_all(); - - while (true) - printf("fav_num: %f\r\n", fav_num); -} diff --git a/0x000e_floating-point-data-type/CMakeLists.txt b/0x000e_floating-point-data-type/CMakeLists.txt deleted file mode 100644 index 72041a0..0000000 --- a/0x000e_floating-point-data-type/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x000e_floating-point-data-type C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x000e_floating-point-data-type 0x000e_floating-point-data-type.c ) - -pico_set_program_name(0x000e_floating-point-data-type "0x000e_floating-point-data-type") -pico_set_program_version(0x000e_floating-point-data-type "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x000e_floating-point-data-type 1) -pico_enable_stdio_usb(0x000e_floating-point-data-type 0) - -# Add the standard library to the build -target_link_libraries(0x000e_floating-point-data-type - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x000e_floating-point-data-type PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x000e_floating-point-data-type) - diff --git a/0x000e_floating-point-data-type/pico_sdk_import.cmake b/0x000e_floating-point-data-type/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x000e_floating-point-data-type/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0011_double-floating-point-data-type/.gitignore b/0x0011_double-floating-point-data-type/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0011_double-floating-point-data-type/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0011_double-floating-point-data-type/.vscode/c_cpp_properties.json b/0x0011_double-floating-point-data-type/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x0011_double-floating-point-data-type/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0011_double-floating-point-data-type/.vscode/cmake-kits.json b/0x0011_double-floating-point-data-type/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0011_double-floating-point-data-type/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0011_double-floating-point-data-type/.vscode/extensions.json b/0x0011_double-floating-point-data-type/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0011_double-floating-point-data-type/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0011_double-floating-point-data-type/.vscode/launch.json b/0x0011_double-floating-point-data-type/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0011_double-floating-point-data-type/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0011_double-floating-point-data-type/.vscode/settings.json b/0x0011_double-floating-point-data-type/.vscode/settings.json deleted file mode 100644 index 95be83b..0000000 --- a/0x0011_double-floating-point-data-type/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0011_double-floating-point-data-type/.vscode/tasks.json b/0x0011_double-floating-point-data-type/.vscode/tasks.json deleted file mode 100644 index 2359f7f..0000000 --- a/0x0011_double-floating-point-data-type/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Risc-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0011_double-floating-point-data-type/0x0011_double-floating-point-data-type.c b/0x0011_double-floating-point-data-type/0x0011_double-floating-point-data-type.c deleted file mode 100644 index d4f3d11..0000000 --- a/0x0011_double-floating-point-data-type/0x0011_double-floating-point-data-type.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include "pico/stdlib.h" - -int main(void) { - double fav_num = 42.52525; - - stdio_init_all(); - - while (true) - printf("fav_num: %lf\r\n", fav_num); -} diff --git a/0x0011_double-floating-point-data-type/CMakeLists.txt b/0x0011_double-floating-point-data-type/CMakeLists.txt deleted file mode 100644 index 035b92e..0000000 --- a/0x0011_double-floating-point-data-type/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0011_double-floating-point-data-type C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0011_double-floating-point-data-type 0x0011_double-floating-point-data-type.c ) - -pico_set_program_name(0x0011_double-floating-point-data-type "0x0011_double-floating-point-data-type") -pico_set_program_version(0x0011_double-floating-point-data-type "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0011_double-floating-point-data-type 1) -pico_enable_stdio_usb(0x0011_double-floating-point-data-type 0) - -# Add the standard library to the build -target_link_libraries(0x0011_double-floating-point-data-type - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0011_double-floating-point-data-type PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0011_double-floating-point-data-type) - diff --git a/0x0011_double-floating-point-data-type/pico_sdk_import.cmake b/0x0011_double-floating-point-data-type/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0011_double-floating-point-data-type/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0011a_cb/.gitignore b/0x0011a_cb/.gitignore deleted file mode 100644 index 7bc658f..0000000 --- a/0x0011a_cb/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -build/ -.DS_Store -*.swp -*~ diff --git a/0x0011a_cb/0x0011a_cb.bin b/0x0011a_cb/0x0011a_cb.bin deleted file mode 100755 index 65ecf0b9d72ed849c1a1042cf75ae133addacd95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45832 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 z 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 M|GRau6rlM3FI+6wIsgCw diff --git a/0x0011a_cb/0x0011a_cb_patched.bin b/0x0011a_cb/0x0011a_cb_patched.bin deleted file mode 100644 index d8a3de5536f08d4727b086e6dc27506a8c09f84f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45832 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
  • WJKH1g{t@3C-caejsmYE6`8B)U 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

    =4eL@}ir*OOWI%-w*T!l&cCC7JWx*+;LnKTL0Le zPZ%o#8ZWHFn2#JHaWvT!cPa7-6X8}^^yQ>-7EMbE$)esnxN$27KMC-Nws@!TDHovQ zE@~T))U}1WO2hO1`;uh&3k&|&+4<)*`{N>L&xR<-5%G^56~s*caaR7H^6A|F@EQ0w zKK+kj{o9K9i}%2vd^!i~|CfF`4;Sm-#(l#Z;fuP&tkrGVIon0L3uTi0wBS@IBYr&v zqcD^Hf_5Z1`TR72OZ@0@zj@KVb-#7dE^tz&reRs$UeR7&@stGy4#xKtQgrkTowc4w zz_}7WfFA{n0%g+22zdh}C`XJ9X0#!8{Y{$pIjYz+y zA+koyLV#Umt$?f;>u}CL5Ht4XTrcnQ2>Evi;rC#m7)j5cW86oxq)KZ_2TKVS0cz0-G+bpyMOe?)Psm5igJqW9NKu2)*Zn)(;Uc z7+Ss;myZqD$};tDZ>!I)h2E-qAUDxEoU-27WvGY>xz_u=IUbxcD00E{I%;N*ycmb#J>6&D>fDF#cSypihZLU>H5( z)Irb2to(>`M$i+1R7QgQ8#8&YyhvevIMgA}JK)(u2!z3&L0e8whW>An(Ct|7-H#Yz zxcn$?)6&IBP5Uq>n%1E=JQh2z-*YJE*7$rk%~9%>R+j2%Q4+Prb4F4R#>1Ww5fH;; zH1}}!YJmQnNGzR}PqSHoZ)V@j-l7M+=ctwvZOa;70B5$oLtfKf(<%0HEt89a_;&bq zIV+#;M7{G~&BMo8rdX!x6i3xIRee`2eeT9pK4+^S? zGPlfKo18*4%QGxp@k4d_URZ{4ex?Gq&s}d?6E$<*KwQH#4Dxfdez!U@*|3s(Jhr@A zgDV8UmxQIvP1^xSAeC;F<(t};^nIVO~vl7km2eP^QNVuAmDc4$|Ap@vKa zysQ=lP(I^H*jnJ$_V<+N*1m=WE-2tUM_pBcb&caH6pTUr?yS%1WAa6)1>IQP*BclJggYhT7fUU$Rn=WA4mrv1<}?6T2Vr!`c;LFqeZgo4nA z1J6c=WYiEb-6}F$Vpug{ zb;U@sTvQT zCI;`f*|@E;wQo+ zRB@q-`10V9ZBtxvQu>{>5o-DX+?BTgI2}mCKF-nrO>L&^P;Vpr(-7Zz1cK8%PHDE! zK@zIj?AjR+n6)V7Mvwqvxm;Yr65)xS9ot3vqTY&HBu!ct%FwCGVA(63@#`*N%v?%cM-{X-ou|mqe^pXiEZ`?uB>+0c%yBtKoge;R%N5 zYM~aTvto+LF0o33Sb4D)`{}@@KUqNb0473DnDNJ!e@?^v%tfAEv8hZM6I~_dnKfFb zRv^JtrqB=SXT}c~6H0@CJLRXRSTn;8Fec$=beF{zR;m+@vF0mu{@CiK&w`JqM4E>e zFD}ZXybFOWP1@){#SI==u1~kx0?7&XvEAKn?Wv!db6yEhiyE)piy}=Qk0d>j!Jp)w zigp?>kgGqwDj?rpjQ5Ens!&BbH-hYFxeIlT+u+~}1^#;-g1=5gDw9V2I04f|aVjHL zom}#lvMd9Df-!dVZxAR)``EpCJD2Q|)b9y@Uh%UAu>i+yzz%QG0q zxk530E|zjDtv396QCluA=WE<|pN1Xwe&fel686p!yxU^?y)NP0-D1AjBKm0n{dXQH zhSdzk>(vOlBL&F439x#lZXi0~Si-9uarf=p_=>qSN|STejWk(9+q%szq|=A|zME!?V`h z$_4gr#mNH^f#J>rUu>p9tZ}C7 zqB@c}$Ab22AEV~vWvJWWX{i2#D3AVqM@|*pkQ;bg%ANyvwddxK#nZl{S8a_QOAWEh z)&;D)ECemR+WNj9v~qPO$z!xH-(?4r3A7wPPdTlqCNu1PS06NV`P>J>4s!(fz_DHE z{o%0%8sZstA0|XUANQ8?Q!43(PjSXX%&G8OuB)i6RgV=JRcZ_ykUur zbIt-OeO1B%+&QK)R)Qxp0@%E_5o6=b_FQA<>YaXK`h3Aw+~H0)r5O$H2i#CSNnXb{W&V>Zm;uRd%2UbV>n2H073r?*Kj0(KPGm+Uoz0cDXZsF zG1h~A;F7?>V~0DoCBfAlf4HvQQ68nEi8y0p6$K%TM@NJ`mJn@H(uIIyVpKADcLZ$) zu+K<<2J8>#S^4e9O>b!4pT$j2{Q-h9LukJDN@D^=7L|D>51bGGXHT9;J)cp2pk5`t z(Xep*R~Y#ltcu7DlR>>8a#ZRfF>Yka6Tojwf&nKZ6oMWWrAbTAqGchvlv|?USMECn zkGd`bmtmuv3GGEo#6z>8dV<&$8^Q6zwB&OWow_vKXwbfk6f|I`f=cB*qx=PC@2q|r z;aBm7PK@N+s2+p-_67E;lAI!^Q|l-bf!8!zB%?9{Z^zRqmchWcQlCSjzzu@qy|h!u zTC>>ALf1q62$_>KZfF4;!D~nPZ5$%({#~A-z`k7*<`h%JVXN44P#wZZm4p*|S|T!i z_-J{l)F8CnT3Bq}1)szH(nQzd!-8E$W(f(3LcZ{gF#=@Q5Le5V^z@CWyZCc}CVE5q z3>JBy-Mo!xg|^;nX=uR;#^3~jf{K;;bdL(c5Sq}5T$>d!m8JSP$k$Am!Eo#wjgM8^l=&`2EPttkyODnutFL;8v|ElD%2dMW zSuS$TbKeb~S}cS3Dg8anj8C2tY!1jNuP=*jLnU|&$fnJW4Y8GOHerEGb7(X^S9L9? zh;iRN`Lp0jXj(F40m7(tCag$qrfiXUHL|3^tvrDDV>QW20w;dJnIwMmzs1G3YK(0e zx)j|Bsu26P3QkcFx$9P9C;t{Ox;mzC=S)rgCKYY9ZDIAwTse);$Ny9}5D?j`Xz86`?6L;pHNgwvBS+wC)9HK0Ck z^jT4T`!nSza%bSvdy@D9pkd9x`)gF*@?N~cPe9Ju_P<7@rQZyt=E;#gX7B+DlDw-V z8wqS=peY+?e_5f$eCFa%cHgg;$BHl{dlOYS+#J^fQx?5M@b}%OkF` zq}CjgQJ~(yO248JaWDk~tUMe90a8#URId+45E!nA5iXwy#Js&Q1#DP>Nc>mgv{(xZ zv<3VV4c~IEr3zW8(Py9KUq0NParWC}&A-vimays(U~$KP73GYw8*L*uQ6c|iux|6o zNJy9Hpv5B{QJj5edbUikeqrqnj`x~bqEW@ur}zX375=~wK_q7+Gd>aZThgm!+FnaZ zX1Ey)wH`zGDXbFmbao7Ah+6ZLLQV#5OMLMXH{&MOXElxkQq;AFv=?5MpV%|rMt1_D zsEH+MAC+jz!HVx4-1co)URZn8DI?ZgDBuGrF>=>OyALFSWUz3!B0Xv%5ldguq0}U$ zjbqisaI+v`K7+$Z4~p#(LleZqBacABU<5!$^?=XyfM555)AfQkEj{Q}UwVArBl#qfA5hK)Ql6uLJy!!&gkO(`us=qy$APm?gSAhCuup@r*M_z)?Hbzh0d~LQ zy%*TN{OCn$-pxbo0_XY+#U(w+Mf{r=*_?~O+2dz<`|Jq;>1ys%V#ff2N!)fA$zD4kd(FIifnhUI*UxkbuWMg3?0 zSZ$X9Md;s{W}70jEq3o%ytml`dNoKmRA-y5P6 zUpJ*4>#)Q%o7k`Ir#Crm$5pR56S_${i(N zd!`SFk?PNuE^@M~^%UP|X zInV6&_WXegPA@WYL&$GONvP13FMh4W>$agO6MMp^qf#m^TSmsPL+!5ow~QLtF<=q# z<1(>OyfnZHQe00kcTl+>wwf8O0+(NsmalT-R90`TPK05lT=@#u>0koEI-QW2`czn@ zKJp8T)MVt1HKW8+R7v9ArVEk3Pp&VIoYgZpO3OjV7+2yfO2}b3ui~8RA|f0!cf33j zTpb5=lc?vEhG~+GQE1ho@{tJ2cY%Q{MA>{Pc_-6oXF-IoY?iKemy(tS#lOkQr{Tog za+6j=nq#G_&Vbe)_fOxbUv3Vl?tz(&*MUo$E4Qnk@FnXHdAlT?eqSHyK71DmcvxWgvC;foFwv&t z|5kS^w|U2QiMCYr>mfCIsY`pYuq;np#PMF!FQY4wui+ z*X@Yt{kP^TM}Gy_bVnXyYaq^Hs|JFeskV!$=;09UOjSsl+JS zrt~h^CcIC>>$+uPoj@vwQb&DSQRGpN94NU?rx4mbFu2V0+i}gJ3LdRPNd|kBck}LB ziMV!Wi*x8JlY7jbqT)VIHD^I4__v5H!rX34z97kGSOxlGM-iF zG?h0OJ0Co?cdTLA+1aeNS!FJ@zaIo!DiSTb2Jk=3v;E+2%Jr$!evSr3o3I+u*4rcO z9D>N9;y~RD|I0;Iq5dvF}1$Dbcf_~Q?!B8THwUBm>ZYerlsTk$tE)FH5u-m}AZ7N~hL$+Wo6{>rx{c7t3!on=kDK0zeR_-d+-$oeY)yF z{$LbNTHDWF+wW7`FIy{i#_^V7`|@e&0jBy=DL{X119zE3c5Oo^j54Vg)5tg-Q8iEm zw8FulC3=LR)UN}3WsQ`*f!zmq{=*z^fwnK`Jw2KPArERM9v-3{lw6M(5!#F@_#tX* z`W`kVA0eWkhAVlm#nnsjk;0f>HZ$evlH;ZP%WM2jZgcz|CKCsLJye+;adp${)ZcOV zMZO2eeSKSeQ(XC(O;<$XGnQp2pxgFX;6eCh6w}S@J&&w!*fpzI=M-W<_(B*ku~y4b z4sGY4*FwutY*PsYjx>v=WZ_mcHkoZXh8;0w|F~I;WP%gz`ccIvF_@mT(LyxYc9!h@ zxa7ms8cM$YJZ9IjsIb1Y{Jq9ePQ>1Zwv5tcgkCi>!^_Mufao9`v?+F`$0**20<2Rl zXNNFQx^<`#!iIpATON9%*#ehewph*D*4kF(`ik9SX?8X7nv(R>`>g+5JDG- zvC%H5aPjtAvV*rBl?yz9uyl6Bcm_1^BlyRvworB z*#c}k1l?YiJr~kT4qr1L)qGnGc;8~ht{-qWr6I_7y10h7R6O3he2IM60nR_+>hk~- zc7_ak;6USQwRg?cj4JIy97(8R!}XEF>NP$c#iV~CeogNzogaq}FUX<<2c z))YSkeuFP!5s#j)IU*5>XA3f#LXBbzb4@DnS^zzym3AeE7tV`?uf`FXOr8N}bLp&S zmCk5UFZ~dbn-*UKVH+X@Vj3ka3W>ZBr+=7f#5S3=G@1PhGHUP{p%uPrMM;hT>RNTV} zEaaN`_L*whCCM0X37cs zK_PjurF*_v*T%C+02V41Qu%TqQ^d80R$V+2rXe@3(hA>XC_QBYmZ4h6Puj+Y&U{iU zqX}~ZDInHFsuvz5+(L7rT!4%{X(zqOwt8;DR2D33YGWs7_v4UC&Z4bMEAB!b*9{Q%k#GcM~Ovju_5*_fC%&{BC-Z z<-N9TgyN0thpl;KqQ%y?5yaDM2(;04&Pst{09!+zwRHR{&pOBD1ev~*&x*}#yT!Jj zTYbdNt`3^;Q~cdqJ6~rHn(xMEbyS5-9$Q}Y3HP@Waa4P-e>-0x>WHKyIU67+9?l)w z7_dXkLd+CO2I9@ZmzZ$MVrVy4b;A>?#mdo7H!HU#&d@4Sk0|IN09|L;^Pi*_TF18R zKTi%P+G#}$@Kt}~8)03ItJG_AJv*E;^m#NqtBIC2WqjAcuPK*!li5~Lm->t(X;UqI zTRIc906sGXu-!VY75m8ec@o_-e72N^KU*b}%J@w#tHV4J#BAP=?okc{zmo&m-2Ufgk`sW1FYqh9H z)==rf1P)3qpj~JvE5{gl0j@?wO92mMX1NYy!*E7=u64Casp8~ZR|pURlUFSGJ7M6O zM7i!)dH#VU3-XI|>XTkwtj77Z9=2v26`|-i za9x*~y zn#58frATmSH;ArQ8D0C0S9PgX(ImicA!m{WuDW}5s>3K|;B0}CAkf&9rIMYea61HD z^V5KiJ@!}sip|%MYgYUoVZ@JkZ+;y{4`cN_ z*NG;qc${bNdLG2_;KGK+lSTm#0s6>1HQ>jA;1i_;bBJ_%ZF=`*n}|=`NAUGl8{$n9j+ z|KjJO-^ajRVSoIB6syJTn;!KP6PiYTib+c)UHaWl&hQyySD8A=nte-a$!-d*r(|_A z`bPN_!ql%Ossst9vz&r;Ab%YZ$s{ML2j!~;xHo*kdva^@$+PgHth<-yhS|is&|@rK zSW78MYWSOTUQIHbL2cmU$39LSR^oyIFjv&;9^zmbJyX&U=PV?gYos-o*A^~ zKGb~_@Jn%H^O^8-@T?r^%-*k)x7e4=DOC|Z`|$~rgw4-w?>6sYZM?5HeNy8+5M|7C z({q4;Wpdlbez3Iyq+~@0iCGx9@)Po7Hx`r*K?-I`jiVi-SF-bz_r=EwESV-}gKav|5;=4bVs^bp zcPD)D`!Ok8?Oow|~#GhM@WVC;PF*K$9T(dO)S$T7M<_t;GD)I6mia?dIbtw*3oMM)1_wyJ=m z`&2wOqAMk~9?i1t8XMI-=6pH=Rn$bmr`K>h4HrU-Ox&mAt>|u;pZ&v%s)%NT%-054 zvqrlOuuyI;r`4Eqe!KfMcq>OhU3ZNS=PRqA(4)k4of=h9$vOQ#%!ASkOxMLZT*aVm zAk-b`FZ=02v&5rCG-)oo(Sh|NngG1o*a(@x(NlYZhJ^Xnan?x zl&QG~ew;;s)B+T3XjoS^am8cLD2Sv;mMM-~yfFo?t*HVnTmq@Pv@Z#L*HW^jqfLAo;z3*^$|HGS$0l1$4YeE73mYPA;JpW_% zX;4b7#Ga-Aa>KOp+xK%yS50y8bXozGWaP@z#cik4v$_(?dz|>H0<)4izP6It)lypp z9+zSkGg8@xk)*4(>I&FYS5pUk`i(+$4}0Xz2A|8TqjF7pT|)l%jpa#n!gco3P|VK7 z9{_%jY9~oIN#!v<=a+{BGAhL@rnN76KI?azod#uGj2#XiafJ~Fq@m?IEP*(Ko?yC+ zd_7Q{ICGEc5mqzhU+^&6nvYTZD@pYvax+pGj20R+_ikO)1o3!T;177nsb;016ZSwG z80lG){1rY1i}02)l$67VOFwQwqB$JSdGBl2irg!s05YbP3mrZlVPT{#Mk$OZur)-` z*$_u!oQv@LCC0AnxxSoUZ0%5uXzhoVjB47xHJ;sdSTv6$G)Gg!G zz6U8m_g8Ty0dP+~-c_aF=d!K7(P`ExAt{9XRC6KaXc60Um-lydl3-4|ecE#XBs8~d z(c0B`o^Noirp_fU$q_#3X3>KF#V=^W%#+x2ES4A$CO!|E_ihi3fgV>WfIqM@r2k(R3hdBwZq`NtrCdl{? z;$GMcbM%~4sQw!!_@_-~Oy@Gn*(oX+8=L#%pw|r5_*L&u)NV|RqwNB%rs2%1AQe0A zqLk0tgjaxZtrnvANe%S#L!wKU7b?GPduJ67`(4jxKm??5&!!OM`SPk5; zlH$GFS(xnG%(jDqxLPijXP$#8`j2i0A3MF@9+U2VSdC&UG0L7(YKpiFThq?59wWOz zf-?lU{Q|FCOFAA^`YmqD0w7n9-5<$DH?$;z`g;9v$5Jh0FlnmgwlrX9@47>Oq)Ll*m z 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 V?$4b8pbrCGjf#s)LQ#_H{{Z@N@Q?ri diff --git a/0x0011a_cb/CMakeLists.txt b/0x0011a_cb/CMakeLists.txt deleted file mode 100644 index 1467c8d..0000000 --- a/0x0011a_cb/CMakeLists.txt +++ /dev/null @@ -1,108 +0,0 @@ -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: CMakeLists.txt -# Desc: Configures the RP2350 Pico SDK project for the Operation Dark Vector -# micro-UAV autonomous guidance firmware. -# Created: 2026 - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0011a_cb C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable with modular sources in src/ -add_executable(0x0011a_cb - src/main.c - src/gps.c - src/lora.c - src/propeller.c - src/payload.c - src/navigation.c - src/aes.c - src/lcd.c -) - -pico_set_program_name(0x0011a_cb "0x0011a_cb") -pico_set_program_version(0x0011a_cb "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0011a_cb 1) -pico_enable_stdio_usb(0x0011a_cb 0) -set(CTF_TARGET_LAT "38.881940" CACHE STRING "CTF target latitude (per-student randomized)") -set(CTF_TARGET_LON "-77.450280" CACHE STRING "CTF target longitude (per-student randomized)") - -target_compile_definitions(0x0011a_cb PRIVATE - PICO_DEFAULT_UART_BAUD_RATE=115200 - CTF_TARGET_LAT=${CTF_TARGET_LAT} - CTF_TARGET_LON=${CTF_TARGET_LON} -) - -# Generate PIO header -pico_generate_pio_header(0x0011a_cb ${CMAKE_CURRENT_LIST_DIR}/src/uart_rx.pio) - -# Add the standard library to the build -target_link_libraries(0x0011a_cb - pico_stdlib - hardware_uart - hardware_pio - hardware_pwm - hardware_i2c -) - -# Add the standard include files to the build -target_include_directories(0x0011a_cb PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/include -) - -pico_add_extra_outputs(0x0011a_cb) diff --git a/0x0011a_cb/include/aes.h b/0x0011a_cb/include/aes.h deleted file mode 100644 index 43f55a8..0000000 --- a/0x0011a_cb/include/aes.h +++ /dev/null @@ -1,24 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// File: aes.h -// Desc: Declares AES-128-ECB single-block decryption. -// Created: 2026 - -#ifndef AES_H -#define AES_H - -#include - -/** - * @brief Decrypt one 16-byte block with AES-128-ECB. - * - * @param in 16-byte ciphertext. - * @param key 16-byte key. - * @param out 16-byte plaintext output. - * @return None. - */ -void aes128_ecb_decrypt_block(const uint8_t in[16], const uint8_t key[16], uint8_t out[16]); - -#endif // AES_H diff --git a/0x0011a_cb/include/ctf_target.h b/0x0011a_cb/include/ctf_target.h deleted file mode 100644 index 40899c4..0000000 --- a/0x0011a_cb/include/ctf_target.h +++ /dev/null @@ -1,17 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// File: ctf_target.h -// Desc: AES-128-ECB key and ciphertext for the real target waypoint. -// Created: 2026 - -#ifndef CTF_TARGET_H -#define CTF_TARGET_H - -#include - -#define CTF_AES_KEY { 0x56, 0x45, 0x43, 0x54, 0x4F, 0x52, 0x31, 0x31, 0x41, 0x45, 0x53, 0x4B, 0x45, 0x59, 0x21, 0x21 } -#define CTF_TARGET_CT { 0x20, 0x4F, 0xAC, 0xC2, 0xC0, 0x23, 0xEA, 0x7A, 0x3A, 0x93, 0x0F, 0x71, 0x11, 0x23, 0xEF, 0xCA } - -#endif // CTF_TARGET_H diff --git a/0x0011a_cb/include/gps.h b/0x0011a_cb/include/gps.h deleted file mode 100644 index 7a02193..0000000 --- a/0x0011a_cb/include/gps.h +++ /dev/null @@ -1,67 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: gps.h -// Desc: Declares PIO UART GPS receiver interface and NMEA parsing logic. -// Created: 2026 - -#ifndef GPS_H -#define GPS_H - -#include -#include "hardware/pio.h" - -#define GPS_PIN 7 -#define GPS_BAUD 9600 -#define GPS_PIO pio0 -#define GPS_SM 0 - -/** - * @brief Initialize PIO UART receiver on GPIO7 for u-blox NEO-6M GPS. - * - * @param None. - * @return None. - */ -void init_gps_pio(void); - -/** - * @brief Poll PIO RX FIFO and parse incoming NMEA GPS coordinates. - * - * @param lat Pointer to double storing updated latitude. - * @param lon Pointer to double storing updated longitude. - * @return bool True if a valid active 3D GPS fix (RMC 'A') was received, false otherwise. - */ -bool poll_gps(double *lat, double *lon); - -/** - * @brief Read latest GNSS signal statistics parsed from GSV sentences. - * - * @param siv Pointer to store satellites-in-view count. - * @param cno Pointer to store best carrier-to-noise ratio in dBHz. - * @return None. - */ -void gps_get_stats(int *siv, int *cno); - -#endif // GPS_H diff --git a/0x0011a_cb/include/lcd.h b/0x0011a_cb/include/lcd.h deleted file mode 100644 index 417cfd0..0000000 --- a/0x0011a_cb/include/lcd.h +++ /dev/null @@ -1,74 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lcd.h -// Desc: Declares I2C HD44780 (16x2) LCD interface for telemetry coordinates. -// Created: 2026 - -#ifndef LCD_H -#define LCD_H - -#include -#include -#include "hardware/i2c.h" - -#define LCD_I2C_INST i2c1 -#define LCD_SDA_PIN 2 -#define LCD_SCL_PIN 3 -#define LCD_BAUD 100000 - -/** - * @brief Initialize I2C0 peripheral and detect/configure 1602 LCD backpack. - * - * @param None. - * @return None. - */ -void init_lcd(void); - -/** - * @brief Render current latitude and longitude on the 16x2 character display. - * - * Row 0: LAT: dd.dddddd N - * Row 1: LON: dd.dddddd W - * - * @param lat Current latitude in decimal degrees. - * @param lon Current longitude in decimal degrees. - * @return None. - */ -void lcd_show_coords(double lat, double lon); - -/** - * @brief Render GNSS acquisition telemetry (satellites and C/N0) on the LCD. - * - * Row 0: SAT: nn CNO: nn - * Row 1: ACQUIRING... when satellites are in view, else NO SIGNAL - * - * @param sats Number of satellites currently in view. - * @param cno Best carrier-to-noise ratio in dBHz. - * @return None. - */ -void lcd_show_gnss(int sats, int cno); - -#endif // LCD_H diff --git a/0x0011a_cb/include/lora.h b/0x0011a_cb/include/lora.h deleted file mode 100644 index dc037a5..0000000 --- a/0x0011a_cb/include/lora.h +++ /dev/null @@ -1,64 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lora.h -// Desc: Declares UART1 interface for the REYAX RYLR998 LoRa transceiver. -// Created: 2026 - -#ifndef LORA_H -#define LORA_H - -#include "hardware/uart.h" - -#define LORA_UART uart1 -#define LORA_BAUD 9600 -#define LORA_TX_PIN 8 -#define LORA_RX_PIN 9 - -/** - * @brief Initialize LoRa transceiver over UART1 on GPIO8 and GPIO9 - * - * @param None. - * @return None. - */ -void init_lora(void); - -/** - * @brief Transmit string message over LoRa UART1 interface - * - * @param msg Null-terminated string buffer to transmit. - * @return None. - */ -void lora_send(const char *msg); - -/** - * @brief Service the LoRa UART: stream pending TX bytes and drain RX. - * - * @param None. - * @return None. - */ -void lora_tick(void); - -#endif // LORA_H diff --git a/0x0011a_cb/include/navigation.h b/0x0011a_cb/include/navigation.h deleted file mode 100644 index 676335c..0000000 --- a/0x0011a_cb/include/navigation.h +++ /dev/null @@ -1,87 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: navigation.h -// Desc: Declares autonomous guidance, dead-reckoning, and telemetry interface. -// Created: 2026 - -#ifndef NAVIGATION_H -#define NAVIGATION_H - -#include - -/** @brief Pre-programmed programmed decoy waypoint (Centreville, VA). */ -extern const double ORIGIN_LAT; -extern const double ORIGIN_LON; - -/** @brief Target coordinates, reconstructed at boot from masked constants. */ -extern double TARGET_LAT; -extern double TARGET_LON; - -/** - * @brief Reconstruct the target waypoint from its XOR-masked constants. - * - * @param None. - * @return None. - */ -void init_navigation(void); - -/** - * @brief Transmit telemetry stream over Debug UART0 and LoRa UART1. - * - * @param cur_lat Current micro-UAV latitude. - * @param cur_lon Current micro-UAV longitude. - * @return None. - */ -void send_telemetry(double cur_lat, double cur_lon); - -/** - * @brief Advance dead-reckoning position toward programmed waypoint. - * - * @param cur_lat Pointer to current latitude. - * @param cur_lon Pointer to current longitude. - * @return None. - */ -void dead_reckon_step(double *cur_lat, double *cur_lon); - -/** - * @brief Verify if micro-UAV has arrived at target coordinates. - * - * @param cur_lat Current latitude coordinate. - * @param cur_lon Current longitude coordinate. - * @return true if arrived at target, false otherwise. - */ -bool check_arrival(double cur_lat, double cur_lon); - -/** - * @brief Manage guidance progression, propeller oscillation, and payload release. - * - * @param cur_lat Current latitude coordinate. - * @param cur_lon Current longitude coordinate. - * @return None. - */ -void navigate_to_target(double cur_lat, double cur_lon); - -#endif // NAVIGATION_H diff --git a/0x0011a_cb/include/payload.h b/0x0011a_cb/include/payload.h deleted file mode 100644 index 14147fa..0000000 --- a/0x0011a_cb/include/payload.h +++ /dev/null @@ -1,68 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: payload.h -// Desc: Declares payload release mechanism interface on GPIO16. -// Created: 2026 - -#ifndef PAYLOAD_H -#define PAYLOAD_H - -#include - -#define LED_RED_PIN 16 -#define LED_GREEN_PIN 17 -#define LED_YELLOW_PIN 18 - -/** - * @brief Initialize GPIO16 (Red failure LED) and GPIO17 (Green success LED). - * - * @param None. - * @return None. - */ -void init_payload(void); - -/** - * @brief Update tri-color GNSS status LEDs from fix state and satellites. - * - * Red (GP16) = no satellites in view; Yellow (GP18) = satellites in view - * while acquiring; Green (GP17) = active 3D fix. - * - * @param fix True if an active 3D GPS fix is held. - * @param siv Number of satellites currently in view. - * @return None. - */ -void set_gnss_leds(bool fix, int siv); - -/** - * @brief Energize payload latch and illuminate both LEDs at target coordinates. - * - * @param None. - * @return None. - */ -void release_payload(void); - -#endif // PAYLOAD_H - diff --git a/0x0011a_cb/include/propeller.h b/0x0011a_cb/include/propeller.h deleted file mode 100644 index 6e90516..0000000 --- a/0x0011a_cb/include/propeller.h +++ /dev/null @@ -1,67 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: propeller.h -// Desc: Declares SG90 servo PWM mock propeller interface on GPIO6. -// Created: 2026 - -#ifndef PROPELLER_H -#define PROPELLER_H - -#define PROPELLER_PIN 6 - -/** - * @brief Initialize 50 Hz PWM on GPIO6 for SG90 mock propeller blade. - * - * @param None. - * @return None. - */ -void init_propeller(void); - -/** - * @brief Advance mock propeller blade oscillation during flight. - * - * @param None. - * @return None. - */ -void propeller_spin(void); - -/** - * @brief Halt mock propeller blade oscillation upon target arrival. - * - * @param None. - * @return None. - */ -void propeller_stop(void); - -/** - * @brief Point the servo at the compass bearing toward the target. - * - * @param deg Bearing in degrees from the current position to the target. - * @return None. - */ -void propeller_set_bearing(double deg); - -#endif // PROPELLER_H diff --git a/0x0011a_cb/pico_sdk_import.cmake b/0x0011a_cb/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0011a_cb/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0011a_cb/scripts/decode_coordinates.py b/0x0011a_cb/scripts/decode_coordinates.py deleted file mode 100644 index 2ea6444..0000000 --- a/0x0011a_cb/scripts/decode_coordinates.py +++ /dev/null @@ -1,411 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: decode_coordinates.py -# Desc: Decode and patch RP2350 micro-UAV navigation coordinates. -# Created: 2026 - -""" -Decode and patch RP2350 micro-UAV navigation coordinates. - -Analyzes raw firmware images for IEEE 754 64-bit double-precision floating -point coordinates. Scans target flight vectors and patches binaries with -safe disposal coordinates in the Atlantic Ocean. -""" - -import math -import struct -import sys -from pathlib import Path - -FLASH_BASE = 0x10000000 -ORIGIN_LAT = 38.840280 -ORIGIN_LON = -77.428890 -ATLANTIC_LAT = 37.000000 -ATLANTIC_LON = -74.000000 - - -def _haversine_calc(phi1: float, phi2: float, - dphi: float, dlam: float) -> float: - """ - Compute central angle using haversine formula. - - Parameters - ---------- - phi1 : float - Origin latitude in radians. - phi2 : float - Target latitude in radians. - dphi : float - Latitude difference in radians. - dlam : float - Longitude difference in radians. - - Returns - ------- - float - Central angular distance in radians. - """ - s_phi = math.sin(dphi / 2.0) ** 2 - s_lam = math.sin(dlam / 2.0) ** 2 - a = s_phi + math.cos(phi1) * math.cos(phi2) * s_lam - return 2.0 * math.atan2(math.sqrt(a), math.sqrt(1.0 - a)) - - -def haversine(lat1: float, lon1: float, - lat2: float, lon2: float) -> tuple[float, float]: - """ - Compute Great-Circle distance and azimuth bearing. - - Parameters - ---------- - lat1 : float - Origin latitude in degrees. - lon1 : float - Origin longitude in degrees. - lat2 : float - Destination latitude in degrees. - lon2 : float - Destination longitude in degrees. - - Returns - ------- - tuple[float, float] - Distance in statute miles and bearing in degrees. - """ - p1, p2 = math.radians(lat1), math.radians(lat2) - dl = math.radians(lon2 - lon1) - dist = 6371.0 * _haversine_calc(p1, p2, math.radians(lat2 - lat1), dl) - y = math.sin(dl) * math.cos(p2) - term = math.sin(p1) * math.cos(p2) * math.cos(dl) - x = math.cos(p1) * math.sin(p2) - term - bearing = (math.degrees(math.atan2(y, x)) + 360.0) % 360.0 - return dist * 0.621371, bearing - - -def _is_coord(val: float) -> bool: - """ - Verify if float falls within target geographic bounds. - - Parameters - ---------- - val : float - Candidate double-precision value. - - Returns - ------- - bool - True if value is a valid latitude or longitude. - """ - if math.isnan(val) or math.isinf(val): - return False - in_lat = 35.0 <= val <= 41.0 - in_lon = -79.0 <= val <= -72.0 - return in_lat or in_lon - - -def _parse_chunk(data: bytes, off: int) -> dict | None: - """ - Extract and validate one 8-byte candidate float. - - Parameters - ---------- - data : bytes - Firmware image buffer. - off : int - Byte offset inside image buffer. - - Returns - ------- - dict | None - Parsed coordinate record or None. - """ - chunk = data[off:off + 8] - val = struct.unpack(" 0.0 else "LONGITUDE" - return {"off": off, "addr": FLASH_BASE + off, "val": val, - "hex": hex_str, "u64": u64, "kind": kind} - - -def scan_coordinates(data: bytes) -> list[dict]: - """ - Scan firmware buffer for double-precision coordinates. - - Parameters - ---------- - data : bytes - Firmware image buffer. - - Returns - ------- - list[dict] - List of candidate coordinate records. - """ - found = [] - limit = len(data) - 8 - for off in range(0, limit, 4): - item = _parse_chunk(data, off) - if item is not None: - found.append(item) - return found - - -def _print_banner(path: Path) -> None: - """ - Print operation heading and recovery origin. - - Parameters - ---------- - path : pathlib.Path - Target firmware path. - - Returns - ------- - None - """ - print("=" * 67) - print(" OPERATION DARK VECTOR // FORENSIC COORDINATE TOOL") - print(" GMU Rapid Hardware Exploitation Laboratory - Fairfax, VA") - print("=" * 67) - print(f"[*] Target Binary: {path.name} ({path.stat().st_size:,} bytes)") - print(f"[*] Recovery Origin: Centreville, VA " - f"({ORIGIN_LAT:.6f}, {ORIGIN_LON:.6f})") - print("-" * 67) - - -def _print_candidate(c: dict) -> None: - """ - Print formatted candidate coordinate entry. - - Parameters - ---------- - c : dict - Candidate coordinate record. - - Returns - ------- - None - """ - print(f" [{c['kind']:9s}] Value: {c['val']:12.6f} | " - f"Addr: 0x{c['addr']:08x} (Offset: 0x{c['off']:04x})") - print(f" Hex: {c['hex']} | uint64: 0x{c['u64']:016x}") - - -def _cardinal_bearing(brg: float) -> str: - """Return compass direction string for given bearing.""" - dirs = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", - "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"] - idx = int((brg + 11.25) / 22.5) % 16 - return dirs[idx] - - -def _print_summary(lat: float, lon: float, mi: float, brg: float) -> None: - """ - Print mission tactical assessment summary. - - Parameters - ---------- - lat : float - Decoded target latitude. - lon : float - Decoded target longitude. - mi : float - Distance in statute miles. - brg : float - Initial bearing in degrees. - - Returns - ------- - None - """ - card = _cardinal_bearing(brg) - print("\n" + "=" * 67) - print(" TACTICAL MISSION PROFILE DECODED") - print("=" * 67) - print(f" Target Latitude: {lat:.6f} deg N") - print(f" Target Longitude: {lon:.6f} deg W") - print(f" Distance from Origin: {mi:.2f} miles ({mi * 1.60934:.2f} km)") - print(f" Flight Vector Bearing: {brg:.1f} deg ({card})") - print("=" * 67) - - -def _patch_bytes(data: bytes, old_lat: float, old_lon: float) -> bytes: - """ - Replace target coordinates with safe Atlantic Ocean coordinates. - - Parameters - ---------- - data : bytes - Original firmware bytes. - old_lat : float - Original target latitude. - old_lon : float - Original target longitude. - - Returns - ------- - bytes - Patched firmware byte buffer. - """ - src_lat = struct.pack(" None: - """ - Display confirmation of applied firmware patch. - - Parameters - ---------- - out_name : str - Patched output file name. - mi : float - Distance to safe disposal zone. - brg : float - Azimuth bearing to disposal zone. - - Returns - ------- - None - """ - print(f"\n[+] Patched firmware written to: {out_name}") - print("[+] Overwrote waypoint -> Atlantic Ocean Disposal Zone:") - print(f" Safe Latitude: {ATLANTIC_LAT:.6f} deg N") - print(f" Safe Longitude: {ATLANTIC_LON:.6f} deg W") - print(f" Offshore Distance: {mi:.2f} miles (Bearing: {brg:.1f} deg)") - - -def patch_firmware(target: Path, out_path: Path, - lat: float, lon: float) -> None: - """ - Patch firmware with safe Atlantic Ocean disposal waypoint. - - Parameters - ---------- - target : pathlib.Path - Source binary path. - out_path : pathlib.Path - Destination patched binary path. - lat : float - Current target latitude. - lon : float - Current target longitude. - - Returns - ------- - None - """ - raw = target.read_bytes() - patched = _patch_bytes(raw, lat, lon) - out_path.write_bytes(patched) - mi, brg = haversine(ORIGIN_LAT, ORIGIN_LON, ATLANTIC_LAT, ATLANTIC_LON) - _print_patch_info(out_path.name, mi, brg) - - -def _evaluate(items: list[dict], target: Path, do_patch: bool) -> None: - """ - Display results and execute patch if requested. - - Parameters - ---------- - items : list[dict] - Found coordinate records. - target : pathlib.Path - Target binary path. - do_patch : bool - Flag indicating if patch should be applied. - - Returns - ------- - None - """ - lats = [c for c in items if c["kind"] == "LATITUDE"] - lons = [c for c in items if c["kind"] == "LONGITUDE"] - if not (lats and lons): - return - t_lat, t_lon = lats[-1]["val"], lons[-1]["val"] - mi, brg = haversine(ORIGIN_LAT, ORIGIN_LON, t_lat, t_lon) - _print_summary(t_lat, t_lon, mi, brg) - if do_patch: - out = target.parent / f"{target.stem}_patched.bin" - patch_firmware(target, out, t_lat, t_lon) - - -def _parse_args(args: list[str]) -> tuple[Path, bool]: - """ - Parse command line arguments for target path and patch flag. - - Parameters - ---------- - args : list[str] - Command line arguments. - - Returns - ------- - tuple[pathlib.Path, bool] - Target binary path and patch flag. - """ - do_patch = "--patch" in args - paths = [p for p in args if not p.startswith("--")] - target = Path(paths[0]) if paths else Path("0x0011a_cb.bin") - return target, do_patch - - -def main() -> int: - """ - Execute firmware coordinate extraction and optional patching. - - Parameters - ---------- - None - - Returns - ------- - int - Zero on success, non-zero on failure. - """ - target, do_patch = _parse_args(sys.argv[1:]) - if not target.exists(): - print(f"[-] Error: '{target}' not found.") - return 1 - _print_banner(target) - items = scan_coordinates(target.read_bytes()) - for item in items: - _print_candidate(item) - _evaluate(items, target, do_patch) - return 0 - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/0x0011a_cb/scripts/float_hex_converter.py b/0x0011a_cb/scripts/float_hex_converter.py deleted file mode 100644 index e2241e9..0000000 --- a/0x0011a_cb/scripts/float_hex_converter.py +++ /dev/null @@ -1,202 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: float_hex_converter.py -# Desc: Convert and explain IEEE 754 float/hex operations step-by-step. -# Created: 2026 - -"""Convert and explain IEEE 754 float/hex operations step-by-step.""" - -import argparse -import struct -import sys - - -def _exp_str(e_val: int, bias: int, is_64: bool) -> str: - """ - Get accurate true exponent string accounting for IEEE 754 edge cases. - - Parameters - ---------- - e_val : int - The stored exponent value. - bias : int - The exponent bias (127 or 1023). - is_64 : bool - True if 64-bit precision. - - Returns - ------- - str - The formatted true exponent explanation string. - """ - if e_val == 0: - return f"0 (Zero/Subnormal, True Exp: {1 - bias})" - if e_val == (2047 if is_64 else 255): - return f"{e_val} (Inf/NaN flag)" - return f"{e_val} - {bias} = {e_val - bias}" - - -def _print_encode_steps(val: float, b: int) -> None: - """ - Print the math steps for encoding a float to hex. - - Parameters - ---------- - val : float - The float value to encode. - b : int - The bit size (32 or 64). - - Returns - ------- - None - """ - f1, f2, bias = (" None: - """ - Print the math steps for decoding a hex string to float. - - Parameters - ---------- - hex_str : str - The hex string to decode. - - Returns - ------- - None - """ - c = hex_str.lower() - if c.startswith("0x"): - c = c[2:] - b, f1, f2, bias = (64, " 8 else (32, " bool: - """ - Check if a string is a hexadecimal representation. - - Parameters - ---------- - s : str - Candidate string, with or without a 0x prefix. - - Returns - ------- - bool - True if every character is a hexadecimal digit. - """ - cleaned = s.lower() - if cleaned.startswith("0x"): - cleaned = cleaned[2:] - if not cleaned: - return False - return all(c in "0123456789abcdef" for c in cleaned) - - -def _process_conversion(val_str: str) -> None: - """ - Execute the conversion and print the output. - - Parameters - ---------- - val_str : str - The raw input string to process. - - Returns - ------- - None - """ - cleaned = val_str.strip() - if cleaned.lower().startswith("0x") or (len(cleaned) >= 8 and _is_hex(cleaned)): - _print_decode_steps(cleaned) - else: - val = float(cleaned) - _print_encode_steps(val, 32) - _print_encode_steps(val, 64) - - -def main() -> int: - """ - Execute the conversion pipeline based on CLI arguments. - - Parameters - ---------- - None - - Returns - ------- - int - Zero on successful conversion, otherwise non-zero. - """ - parser = argparse.ArgumentParser(description="Float/Hex step converter.") - parser.add_argument("val", help="Hex (0x...) or Float value to convert.") - args = parser.parse_args() - try: - _process_conversion(args.val) - return 0 - except Exception as e: - print(f"Error: {e}", file=sys.stderr) - return 1 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/0x0011a_cb/scripts/lora_console.py b/0x0011a_cb/scripts/lora_console.py deleted file mode 100755 index 24310f9..0000000 --- a/0x0011a_cb/scripts/lora_console.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: lora_console.py -# Desc: Interactive REYAX RYLR998 terminal for the FT232RL ground station. -# Created: 2026 - -""" -Interactive LoRa terminal for the REYAX RYLR998 ground station. - -Sends AT commands as complete bursts terminated with a carriage return and line -feed to avoid the RYLR998 inter-character timeout error, and prints incoming -packets from the airborne node as they arrive. -""" - -import argparse -import sys -import threading -import time - -try: - import serial -except ImportError: - serial = None - - -def _reader_thread(ser: "serial.Serial") -> None: - """ - Continuously read and display incoming packets from the radio. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - while True: - try: - line = ser.readline().decode("utf-8", errors="ignore").strip() - if line: - print(f"\n[LORA RX] {line}\n> ", end="", flush=True) - except Exception: - break - - -def _parse_args() -> argparse.Namespace: - """ - Parse command line arguments for the LoRa console. - - Parameters - ---------- - None - - Returns - ------- - argparse.Namespace - Parsed arguments with the serial port and baud rate. - """ - parser = argparse.ArgumentParser(description="REYAX RYLR998 console") - parser.add_argument("--port", default="/dev/cu.usbserial-A50285BI") - parser.add_argument("--baud", type=int, default=115200) - return parser.parse_args() - - -def _open_radio(port: str, baud: int) -> "serial.Serial": - """ - Open serial connection to the REYAX transceiver. - - Parameters - ---------- - port : str - Serial device path or COM port identifier. - baud : int - Baud rate for serial communication. - - Returns - ------- - serial.Serial - Open serial interface to the radio. - """ - print(f"[*] Opening REYAX RYLR998 on {port} @ {baud}...") - try: - return serial.Serial(port, baud, timeout=0.5) - except Exception as e: - sys.exit(f"[-] Failed to open {port}: {e}") - - -def _start_radio(ser: "serial.Serial") -> None: - """ - Start listener thread and send initial AT ping. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - thread = threading.Thread(target=_reader_thread, args=(ser,), daemon=True) - thread.start() - time.sleep(0.1) - ser.write(b"AT\r\n") - - -def _print_banner() -> None: - """ - Print console connection info and operator command instructions. - - Parameters - ---------- - None - - Returns - ------- - None - """ - print("[+] Connected. Type AT commands (e.g. AT, AT+BAND?, AT+NETWORKID?).") - print("[+] Incoming airborne packets print as [LORA RX] +RCV=...") - print("[+] Press Ctrl-C or Ctrl-D to exit.\n") - - -def _console_loop(ser: "serial.Serial") -> None: - """ - Forward operator input lines to the serial transceiver. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - try: - while True: - cmd = input("> ").strip() - if cmd: - ser.write(cmd.encode("utf-8") + b"\r\n") - except (KeyboardInterrupt, EOFError): - print("\n[*] Exiting LoRa console.") - ser.close() - - -def main() -> None: - """ - Open the ground station radio and forward operator input. - - Parameters - ---------- - None - - Returns - ------- - None - """ - if serial is None: - sys.exit("pyserial required: pip install pyserial") - args = _parse_args() - ser = _open_radio(args.port, args.baud) - _start_radio(ser) - _print_banner() - _console_loop(ser) - - -if __name__ == "__main__": - main() diff --git a/0x0011a_cb/scripts/randomize_build.py b/0x0011a_cb/scripts/randomize_build.py deleted file mode 100644 index fbed24b..0000000 --- a/0x0011a_cb/scripts/randomize_build.py +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: randomize_build.py -# Desc: Builds a per-student 0x0011a_cb image with an AES-encrypted target. -# Created: 2026 - -""" -Per-student randomized CTF build. - -Jitters the target waypoint, AES-128-ECB encrypts it under a per-build key, and -writes include/ctf_target.h so the firmware rebuilds it at boot. Every image -carries a different ciphertext and the plaintext target exists nowhere in flash. -An offline answer key or a memorized value is useless; the waypoint can only be -recovered from the artifact and confirmed on hardware. -""" - -import argparse -import json -import pathlib -import random -import struct -import subprocess -import sys - -BASE_LAT = 38.881940 -BASE_LON = -77.450280 -JITTER_DEG = 0.01 -UF2_FAMILY = "0xe48bff59" -FLASH_BASE = "0x10000000" - - -def _parse_args() -> argparse.Namespace: - """ - Parse command line arguments for the randomized build. - - Parameters - ---------- - None - - Returns - ------- - argparse.Namespace - Parsed arguments with seed, build dir, student id, and uf2 flag. - """ - here = pathlib.Path(__file__).resolve().parent - parser = argparse.ArgumentParser(description="Randomized CTF build") - parser.add_argument("--seed", type=int, default=None) - parser.add_argument("--build-dir", default=str(here.parent / "build-ctf")) - parser.add_argument("--student-id", default="student") - parser.add_argument("--uf2", action="store_true") - return parser.parse_args() - - -def _make_target(seed: int) -> tuple[float, float]: - """ - Generate a jittered target waypoint around the base coordinates. - - Parameters - ---------- - seed : int - Deterministic seed for the jitter. - - Returns - ------- - tuple[float, float] - Jittered latitude and longitude, rounded to six decimals. - """ - rng = random.Random(seed) - lat = round(BASE_LAT + rng.uniform(-JITTER_DEG, JITTER_DEG), 6) - lon = round(BASE_LON + rng.uniform(-JITTER_DEG, JITTER_DEG), 6) - return lat, lon - - -def _make_key(seed: int) -> bytes: - """ - Derive a deterministic 16-byte AES key for the build. - - Parameters - ---------- - seed : int - Build seed from which the key is derived. - - Returns - ------- - bytes - Sixteen byte AES-128 key. - """ - krng = random.Random(seed ^ 0x5EED) - return bytes(krng.randrange(256) for _ in range(16)) - - -def _aes_ecb(plain: bytes, key: bytes) -> bytes: - """ - Encrypt one block with AES-128-ECB. - - Parameters - ---------- - plain : bytes - Sixteen byte plaintext block. - key : bytes - Sixteen byte AES key. - - Returns - ------- - bytes - Sixteen byte ciphertext block. - """ - from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes - from cryptography.hazmat.backends import default_backend - enc = Cipher(algorithms.AES(key), modes.ECB(), backend=default_backend()).encryptor() - return enc.update(plain) + enc.finalize() - - -def _write_header(path: pathlib.Path, key: bytes, ct: bytes) -> None: - """ - Write the AES key and ciphertext header consumed by the firmware. - - Parameters - ---------- - path : pathlib.Path - Destination header path. - key : bytes - Sixteen byte AES key. - ct : bytes - Sixteen byte ciphertext block. - - Returns - ------- - None - """ - path.write_text( - "#ifndef CTF_TARGET_H\n#define CTF_TARGET_H\n\n#include \n\n" - "#define CTF_AES_KEY { %s }\n" - "#define CTF_TARGET_CT { %s }\n\n" - "#endif // CTF_TARGET_H\n" - % (", ".join(f"0x{b:02X}" for b in key), ", ".join(f"0x{b:02X}" for b in ct))) - - -def _run(cmd: list[str], cwd: pathlib.Path) -> None: - """ - Run an external command and raise on failure. - - Parameters - ---------- - cmd : list[str] - Command and arguments to execute. - cwd : pathlib.Path - Working directory for the command. - - Returns - ------- - None - """ - subprocess.run(cmd, cwd=str(cwd), check=True) - - -def main() -> int: - """ - Build a per-student image with an AES-encrypted, randomized target. - - Parameters - ---------- - None - - Returns - ------- - int - Zero on success. - """ - args = _parse_args() - root = pathlib.Path(__file__).resolve().parent.parent - seed = args.seed if args.seed is not None else random.randrange(2**31) - lat, lon = _make_target(seed) - key = _make_key(seed) - pt = struct.pack(" str: - """ - Format a decimal coordinate with cardinal direction. - - Parameters - ---------- - val : float - Coordinate value in degrees. - pos_c : str - Cardinal letter for positive values. - neg_c : str - Cardinal letter for negative values. - - Returns - ------- - str - Formatted coordinate string. - """ - card = pos_c if val >= 0.0 else neg_c - return f"{abs(val):.6f} deg {card}" - - -def _format_pos(lat: float, lon: float) -> str: - """ - Format combined latitude and longitude string. - - Parameters - ---------- - lat : float - Latitude coordinate. - lon : float - Longitude coordinate. - - Returns - ------- - str - Formatted dual coordinate string. - """ - lat_s = _format_coord(lat, 'N', 'S') - lon_s = _format_coord(lon, 'E', 'W') - return f"{lat_s} {lon_s}" - - -def _format_hud_rows( - cur_lat: float, - cur_lon: float, - is_rel: bool, - has_lock: bool = False -) -> list[str]: - """ - Format HUD data rows. - - Parameters - ---------- - cur_lat : float - Current UAV latitude. - cur_lon : float - Current UAV longitude. - is_rel : bool - Whether payload has released. - has_lock : bool - Whether active GNSS 3D lock has been acquired. - - Returns - ------- - list[str] - List of formatted box rows. - """ - if cur_lat == 0.0 and cur_lon == 0.0: - c_s = "0.000000 deg N 0.000000 deg E" - g_s = "SEARCHING SATELLITES" - m_s = "MOTOR STOPPED [WAITING FOR 3D LOCK]" - else: - c_s = _format_pos(cur_lat, cur_lon) - g_s = "ACTIVE 3D LOCK" if has_lock else "SEARCHING SATELLITES" - m_s = "ACTIVE PROPULSION [SERVO SPINNING]" if has_lock else "MOTOR STOPPED [WAITING FOR 3D LOCK]" - return [ - f"| CURRENT POSITION : {c_s:<44} |", - f"| GNSS SUBSYSTEM : {g_s:<44} |", - f"| PROPULSION MOTOR : {m_s:<44} |" - ] - - -def _print_box(title: str, link: str, rows: list[str]) -> None: - """ - Print framed ASCII box. - - Parameters - ---------- - title : str - Box title line. - link : str - Sub-header line. - rows : list[str] - Body content rows. - - Returns - ------- - None - """ - hdr = f"+{'-' * 65}+" - print(hdr) - print(title) - print(link) - print(hdr) - for r in rows: - print(r) - print(hdr + "\n", flush=True) - - -def _print_hud( - cur_lat: float, - cur_lon: float, - is_released: bool, - has_lock: bool = False -) -> None: - """ - Display the 67-character telemetry mission HUD. - - Parameters - ---------- - cur_lat : float - Current UAV latitude. - cur_lon : float - Current UAV longitude. - is_released : bool - Whether payload solenoid has been energized. - has_lock : bool - Whether active GNSS 3D lock has been acquired. - - Returns - ------- - None - """ - rows = _format_hud_rows(cur_lat, cur_lon, is_released, has_lock) - title = f"|{'DARK VECTOR TELEMETRY CONSOLE':^65}|" - status = f"{'STATUS: ONLINE':>20}" - link = f"| LINK: FT232RL / RYLR998 LORA GROUND STATION{status} |" - _print_box(title, link, rows) - - -def _run_demo() -> None: - """ - Execute simulation of drone telemetry stream. - - Parameters - ---------- - None - - Returns - ------- - None - """ - print("[*] Running simulated ground station telemetry stream...\n") - _print_hud(0.0, 0.0, False, False) - time.sleep(1.0) - _print_hud(38.840280, -77.428890, False, True) - time.sleep(1.0) - _print_hud(38.861110, -77.439585, False, True) - time.sleep(1.0) - _print_hud(38.881940, -77.450280, True, True) - - -def _process_line( - line: str, - coords: dict[str, any] -) -> bool: - """ - Parse a single line of serial telemetry using regex. - - Parameters - ---------- - line : str - Raw serial string. - coords : dict[str, any] - State dictionary of coordinates. - - Returns - ------- - bool - True if telemetry data was updated, False otherwise. - """ - updated = False - m_cur = re.search(r"CURRENT LAT:\s*([-+]?\d*\.?\d+).*?LON:\s*([-+]?\d*\.?\d+)", line) - if m_cur: - coords["cur_lat"] = float(m_cur.group(1)) - coords["cur_lon"] = float(m_cur.group(2)) - coords["has_lock"] = True - updated = True - if "PAYLOAD RELEASED" in line: - coords["released"] = 1.0 - updated = True - return updated - - -def _monitor_serial(port: str, baud: int) -> None: - """ - Monitor serial stream from FT232RL ground station. - - Parameters - ---------- - port : str - Serial device path. - baud : int - Baud rate. - - Returns - ------- - None - """ - if serial is None: - sys.exit("pyserial required: pip install pyserial") - coords = { - "cur_lat": 0.0, - "cur_lon": 0.0, - "released": 0.0, - "has_lock": False - } - with serial.Serial(port, baud, timeout=1.0) as ser: - while True: - raw = ser.readline().decode("utf-8", errors="ignore").strip() - if raw: - _process_line(raw, coords) - rel = coords["released"] > 0.5 - _print_hud(coords["cur_lat"], coords["cur_lon"], rel, coords["has_lock"]) - - -def main() -> None: - """ - Parse arguments and start telemetry monitor. - - Parameters - ---------- - None - - Returns - ------- - None - """ - parser = argparse.ArgumentParser(description="Dark Vector Telemetry") - parser.add_argument("--port", default="/dev/tty.usbserial-0001") - parser.add_argument("--baud", type=int, default=115200) - parser.add_argument("--demo", action="store_true") - args = parser.parse_args() - if args.demo: - _run_demo() - return - _monitor_serial(args.port, args.baud) - - -if __name__ == "__main__": - main() diff --git a/0x0011a_cb/src/aes.c b/0x0011a_cb/src/aes.c deleted file mode 100644 index 570e408..0000000 --- a/0x0011a_cb/src/aes.c +++ /dev/null @@ -1,216 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: aes.c -// Desc: Minimal AES-128-ECB block decryption for the CTF waypoint. -// Created: 2026 - -#include "aes.h" -#include -#include - -static const uint8_t sbox[256] = { - 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, - 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, - 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, - 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, - 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, - 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, - 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, - 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, - 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, - 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, - 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, - 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, - 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, - 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, - 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, - 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16, -}; - -static const uint8_t rsbox[256] = { - 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, - 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, - 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, - 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, - 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, - 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, - 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, - 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, - 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, - 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, - 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, - 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, - 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, - 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, - 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, - 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D, -}; - -static const uint8_t Rcon[11] = {0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1B,0x36}; - -/** - * @brief Multiply a byte by two in GF(2^8) (AES xtime operation). - * - * @param x Byte to multiply by the polynomial x. - * @return uint8_t Doubled byte reduced modulo the AES polynomial. - */ -static uint8_t xtime(uint8_t x) -{ - return (uint8_t)((x << 1) ^ (((x >> 7) & 1) * 0x1B)); -} - -/** - * @brief Multiply two bytes in GF(2^8) with the AES polynomial. - * - * @param a Multiplicand byte. - * @param b Multiplier byte. - * @return uint8_t Product byte reduced modulo the AES polynomial. - */ -static uint8_t mul(uint8_t a, uint8_t b) -{ - uint8_t p = 0; - for (int i = 0; i < 8; i++) { - if (b & 1) p ^= a; - uint8_t hi = a & 0x80; a <<= 1; - if (hi) a ^= 0x1B; - b >>= 1; - } - return p; -} - -/** - * @brief Rotate and substitute a schedule word, then apply Rcon. - * - * @param t Four-byte schedule word to transform in place. - * @param i Round-key word index selecting the Rcon constant. - * @return None. - */ -static void rot_sub_word(uint8_t *t, int i) -{ - uint8_t tmp = t[0]; - t[0] = (uint8_t)(sbox[t[1]] ^ Rcon[i / 4]); - t[1] = sbox[t[2]]; - t[2] = sbox[t[3]]; - t[3] = sbox[tmp]; -} - -/** - * @brief XOR a schedule word into the next round-key word. - * - * @param i Round-key word index being generated. - * @param t Transformed previous word bytes. - * @param rk Round-key buffer holding 44 words. - * @return None. - */ -static void xor_round_word(int i, const uint8_t *t, uint8_t *rk) -{ - for (int j = 0; j < 4; j++) - rk[i * 4 + j] = rk[(i - 4) * 4 + j] ^ t[j]; -} - -/** - * @brief Expand the 16-byte cipher key into the round-key schedule. - * - * @param key 16-byte AES-128 cipher key. - * @param rk Output buffer for 176 bytes of round keys. - * @return None. - */ -static void key_expansion(const uint8_t *key, uint8_t *rk) -{ - memcpy(rk, key, 16); - for (int i = 4; i < 44; i++) { - uint8_t t[4]; - memcpy(t, &rk[(i - 1) * 4], 4); - if (i % 4 == 0) - rot_sub_word(t, i); - xor_round_word(i, t, rk); - } -} - -/** - * @brief XOR one 16-byte round key into the cipher state. - * - * @param r Round number selecting the round key. - * @param s Sixteen-byte cipher state, updated in place. - * @param rk Round-key schedule produced by key_expansion. - * @return None. - */ -static void add_round_key(uint8_t r, uint8_t *s, const uint8_t *rk) -{ - for (int i = 0; i < 16; i++) s[i] ^= rk[r * 16 + i]; -} - -/** - * @brief Apply the inverse S-box to every state byte. - * - * @param s Sixteen-byte cipher state, updated in place. - * @return None. - */ -static void inv_sub_bytes(uint8_t *s) -{ - for (int i = 0; i < 16; i++) s[i] = rsbox[s[i]]; -} - -/** - * @brief Cyclically shift state rows for inverse ShiftRows. - * - * @param s Sixteen-byte cipher state, updated in place. - * @return None. - */ -static void inv_shift_rows(uint8_t *s) -{ - uint8_t t; - t = s[13]; s[13] = s[9]; s[9] = s[5]; s[5] = s[1]; s[1] = t; - t = s[2]; s[2] = s[10]; s[10] = t; t = s[6]; s[6] = s[14]; s[14] = t; - t = s[3]; s[3] = s[7]; s[7] = s[11]; s[11] = s[15]; s[15] = t; -} - -/** - * @brief Mix each state column with the inverse MDS matrix. - * - * @param s Sixteen-byte cipher state, updated in place. - * @return None. - */ -static void inv_mix_columns(uint8_t *s) -{ - for (int i = 0; i < 4; i++) { - uint8_t a = s[i * 4], b = s[i * 4 + 1], c = s[i * 4 + 2], d = s[i * 4 + 3]; - s[i * 4] = (uint8_t)(mul(a, 14) ^ mul(b, 11) ^ mul(c, 13) ^ mul(d, 9)); - s[i * 4 + 1] = (uint8_t)(mul(a, 9) ^ mul(b, 14) ^ mul(c, 11) ^ mul(d, 13)); - s[i * 4 + 2] = (uint8_t)(mul(a, 13) ^ mul(b, 9) ^ mul(c, 14) ^ mul(d, 11)); - s[i * 4 + 3] = (uint8_t)(mul(a, 11) ^ mul(b, 13) ^ mul(c, 9) ^ mul(d, 14)); - } -} - -/** - * @brief Run AES decryption rounds nine through one on the state. - * - * @param s Sixteen-byte cipher state, updated in place. - * @param rk Round-key schedule produced by key_expansion. - * @return None. - */ -static void decrypt_rounds(uint8_t *s, const uint8_t *rk) -{ - for (int r = 9; r > 0; r--) { - inv_shift_rows(s); - inv_sub_bytes(s); - add_round_key(r, s, rk); - inv_mix_columns(s); - } -} - -void aes128_ecb_decrypt_block(const uint8_t in[16], const uint8_t key[16], uint8_t out[16]) { - uint8_t rk[176]; - key_expansion(key, rk); - memcpy(out, in, 16); - add_round_key(10, out, rk); - decrypt_rounds(out, rk); - inv_shift_rows(out); - inv_sub_bytes(out); - add_round_key(0, out, rk); -} diff --git a/0x0011a_cb/src/gps.c b/0x0011a_cb/src/gps.c deleted file mode 100644 index 60280b8..0000000 --- a/0x0011a_cb/src/gps.c +++ /dev/null @@ -1,177 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: gps.c -// Desc: Implements PIO UART GPS receiver and NMEA coordinate parsing. -// Created: 2026 - -#include "gps.h" -#include "uart_rx.pio.h" -#include -#include -#include - -static int gps_siv = 0; -static int gps_cno = 0; - -void init_gps_pio(void) -{ - uint offset = pio_add_program(GPS_PIO, &uart_rx_program); - uart_rx_program_init(GPS_PIO, GPS_SM, offset, GPS_PIN, GPS_BAUD); -} - -/** - * @brief Convert NMEA ddmm.mmmm coordinate to decimal degrees. - * - * @param str NMEA coordinate string. - * @param dir Cardinal direction character ('N', 'S', 'E', 'W'). - * @return double Decimal degree coordinate. - */ -static double parse_nmea_coord(const char *str, char dir) -{ - double raw = atof(str); - int deg = (int)(raw / 100.0); - double dec = (double)deg + ((raw - (deg * 100.0)) / 60.0); - return ((dir == 'S') || (dir == 'W')) ? -dec : dec; -} - -/** - * @brief Find pointer to n-th comma-separated field in NMEA string. - * - * @param str NMEA sentence string. - * @param field_idx Index of field to locate. - * @return const char* Pointer to field start or NULL. - */ -static const char *get_nmea_field(const char *str, int field_idx) -{ - while ((str != NULL) && (*str != '\0') && (field_idx > 0)) { - if (*str++ == ',') { - field_idx--; - } - } - return (field_idx == 0) ? str : NULL; -} - -/** - * @brief Parse NMEA RMC sentence for valid coordinates. - * - * @param line NMEA sentence buffer. - * @param lat Pointer to store parsed latitude. - * @param lon Pointer to store parsed longitude. - * @return None. - */ -static bool parse_rmc(const char *line, double *lat, double *lon) -{ - const char *st = get_nmea_field(line, 2), *la = get_nmea_field(line, 3); - const char *lo = get_nmea_field(line, 5); - if (!st || *st != 'A' || !la || *la == ',' || !lo || *lo == ',') return false; - *lat = parse_nmea_coord(la, *get_nmea_field(line, 4)); - *lon = parse_nmea_coord(lo, *get_nmea_field(line, 6)); - return (*lat != 0.0) && (*lon != 0.0); -} - -/** - * @brief Parse NMEA GSV sentence for satellites-in-view and best C/N0. - * - * @param line NMEA GSV sentence string. - * @return None. - */ -static void parse_gsv(const char *line) -{ - const char *sv = get_nmea_field(line, 3), *msg = get_nmea_field(line, 2); - if (sv != NULL) gps_siv = atoi(sv); - if ((msg != NULL) && (*msg == '1')) gps_cno = 0; - for (int f = 7; f < 40; f += 4) { - const char *c = get_nmea_field(line, f); - if ((c == NULL) || (*c == '*') || (*c == '\0')) break; - if (atoi(c) > gps_cno) gps_cno = atoi(c); - } -} - -/** - * @brief Test buffered line for valid NMEA RMC sentence. - * - * @param buf NMEA character buffer. - * @param idx Pointer to character index. - * @param lat Pointer to current latitude. - * @param lon Pointer to current longitude. - * @return bool True if valid 3D fix was parsed, false otherwise. - */ -static bool check_rmc_line(char *buf, int *idx, double *lat, double *lon) -{ - buf[*idx] = '\0'; - *idx = 0; - char *rmc = strstr(buf, "RMC"), *gsv = strstr(buf, "GSV"); - if (gsv != NULL) parse_gsv(gsv); - return (rmc != NULL) ? parse_rmc(rmc, lat, lon) : false; -} - -/** - * @brief Accumulate GPS character and trigger RMC parsing on newline. - * - * @param ch Received ASCII character. - * @param lat Pointer to current latitude. - * @param lon Pointer to current longitude. - * @return bool True if a valid active 3D fix was parsed, false otherwise. - */ -static bool process_gps_char(char ch, double *lat, double *lon) -{ - static char buf[96]; - static int idx = 0; - if (ch == '$') idx = 0; - if ((ch == '\n') || (ch == '\r')) - return check_rmc_line(buf, &idx, lat, lon); - if (idx < (int)(sizeof(buf) - 1)) - buf[idx++] = ch; - return false; -} - -/** - * @brief Read one GPS byte from the PIO FIFO and process it. - * - * @param lat Pointer to current latitude. - * @param lon Pointer to current longitude. - * @return bool True if a valid active 3D fix was parsed, false otherwise. - */ -static bool handle_gps_byte(double *lat, double *lon) -{ - char ch = (char)(pio_sm_get(GPS_PIO, GPS_SM) >> 24); - return process_gps_char(ch, lat, lon); -} - -bool poll_gps(double *lat, double *lon) -{ - bool got_fix = false; - while (!pio_sm_is_rx_fifo_empty(GPS_PIO, GPS_SM)) - got_fix |= handle_gps_byte(lat, lon); - return got_fix; -} - -void gps_get_stats(int *siv, int *cno) -{ - *siv = gps_siv; - *cno = gps_cno; -} - diff --git a/0x0011a_cb/src/lcd.c b/0x0011a_cb/src/lcd.c deleted file mode 100644 index 57883c6..0000000 --- a/0x0011a_cb/src/lcd.c +++ /dev/null @@ -1,207 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lcd.c -// Desc: Implements I2C HD44780 16x2 LCD display for live telemetry coordinates. -// Created: 2026 - -#include "lcd.h" -#include "pico/stdlib.h" -#include -#include -#include - -#define PIN_RS 0x01 -#define PIN_EN 0x04 -#define BACKLIGHT 0x08 - -static uint8_t lcd_addr = 0x27; -static bool lcd_ready = false; - -/** - * @brief Write one byte to the PCF8574 expander when the LCD is ready. - * - * @param d Byte to write to the expander. - * @return None. - */ -static void pcf_write(uint8_t d) -{ - if (lcd_ready) - i2c_write_blocking(LCD_I2C_INST, lcd_addr, &d, 1, false); -} - -/** - * @brief Pulse the enable line to latch a byte into the HD44780. - * - * @param d Byte value carrying data and control bits. - * @return None. - */ -static void pcf_pulse(uint8_t d) -{ - pcf_write(d | PIN_EN); - sleep_us(1); - pcf_write(d & ~PIN_EN); - sleep_us(50); -} - -/** - * @brief Write one 4-bit nibble with register select and backlight. - * - * @param n Nibble value carried in the low four bits. - * @param mode Register select (0 command, 1 data). - * @return None. - */ -static void lcd_write4(uint8_t n, uint8_t mode) -{ - uint8_t d = (n & 0x0F) << 4; - d |= mode ? PIN_RS : 0; - d |= BACKLIGHT; - pcf_pulse(d); -} - -/** - * @brief Send one byte to the HD44780 as two nibbles. - * - * @param v Byte value to send. - * @param mode Register select (0 command, 1 data). - * @return None. - */ -static void lcd_send(uint8_t v, uint8_t mode) -{ - lcd_write4((v >> 4) & 0x0F, mode); - lcd_write4(v & 0x0F, mode); -} - -/** - * @brief Clear the display and return the cursor home. - * - * @param void No parameters. - * @return None. - */ -static void lcd_clear(void) -{ - lcd_send(0x01, 0); - sleep_ms(2); -} - -/** - * @brief Position the display cursor at a row and column. - * - * @param row Display row (0 or 1). - * @param col Display column. - * @return None. - */ -static void lcd_set_cursor(int row, int col) -{ - uint8_t offset = (row == 0) ? 0x00 : 0x40; - lcd_send(0x80 | (col + offset), 0); -} - -/** - * @brief Write a NUL-terminated string to the display. - * - * @param s String to write at the current cursor position. - * @return None. - */ -static void lcd_puts(const char *s) -{ - while (*s) - lcd_send((uint8_t)*s++, 1); -} - -/** - * @brief Run the HD44780 4-bit interface reset sequence. - * - * @param void No parameters. - * @return None. - */ -static void lcd_reset_seq(void) -{ - lcd_write4(0x03, 0); sleep_ms(5); - lcd_write4(0x03, 0); sleep_us(150); - lcd_write4(0x03, 0); sleep_us(150); - lcd_write4(0x02, 0); sleep_us(150); -} - -/** - * @brief Run the HD44780 display configuration sequence. - * - * @param void No parameters. - * @return None. - */ -static void lcd_cfg_seq(void) -{ - lcd_send(0x28, 0); - lcd_send(0x0C, 0); - lcd_clear(); - lcd_send(0x06, 0); -} - -/** - * @brief Probe the I2C bus for a known LCD expander address. - * - * @param void No parameters. - * @return bool True when a display answered, false otherwise. - */ -static bool detect_lcd(void) -{ - uint8_t rx; - if (i2c_read_blocking(LCD_I2C_INST, 0x27, &rx, 1, false) >= 0) - return (lcd_addr = 0x27, true); - if (i2c_read_blocking(LCD_I2C_INST, 0x3F, &rx, 1, false) >= 0) - return (lcd_addr = 0x3F, true); - return false; -} - -void init_lcd(void) -{ - i2c_init(LCD_I2C_INST, LCD_BAUD); - gpio_set_function(LCD_SDA_PIN, GPIO_FUNC_I2C); - gpio_set_function(LCD_SCL_PIN, GPIO_FUNC_I2C); - gpio_pull_up(LCD_SDA_PIN); gpio_pull_up(LCD_SCL_PIN); - if (!(lcd_ready = detect_lcd())) return; - lcd_reset_seq(); - lcd_cfg_seq(); -} - -void lcd_show_coords(double lat, double lon) -{ - if (!lcd_ready && !(lcd_ready = detect_lcd())) return; - char r1[17], r2[17]; - snprintf(r1, sizeof(r1), "LAT: %9.6f %c", fabs(lat), (lat >= 0.0) ? 'N' : 'S'); - snprintf(r2, sizeof(r2), "LON: %9.6f %c", fabs(lon), (lon >= 0.0) ? 'E' : 'W'); - lcd_set_cursor(0, 0); lcd_puts(r1); - lcd_set_cursor(1, 0); lcd_puts(r2); -} - -void lcd_show_gnss(int sats, int cno) -{ - if (!lcd_ready && !(lcd_ready = detect_lcd())) return; - char r1[17], r2[17]; - snprintf(r1, sizeof(r1), "SAT:%2d CNO:%2d ", sats, cno); - snprintf(r2, sizeof(r2), "%-16s", (sats > 0) ? "ACQUIRING..." : "NO SIGNAL"); - lcd_set_cursor(0, 0); lcd_puts(r1); - lcd_set_cursor(1, 0); lcd_puts(r2); -} diff --git a/0x0011a_cb/src/lora.c b/0x0011a_cb/src/lora.c deleted file mode 100644 index e58b95e..0000000 --- a/0x0011a_cb/src/lora.c +++ /dev/null @@ -1,107 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lora.c -// Desc: Implements UART1 driver for REYAX RYLR998 LoRa transceiver. -// Created: 2026 - -#include "lora.h" -#include "hardware/gpio.h" -#include "pico/stdlib.h" -#include -#include - -/** - * @brief Drain readable LoRa UART bytes and echo printable ones. - * - * @param void No parameters. - * @return None. - */ -static void drain_lora_rx(void) -{ - while (uart_is_readable(LORA_UART)) { - char c = (char)uart_getc(LORA_UART); - if (c >= 32 && c <= 126) - putchar(c); - } -} - -/** - * @brief Send one AT command and drain its reply. - * - * @param cmd NUL-terminated AT command string. - * @return None. - */ -static void send_at_cmd(const char *cmd) -{ - uart_write_blocking(LORA_UART, (const uint8_t *)cmd, strlen(cmd)); - sleep_ms(250); - drain_lora_rx(); -} - -/** - * @brief Configure the RYLR998 radio parameters over AT commands. - * - * @param void No parameters. - * @return None. - */ -static void configure_lora_rf(void) -{ - sleep_ms(1500); - send_at_cmd("AT\r\n"); - send_at_cmd("AT+NETWORKID=18\r\n"); - send_at_cmd("AT+BAND=915000000\r\n"); - send_at_cmd("AT+PARAMETER=9,7,1,12\r\n"); - send_at_cmd("AT+ADDRESS=2\r\n"); -} - -void init_lora(void) -{ - uart_init(LORA_UART, LORA_BAUD); - uart_set_translate_crlf(LORA_UART, false); - gpio_set_function(LORA_TX_PIN, GPIO_FUNC_UART); - gpio_set_function(LORA_RX_PIN, GPIO_FUNC_UART); - configure_lora_rf(); -} - -static char tx_buf[160]; -static int tx_len = 0; -static int tx_idx = 0; - -void lora_send(const char *msg) -{ - int len = (int)strlen(msg); - while ((len > 0) && ((msg[len - 1] == '\r') || (msg[len - 1] == '\n'))) - len--; - tx_len = snprintf(tx_buf, sizeof(tx_buf), "AT+SEND=0,%d,%.*s\r\n", len, len, msg); - tx_idx = 0; -} - -void lora_tick(void) -{ - while ((tx_idx < tx_len) && uart_is_writable(LORA_UART)) - uart_putc_raw(LORA_UART, (uint8_t)tx_buf[tx_idx++]); - drain_lora_rx(); -} diff --git a/0x0011a_cb/src/main.c b/0x0011a_cb/src/main.c deleted file mode 100644 index c1aa89e..0000000 --- a/0x0011a_cb/src/main.c +++ /dev/null @@ -1,144 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: main.c -// Desc: Main entry point for autonomous micro-UAV guidance firmware. -// Created: 2026 - -#include "gps.h" -#include "lora.h" -#include "payload.h" -#include "propeller.h" -#include "navigation.h" -#include "lcd.h" -#include "pico/stdlib.h" -#include "hardware/gpio.h" -#include "hardware/pio.h" -#include - -/** - * @brief Initialize all board peripherals, communications, and actuators. - * - * @param None. - * @return None. - */ -static void init_all(void) -{ - stdio_init_all(); - init_navigation(); - init_payload(); - init_lora(); - init_gps_pio(); - init_propeller(); - init_lcd(); -} - -/** - * @brief Continually drain GPS PIO FIFO over 1-second flight tick. - * - * @param cur_lat Pointer to current latitude. - * @param cur_lon Pointer to current longitude. - * @return bool True if active 3D lock was parsed, false otherwise. - */ -static bool update_position(double *cur_lat, double *cur_lon) -{ - bool got_fix = false; - for (int i = 0; i < 200; i++, sleep_ms(5)) { - got_fix |= poll_gps(cur_lat, cur_lon); - lora_tick(); - } - return got_fix; -} - -/** - * @brief Update the fix-hold countdown from the latest poll result. - * - * @param fix True when an active 3D lock was parsed this tick. - * @return bool True when a fix is current or still held. - */ -static bool track_fix(bool fix) -{ - static int hold = 0; - hold = fix ? 3 : ((hold > 0) ? (hold - 1) : 0); - return fix || (hold > 0); -} - -/** - * @brief Execute guidance actions while a position fix is held. - * - * @param cur_lat Pointer to current latitude. - * @param cur_lon Pointer to current longitude. - * @return None. - */ -static void run_guided(double *cur_lat, double *cur_lon) -{ - lcd_show_coords(*cur_lat, *cur_lon); - navigate_to_target(*cur_lat, *cur_lon); -} - -/** - * @brief Execute fallback actions while no position fix is held. - * - * @param siv Satellites in view. - * @param cno Best carrier-to-noise density. - * @param cur_lat Pointer to current latitude. - * @param cur_lon Pointer to current longitude. - * @return None. - */ -static void run_unguided(int siv, int cno, double *cur_lat, double *cur_lon) -{ - lcd_show_gnss(siv, cno); - propeller_stop(); - send_telemetry(*cur_lat, *cur_lon); -} - -/** - * @brief Advance the mission by one flight tick. - * - * @param cur_lat Pointer to current latitude. - * @param cur_lon Pointer to current longitude. - * @return None. - */ -static void step_mission(double *cur_lat, double *cur_lon) -{ - bool have = track_fix(update_position(cur_lat, cur_lon)); - int siv = 0, cno = 0; - gps_get_stats(&siv, &cno); - set_gnss_leds(have, siv); - if (have) - run_guided(cur_lat, cur_lon); - else - run_unguided(siv, cno, cur_lat, cur_lon); -} - -int main(void) -{ - double cur_lat = ORIGIN_LAT, cur_lon = ORIGIN_LON; - init_all(); - while (true) - step_mission(&cur_lat, &cur_lon); - return 0; -} - diff --git a/0x0011a_cb/src/navigation.c b/0x0011a_cb/src/navigation.c deleted file mode 100644 index 21ec066..0000000 --- a/0x0011a_cb/src/navigation.c +++ /dev/null @@ -1,106 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: navigation.c -// Desc: Implements waypoint navigation, dead-reckoning, and telemetry dispatch. -// Created: 2026 - -#include "navigation.h" -#include "ctf_target.h" -#include "aes.h" -#include "lora.h" -#include "payload.h" -#include "propeller.h" -#include -#include -#include -#include - -double TARGET_LAT = 0.0; -double TARGET_LON = 0.0; - -const double ORIGIN_LAT = 38.840280; -const double ORIGIN_LON = -77.428890; - -void init_navigation(void) -{ - uint8_t pt[16]; - const uint8_t key[16] = CTF_AES_KEY; - const uint8_t ct[16] = CTF_TARGET_CT; - aes128_ecb_decrypt_block(ct, key, pt); - memcpy(&TARGET_LAT, pt, sizeof(double)); - memcpy(&TARGET_LON, pt + 8, sizeof(double)); -} - -void send_telemetry(double cur_lat, double cur_lon) -{ - char msg[80]; - snprintf(msg, sizeof(msg), "CURRENT LAT: %lf, LON: %lf\r\n", cur_lat, cur_lon); - printf("%s", msg); - lora_send(msg); -} - -void dead_reckon_step(double *cur_lat, double *cur_lon) -{ - double dlat = TARGET_LAT - *cur_lat; - double dlon = TARGET_LON - *cur_lon; - *cur_lat += (fabs(dlat) < 0.005) ? dlat : ((dlat > 0.0) ? 0.004166 : -0.004166); - *cur_lon += (fabs(dlon) < 0.005) ? dlon : ((dlon > 0.0) ? 0.002139 : -0.002139); -} - -bool check_arrival(double cur_lat, double cur_lon) -{ - return (cur_lat == TARGET_LAT) && (cur_lon == TARGET_LON); -} - -/** - * @brief Compute the initial bearing from one point toward another. - * - * @param lat1 Origin latitude in degrees. - * @param lon1 Origin longitude in degrees. - * @param lat2 Destination latitude in degrees. - * @param lon2 Destination longitude in degrees. - * @return double Bearing in degrees (0 to 360). - */ -static double bearing_to(double lat1, double lon1, double lat2, double lon2) -{ - double p1 = lat1 * 0.017453292519943295, p2 = lat2 * 0.017453292519943295; - double dl = (lon2 - lon1) * 0.017453292519943295; - double y = sin(dl) * cos(p2); - double x = cos(p1) * sin(p2) - sin(p1) * cos(p2) * cos(dl); - double b = atan2(y, x) * 57.29577951308232; - return (b < 0.0) ? (b + 360.0) : b; -} - -void navigate_to_target(double cur_lat, double cur_lon) -{ - send_telemetry(cur_lat, cur_lon); - if (check_arrival(cur_lat, cur_lon)) { - propeller_stop(); - release_payload(); - } else { - propeller_set_bearing(bearing_to(cur_lat, cur_lon, TARGET_LAT, TARGET_LON)); - } -} diff --git a/0x0011a_cb/src/payload.c b/0x0011a_cb/src/payload.c deleted file mode 100644 index 9d4299b..0000000 --- a/0x0011a_cb/src/payload.c +++ /dev/null @@ -1,58 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: payload.c -// Desc: Implements payload release solenoid latch control on GPIO16. -// Created: 2026 - -#include "payload.h" -#include "lora.h" -#include "hardware/gpio.h" -#include - -void init_payload(void) -{ - gpio_init(16); gpio_set_dir(16, GPIO_OUT); gpio_put(16, 1); - gpio_init(17); gpio_set_dir(17, GPIO_OUT); gpio_put(17, 0); - gpio_init(18); gpio_set_dir(18, GPIO_OUT); gpio_put(18, 0); - gpio_init(25); gpio_set_dir(25, GPIO_OUT); gpio_put(25, 0); -} - -void set_gnss_leds(bool fix, int siv) -{ - gpio_put(16, (!fix && (siv == 0)) ? 1 : 0); - gpio_put(17, fix ? 1 : 0); - gpio_put(18, (!fix && (siv > 0)) ? 1 : 0); -} - -void release_payload(void) -{ - gpio_put(16, 1); - gpio_put(17, 1); - gpio_put(18, 1); - printf("PAYLOAD RELEASED AT TARGET COORDINATES\r\n"); - lora_send("PAYLOAD RELEASED AT TARGET COORDINATES\r\n"); -} - diff --git a/0x0011a_cb/src/propeller.c b/0x0011a_cb/src/propeller.c deleted file mode 100644 index daa3bf9..0000000 --- a/0x0011a_cb/src/propeller.c +++ /dev/null @@ -1,84 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: propeller.c -// Desc: Implements SG90 servo PWM mock propeller control on GPIO6. -// Created: 2026 - -#include "propeller.h" -#include "pico/stdlib.h" -#include "hardware/pwm.h" -#include "hardware/gpio.h" - -static struct repeating_timer prop_timer; -static bool prop_active = false; -static uint16_t current_pulse = 1000; - -void init_propeller(void) -{ - gpio_set_function(PROPELLER_PIN, GPIO_FUNC_PWM); - uint s = pwm_gpio_to_slice_num(PROPELLER_PIN); - pwm_set_clkdiv(s, 150.0f); - pwm_set_wrap(s, 19999); - pwm_set_gpio_level(PROPELLER_PIN, 0); - pwm_set_enabled(s, true); -} - -/** - * @brief Repeating timer callback to alternate servo angle at max slew rate. - * - * @param t Pointer to repeating timer structure. - * @return bool Always true to continue recurring timer. - */ -static bool prop_timer_callback(struct repeating_timer *t) -{ - (void)t; - current_pulse = (current_pulse == 1000) ? 2000 : 1000; - pwm_set_gpio_level(PROPELLER_PIN, current_pulse); - return true; -} - -void propeller_spin(void) -{ - if (!prop_active) { - prop_active = true; - add_repeating_timer_ms(-150, prop_timer_callback, NULL, &prop_timer); - } -} - -void propeller_set_bearing(double deg) -{ - uint16_t pulse = (uint16_t)(1000.0 + (deg / 360.0) * 1000.0); - pwm_set_gpio_level(PROPELLER_PIN, pulse); -} - -void propeller_stop(void) -{ - if (prop_active) { - cancel_repeating_timer(&prop_timer); - prop_active = false; - } - pwm_set_gpio_level(PROPELLER_PIN, 0); -} diff --git a/0x0011a_cb/src/uart_rx.pio b/0x0011a_cb/src/uart_rx.pio deleted file mode 100644 index 1d494a9..0000000 --- a/0x0011a_cb/src/uart_rx.pio +++ /dev/null @@ -1,43 +0,0 @@ -; -; Copyright (c) 2026 Kevin Thomas -; SPDX-License-Identifier: MIT -; -.pio_version 0 - -.program uart_rx - -; 8n1 UART receiver for GPS NMEA reception on a single GPIO pin. -; Operates at 8 execution cycles per bit period. -; IN pin 0 and JMP pin are mapped to the GPS RX GPIO pin. - -start: - wait 0 pin 0 ; Wait for start bit falling edge (1 cycle) - set x, 7 [10] ; Preload bit counter (7 remaining), delay 1.5 bit periods (11 cycles) -bitloop: - in pins, 1 ; Sample 1 bit from RX pin into ISR (1 cycle) - jmp x-- bitloop [6] ; Loop 8 times; each iteration is 8 execution cycles (7 cycles delay) - jmp pin good_stop ; Verify stop bit is HIGH - wait 1 pin 0 ; Framing error: wait until line returns to idle HIGH - jmp start ; Discard frame and re-synchronize -good_stop: - push noblock ; Push 8-bit byte into RX FIFO (bits [31:24]) - -% c-sdk { -#include "hardware/clocks.h" -#include "hardware/gpio.h" - -static inline void uart_rx_program_init(PIO pio, uint sm, uint offset, uint pin, uint baud) { - pio_sm_set_consecutive_pindirs(pio, sm, pin, 1, false); - pio_gpio_init(pio, pin); - gpio_pull_up(pin); - pio_sm_config c = uart_rx_program_get_default_config(offset); - sm_config_set_in_pins(&c, pin); - sm_config_set_jmp_pin(&c, pin); - sm_config_set_in_shift(&c, true, false, 32); - sm_config_set_fifo_join(&c, PIO_FIFO_JOIN_RX); - float div = (float)clock_get_hz(clk_sys) / (8 * baud); - sm_config_set_clkdiv(&c, div); - pio_sm_init(pio, sm, offset, &c); - pio_sm_set_enabled(pio, sm, true); -} -%} diff --git a/0x0011a_cb/uf2families.json b/0x0011a_cb/uf2families.json deleted file mode 100644 index 91d99ad..0000000 --- a/0x0011a_cb/uf2families.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - { - "short_name": "RP2040", - "id": "0xe48bff56", - "description": "Raspberry Pi RP2040" - }, - { - "short_name": "RP2350-ARM-S", - "id": "0xe48bff59", - "description": "Raspberry Pi RP2350, ARM, Secure" - }, - { - "short_name": "RP2350-ARM-NS", - "id": "0xe48bff5a", - "description": "Raspberry Pi RP2350, ARM, Non-Secure" - }, - { - "short_name": "RP2350-RISCV", - "id": "0xe48bff5b", - "description": "Raspberry Pi RP2350, RISC-V" - } -] diff --git a/0x0014_static-variables/.gitignore b/0x0014_static-variables/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0014_static-variables/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0014_static-variables/.vscode/c_cpp_properties.json b/0x0014_static-variables/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x0014_static-variables/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0014_static-variables/.vscode/cmake-kits.json b/0x0014_static-variables/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0014_static-variables/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0014_static-variables/.vscode/extensions.json b/0x0014_static-variables/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0014_static-variables/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0014_static-variables/.vscode/launch.json b/0x0014_static-variables/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0014_static-variables/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0014_static-variables/.vscode/settings.json b/0x0014_static-variables/.vscode/settings.json deleted file mode 100644 index 95be83b..0000000 --- a/0x0014_static-variables/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0014_static-variables/.vscode/tasks.json b/0x0014_static-variables/.vscode/tasks.json deleted file mode 100644 index d1b3193..0000000 --- a/0x0014_static-variables/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0014_static-variables/0x0014_static-variables.c b/0x0014_static-variables/0x0014_static-variables.c deleted file mode 100644 index bb34259..0000000 --- a/0x0014_static-variables/0x0014_static-variables.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include "pico/stdlib.h" - -int main(void) { - stdio_init_all(); - - const uint BUTTON_GPIO = 15; - const uint LED_GPIO = 16; - bool pressed = 0; - - gpio_init(BUTTON_GPIO); - gpio_set_dir(BUTTON_GPIO, GPIO_IN); - gpio_pull_up(BUTTON_GPIO); - - gpio_init(LED_GPIO); - gpio_set_dir(LED_GPIO, GPIO_OUT); - - while (true) { - uint8_t regular_fav_num = 42; - static uint8_t static_fav_num = 42; - - printf("regular_fav_num: %d\r\n", regular_fav_num); - printf("static_fav_num: %d\r\n", static_fav_num); - - regular_fav_num++; - static_fav_num++; - - pressed = gpio_get(BUTTON_GPIO); - gpio_put(LED_GPIO, pressed ? 0 : 1); - } -} diff --git a/0x0014_static-variables/CMakeLists.txt b/0x0014_static-variables/CMakeLists.txt deleted file mode 100644 index 63d1f6b..0000000 --- a/0x0014_static-variables/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0014_static-variables C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0014_static-variables 0x0014_static-variables.c ) - -pico_set_program_name(0x0014_static-variables "0x0014_static-variables") -pico_set_program_version(0x0014_static-variables "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0014_static-variables 1) -pico_enable_stdio_usb(0x0014_static-variables 0) - -# Add the standard library to the build -target_link_libraries(0x0014_static-variables - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0014_static-variables PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0014_static-variables) - diff --git a/0x0014_static-variables/pico_sdk_import.cmake b/0x0014_static-variables/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0014_static-variables/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0014a_cb/0x0014a_cb.bin b/0x0014a_cb/0x0014a_cb.bin deleted file mode 100755 index 7b8c65552efafb6d1485e903665ff9630d894b92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34528 zcmdS>dwf$x8b6NDIVZQKX`8lON?Rb87TcykD4OS$X{6cH#Win@phZK19xB?Z()MNPQu7Ai}<5!!&B&_YhH`MxJo-~hu2yAy(3C%iiZ<9 zG~i=CVUBFE_MLPV(>ApX(cPXvbjP0~T0&Ghn!@*5+|z_VXEAawlXeQH8BcUQxkNji zCE5V4QWJ42Y|7G4l2>X=+{~0xE$5Nhq8pf!q+*nF(=s&CdQ?qvTS|kxR9>>TiwMmZ zRhCfjYd3MzcQxaP&i-4p*u;s?_Y*NnB4TAP5s&sftYgI9o*o}@OHEoG5qI}$Z>kU( zS>dHZXFQ%??~PB#{meMrzuXIYDB^Vdr9#3Oh@Obmy@i)7PX3Z*rqrx8q8w|zWHHC% zj)d0~ssTo1VfJTueg zS=LKzd%kn4YrVv^oN=+!xG5Auz*GFvTEP6JQx>ZU$TZcR8irZ4UXr&wfU<16djS3@7G2j9dC zJ*++o*Kc|(SH7Cbh;w@K%I++WAG@QfPSJlVL1JdCvKs9{?=jG~tY=5nR|@5+o6Bme zTJbi~QCoFJA)TI9Hm!6@`F|@hWvE2v&q`#LWtFD=*AhuXCC2`&#Q3uDrAhy_L`aHY zrTtln5oIGwqyKA(3n|4q*Rbg$IhVh_bwKWkmG}Kd`e2DV2 zorxV%!6e|9C~8$nUIib=XWw;R+P^l-u_KI?(b3izV~X{tO&ZUivSh8ZQlli+tmZTA zJF40gmrfI1^F?U|@`U6A#PE?sge$%hKDAUKe%ibJz-Eb%4@g9}#d^te zD{tmU+D4Xf;?f>sWOODwtsz^lEm4SXN+hGrldWgW3UNE`PkRbev-LXkakHdqfV>Ju zo|adj^n*R;G0tcop1^o)MSp}bMAwe1xoKU!1tZFVa+4(suA$)S(4BXYj9gE)i_2De zZ!b%9FjEulq2MnD!N zef0Mqz1c1%`zG%cTZ)S{m7WP1vrvLVpC{t&-^0Hj_GaMza2PVdJ0T2d0HiJq+0<*q z+s0l4e)sl{!|!fDj3Lc!hvieXCu5g8H+Mu+hY1>*-vMyuz0 zpSFz2PIPerhHGm~biU`2+mamC)MR_RFBA+7kcy#%xU0IUOt?j17P)GfskZ;pF0-2tQk_ZLi`!3{R@BS3(*F5-Zf}sk zrQ?}(oOqukL(VrnjE)l@m5AH2h-habIh&s2f9%peyZGIN@>3VTT*&Ciq+aib7x_3c z>6+Kw_3Ia)l{LpyjHu)^ya&WcKn zyjRmdu2U0t#d~+BCYB&q%M;_r7hlMG9&K#0D%+&ypPnnkkeOs&^(Z!lg3Ckn=_1Au zZC_TVbrqzxH71!dFvlc1DSfITH`*q7`SN;(A8$-DkPRGUV^@fU2Duls&?XaIh1hPW zbrgtXb}cxA@u-*CxPXp5dhvzv%+y+Iuh&`pIO+!+<|`rRs6^6^N-`uBk_JhOGy*9J zDHTbFl!lanl#OIgoByt}m@yJ@JX>qAMCCUKgaqssa&?}iMG~fPXqPS1nXQrz^Bnma zwuDhpmLGMGq{oaho^Y6%wHA__FLwOG_B~UI+22NR&OV&J+72#5hjRdr^I)|ogwv=YBwQ`=# zR>s4KH}@!Pb&dilZ6=kFpZFm)KMC3p)K6{2i5+4^HNTo4#jmJGJ1Z8ydtUOqN@~wu z{Bk_n%Ix)idNDtbWJcP0#8%rwEF`<-%68%5yJY@CrQH9#YLleUMg_D{W1M!Io76dG zOPQpSxCqAZ@ z5lbbe?tUM0H589DYy6b&FrH-4r&L~s`MRIpw}(PZiBL@WP5B(=@T$e{F8Uvm^f;9y zRh{E8NK(ek7p+B}KU+2YOpl|&pEB8WXDg$x=$tvGqH|?bRKQ*ub#)$w#VgJ1uWR4oq|$-OJvPloTNcwVN| z)vasRiVcj91vfNm^!>NLT2EO2-K;9-w!+?c>CSOwGXC}Chx027QevJe zn%kJ-Sr5u>wWi{lfU6PLak%Pn&B9gX=F;Lk@ns}!q$|<+?4rXLU#M6E&WO#8j+k<* zlx`7yBn?!TvHoY+P}+t?pv1i!gztS!T9=Pa3;2fnG2DlE=p}8FGCT*!jRbRm9CN_V zev+}%-4d8e=v?5$To6V3Yl|+V+L-ElXOp&Ed)IDj?1|6>qocAR6#Sx};dPktE`{C{ zs9dV1?Y0I^I-5hm!$WV*hbAl~9o74|J9CX0AZc((^@pRATE|o1?xDl|6{A%Vv+xzHo%axl>||#ImWF<)is~Iyr`j^#U;oSG>Z0KO4Ki~JZZ-eC zgY6`y7uyz9p$(StA7M{)u+Bq8zxNYOMP~t9)3%?_mQ;C)cDyHyzlA(VJYk6BLck#B zh)mWtr6Xvang0t))tQt!AEK?q zwnm=3Bx|46bF+B^o}=1;p+e^WnD$^%v(@Qm81d}=Jb4A!IH&d8=}eREG?U4#XZJ0= z3-Ec}#=XS2ZxOAJwlOF54o@=wR2A1Q@DHTsb&uMM`WU7EFsYZ=mQ+5qn^e5a-_kS1 z{DWtMRe%i1Jv-6QoRv38Q*_g+7xUlxa?$&#)&KV%FR7VQ6`|4+ff$E-eCmS5Ew69B z#IB|@a0dT*2MbH-wO)1$SEmKP3jB7u%)2k*nV0BiZ)=$Hzk2`c;`cB~V7D(N%d$|c8N*W;){04rE zndK906Py@-^S(mQ;`Eiy%Bp$7*cBC`Ouj>M&8!gRxUR)jf$L6OmGW49#kJ6475pRW z*d0;}@|dU!QKP94+2{%}N*x26F&fa0_|c`W2|Fa!*RR@lNG0_29Uny3Lpm!g5lKD`Zo=PaJ zH0bg;cyJ)0hc8+t4@>C&9#;1oI<6U#Rnd7^qpOnp4>Py6O_wz7ufuzS^-FBa#TS00 z_ESlXqK+}Qbj1=TBNujR^gLx%hflNTH3+X!Jpv02nkh~lF zAjfD%uB0_9>MWhHmgCY0bM#MR`b*}fi2gl#v3%K2`ge6rqpbRETm(aF?{BT zy51KNs~NN!Ufs~X;MvXbmX-B>eZ?*3=2WRiP)(|BBK{*Jm9~c27VESh83XM>4_0b- zPo{SfZEvkv*|@%Ol~w71-lr{2rn4nhJeLDyF; z57;r!(3OMR;&K*ae#l>5ufWK-Bvo|(eu<2y*ew)^^+F$)zumgn&v3W7W&B7!hJSN> zQ6O~7e(RHdC3m}d=;0X@{Y|K*i&wST-d&5NA zg9~<9Q%?|G*z#YIRq;W_?gyc-aoQz_JXba zh6S@1R2KDm*)b2~gA?)$H?Z`Qm@2j>*ZG1Xl`1!5;bqO_P1^Ztjxx?Ke%8WV7E}%*6>;zFjAA8 zSLk9v^pK{;v6xAL~;ZPMLUOm@Q?GSLnE_!o3Fj z|UUNZ)e2_BEBNU* zp!9&B4;Gz;n2`u;xd?sT63Qb_K5cq|`iw~CcE60&_X?uMjUFym8)P<16y>T>($Z0i z^0W-`TVS88(P#ofx#p^HyVx{}{|YMs`S`}GLS8N{n{&A_*L@s$%*3oS72V{~bU<3} z8EvN?sm24C;qYd8C!fHI?JVlJKgS-1n^y=A1j$@@-8(?Cg zMPm;IxY+&^=X^}&2``sMYaL;y>z)(JzSFec=<T*?y(H>>9!lOq$gTSLc#&WVnSwAsPsvz4LOBa^iM2NBcf%1NP zj0Juazl8|!APMjwJ)_OH(-jNK8J$gSt7On}#9+NhuH3`k>(=UJ`ob&s=r$EU2mNE< zyZPpePK#P!(OvDdhs(6B8ir<0Y4u6PG9=>0z7VhC$Bbj!k{c|d8D3jY$Rg@UuMcxo z*$F8lmzerIk#z|nu@>qxlaYtqz-B}MS%IMzJ2)hS# zn(ZK_{<9IUDIFU!3)zlT-wR2g?K35V!Sw_6&|$go-^sBKlbyI%lFisuyxZD)G8c1Z z68yk(khJ@iCCYM@O;r|EDg(Dy56Q#zx^=8&*^D25q~q>dsEeaxPiAX-eBV`4!FeH1 z2G(}=VYEu(XA)gJthjcJyc1H**yw^IQq3LOAIvg}6UUj!LeZWtv&qZG*lQha1ye

    ex}KLC4P}NBvJtR@dPt3~OkYA?3+MIQf(UGcA!g6HbF{j>U2 zGOQVxS^ZJC%9vS~)VL}b?x0xQe38t&`x5yua%G0D?1uy`kfu=Ze28t=4w}2AQ~8&) zvVu$TY2*h+rbQBd(8*>Y58MUZXa56EKLi(+5WxNII-Is?xW-wRWU|?pm$Lg3qj?BJPnD!c0sx$jiuT*r#CnoqAXMz8l zMV8K4Gj*NoX6i&GV4kFy-A=Ehk2}uvvBzm$yZy_{Eu9ZJw+9%Kf5|e`Pv;Ol3a;a3 zx#W~ZX!dhjOt}HZ{y$*GUx&%RBn-h&+FQVb#G$rg{x2|7hhX{!|2rSevX(AFcLKnh zj_WW5m$Yg5m*R)oGk34SdL?29Q@GRr6E6GT;0|Ah8|F`h4(9HEhkNIL!u{0l7Hh7% z=3Zxb4?p5t-OQishg z%5P8qCi(56cGx;YwN8Jp_?Jbp03*A4^0Y5f*BP(JM{$dL<(!lzj278A_10}t_V(Cq z=Q=bS3%yrA*l*20p%j^DSs-+Kg=mibuu#^{OncL+k(eKuGdhfI>VqX>jqrvw`^>*X z?G8ifJrruRsEv#DjP4c|-s^qSTIqSiI?r<;ppBb}UpDT3z+`%LX`gpQ|KjtGsAsUk zz~K1s`u3zz@aOR~>-Y1ztf*{3|_v>J(6m^4bQc<-N-C8tdjRFcfj zO#6p#0<;kD)~Mh=)n$L~p)i*{6Nldadwbb#`qu2(ZCsshvJu_D&D2S=s)`xC7yS+#JT`6K{n$Kit+vAI12iFvib$R{HK#u05?AD!&@< zG;zek+_B#p>b__1Jl{b@!YNm{7ql;og$?&*vu77t%IjXT*ELk~G2fgtzi)n82Wrs8 zy&hmSGFb3)VpUkZul7}luJGM+K5_tiQ{tKrv<>j8Oo_yiKsyr3>zC@cUDiE)uEQ`_ z$=C3+E{%>(+q#+8tdHhd{?C_XPb)Wsf(6*ewTRu-=b(GBLdaRzEhL75W#QbE>$$rz z3;ZFR_k%zoU*B;OKAcc+aX9Z}IPcY=yzFq^C*eH!YXM~p=Ul|zdCb~G$c4(SNH^4fotd%E%1TTM5o@cXOu^Q1{N-fY3hb7Fzu083!awF}FO#SLd|CB$DEQg{ z^$bSdj~F=Dp+XC3;k?f~)VM!3upIN$t3yy~)WTeUOAJq=C!>K65eEfzfKkr`?CK#{ z6=1&}2*(MjnQ3Gaye)!bTuU*kCc3ifrsRVE9VS!Q}F&!8;4 zrJ`TZO|0nrZb_$CSqEP($C#4BV{N1-rjEW>S4RgzGd>9D;xuO-8yEYQ*$`a_s!ji8 z5r-NC(Tnmyl#ShunRH)1v_LMe*}}X?z~8@t8Z-IP;r%gX-8OLj^A6*6m_I{43@?V? zRuHl1z&xdqFL%p~oH3u**XE)o<(3k+x%~4EL*pFx$-Z8b{vCqhFRa(Sd!Uq9aoaM@!f~IaPpE_RVk5*^hprLjZ1-I+RCnf{q0*FZ?-kSBxkcS4U+_^sB9-~yeExa< z(DiUA^y4zi5^77e=RNw!Bae{9h%G=Gf%N(DGrh8Vw`TOsA@nCWRg9sIc+dt!HuEF4#8Hptp_COLST*L{A^%T^jy zam_mk@QN_}lc}dJoRiGkD}B23-=g+J=$4rtDjRPXOH+@m@mt&eYxj9Ia62E-FhU9?LU1KyB&M>T%hwuUia@o1!8(7jQ1~#LcmHlaas2h zdtbglc@+o#P##kK^-6u#%jY^Wij;gUuUZ#XYoPWl{8F(S&vlsI3@v1rtp zXupD`?_ibO{9bWm(Y01c*3{XBpCKA(hhN263)dIrVx6i2j++WC{P?g=c@TAd4jz3D zj>K-IJ;~Y-euG)P`5>jB$xE{Gy60ohLIXNzwqUQP>p(SD*{Yu?mJp^`Vwhr}(Ib4f z@W`JpXFMILJ!=)MH+$m=tY7K4rsJ1#zm42`z@ZcBV9*wZsSf2n#S<68sGf3}C#qgfjYF6w!filLVhT?_J$UJHv~BX zr4OO>?@{{ko`gDL;I6>3>(tB+1=j%Um6$`-48v;tWEC2fZiM&NSmPS?7sx71LYxPF$2Ntov(+_xiTTL?)*N%11jlLazR;3Dr zatkg{ylJ~@fCVvK_OQmd_1fBJ!|Q{(`n0Vt-lg8~VtGS=sFU0)_;h=ctG0X{uX69; zqiU(;RJ)vxUUfT_omo892d%|XbxAJz?h7HREi`l$mS~n3<@|s124YtAs4nA_^pZ60RGu$Fn`)U=lJXqGY^S z%4CxQq+FyM|8KhC=_WFQFAy2-h>u=b?ojwD(N|MyPOgqx zPbM%q5BLiC!$nMM6r{k$TfsZTtrqL}l&~h>9;jkZG{$A+A-1RVO1^TP=M*j zcX*Up)4b|!h)Fb&EFvaW7l?Y2@b-8TNVSBEMR_ zZo>sCA&*0YUD~7OYalC@C0x!$c?N8WEM53d(n1WFMs%%z@4#kE&s(Ki?7`~RmzEcA21 zg$S+Eb&*jxw6(Qd%9)C+vz||9OXeHfZ`Wvo5;Mik(YhoCPgC z2Xq(=J`qyCB=9eP51v+L`c!D`?>>4@`Jnejq~|ZytWo{qIQVZO^!`b5NXAuoZ>I9< zZQouvm2%`lSWd(ij>|dqy^I%l{(|-JG9 zc~iRuCkHvOh|{W5MN6DT+##fj0{k~8tM~N~ZFT3@PyN;Z^;7P~&*BJ1@cq@d@dg%V8AT1K85sd%usbo=F;h~doR3qloz=;a`LGc!;w#mO z@Rud*g3b0M(T#*`#5&GPCErG`r?^b?JeXt+5El5jGDJ?P^lwt0NEyf1CC>{Gr3Nd2 z<5S=_4aD{-<9GDME*VoOH^QH#+S$kD)+MPYaRD<|(fJGI69FQ_8fymaLviQfB^8~s zm@iMj3-;tWv^U&?p*|^P8@bwubPfi8Jt*+2z8m9;;~(~EAt(E&glmd?sfu!ULQR6B z1>7Gqj%iB-ukW!Y^7BBimwbsB=SeOqH?76>e947GSo|a0`MP^k)%1n1ldZP~Ra-hu2?LN`7s_p8|P zkns^I5h>RVX_f6o*Ss@$^(&dsztP(sPbC?7-OhKYee~oWVx0Z`8`kr!%(UNL7~_b@ z(oO-=wfHsv*NYS0QbD3>zP>I|lmC}QDFciWzLbBLs3o$Er!Q1xP%2x*H3F6Oyzam3 zskuN`6g&6Ok=-&(Ps2O|(Ivd4zKu!^Bxw5QQX%3YYWOFydW>H8xnyaF6+Pi{{O<=tOQRc-w@%h_UGK47v?UV$s^o7Amr?YM)&%Q-AawX8&_u`C3uMB%V`Dxg*YKpQwQ=jT6Z{T>cjzV&8$xF5uGddZf zGl{sYN5|7UI``iSczUu<1z&w1&K~48DasXh4F>%^|G7s<_Xp{@EeaC$jhgW!e9zT09B=qFjLNSen~E>_xIYq8tCw@I`nZx!m@&VF&y~@f^r6n% zV@$1{HANKiRg_@P&Tt?`Q7bq@N&Xy3Z7`S`n>eeS{A(^**|z_KYBco@;j{EURqj*@{B>p#{`tjpC#q?_lht2 z%ouz69ywww=s6cx&v2apwIc5v{Rw!5=?irOiT7s#iI2K&TangYd-ayw2)oE1$A3cS& zMHzR^AmopE{#Hexi57ke?p)nk9(5B*V$Ri(=}Ti!5JpUAJPoGne8%!;`z z7moX|^O5L-|Nhq15PADhgUU8jpX~V0@(V?loWq))pzjnnoaA*(Z9tSonY<*yK^*HU zhxTcP-m7qB5gT4xm7?rF73q)ElvFvN&pWsSy^#{xQSv{lc50>;-bbmcX=NJg~ z^war+(JK%Wche#CpC~P~&P_Nwy#Z-0(s%Jgd$k6}mW;h!IpX$hOGBn;Z_Uz@1D`Er zOiHgROMZs4t#U=_C`1IF!ZA9G^i0M>uc{`kZCy=@i=J=7sBfO_VoWLzYm&S~|FA)Y z(K0wdHNdQz&*UZU67}IOi(w93JDM4B88Z<4KZC?g>!fkEt|y3=$y9o29jv#uMrq7kutsj>ERpO zq_zHG(Af}fNl!%V&!E0|c!;lh>B&zH@9l@EZl}72)=AG03phDE5d1BzIjrHQ{!GJX z@kV|!N>&W24$$+yw9aL~xY$D`Th5X6^U}_>8FweP8^YM@`Y>AQo&x&1A>6*VcOaP8 z_elp~(hK)mZ#qZIPwe|c$}`rTh^mEk!I12BtjHo|eh;oN;@^7dZ+WlKK(C|FgRi{< z!PGuFJDx#&U)>nGo>^gCm4Et#ibjSPuwoZzN%Tq^qJ@}n4shJ=)VpT@^P49Lx{H|np3!Am2jcuMnk`Ai1HpPp25SEek@sPHqey%8_lqO; z#*>hpT(=2yAlOf4%);`!$9yQDcqu)@@-gFhsVeFc|=RU8DMUD7S`lI z@Q>0!a9z)KD~r(>!86OI;!|9Vm^*;8&A_V|x}ZP!;{eB}mrp2dX*4?fgOB&=T#UXS zvG=ifcVD071D%aY2R&f{z~%+sb1B|onIFbGB7YQT9Y3o4b~ly%VT|uYTAL+^|L4868M|Kv6$VW&IUrQTO~z;Y!DQIh#fM%=YPNGvf4xy|zIv8@RP7v2MlY)%63xulg7R$4BXzotui!b#OVd(uDU@-am}}{b)K%_YwCol!M;I zZV(ao3BN2=yWrDHeI;v+TNAhik*sD7W1`=3AmU#Icmd%XTI0SY$DG5OtWF|s6UzPr zo&!7!czAbifR~w$0RCBF)qlXt0WWKL%5x*M!em|aThFKe0jmV8qGjH{!KzG07R~Xf zm;M~@D8Q;(Z2tzUHdz;2J!Ss^8x2@>%k+PP)tHVf&i1VO57-#MYFfts8*Hq}x@45+ z)1~oIlybLBF;9szRWFGdf`QjG=aw9;>By2Kx7G}aH*%Q!k_sc&2oIdFZ723d3~Wg}WQ{pM+#3Lg6Y@@dLq#{q;cQ2xwU|MPo5dKQ zWujek6|C3hlADOfS!}Ce%J9tqIzytJ&s@~fMf3w=l$p4rT@0D)AvdjqluRqvh|Adf z$;ujq|EolqzaX)q^Q)1qzdPKeW}X!pvH~z;R?Kmpcb+7F{vfkNHdW?dp33=&>bRs5 z#?M^7FWq*6Bo@+m=rmj2lw^lq%wrBA7D?qUCGmx0?Bi`ujgk3_M{l9P2^sZsc|D(P^YkMdgPNRxsCB#3Fo(HLI3$g z&x)tsr*t2J=Ln5+z2`~}*D-DKVoC%%aAK83+v;yqC%>QYsc+Q!<|_RWq@ z3gSg!RxgdSy+;8FJ2n_)klP-76tl06MT{pBp$YhdhXg0=8I86{kdj-LFF(4RnJ2@p zz+ZZGVR^uu26@mSXKAmtfiW7N(l+Z5(F~7+=m_IUC4i)jy<3jCI>&WhatSFFG3_%P ziT=XGG*6o&gWpt~<6@?L*ElQnRjZL#w7q7K>RRyW|!FMmdxe*5}pQP)&sWBxw zgKTVp{lgAs>bLfg9z4k(0qgIPL-bn!CnfQYHYGVt4pCm=ED~h&80OVYIFFS9y-ekn zrm*!1DIR_vzOuGCuHiHNvy!4C^+m02QnNla-GuQDn)@WHbP$wSL`JuHgISRCyi@EYgM6BJ|@353U zKLz{ut8mVc##+H%^U%nE_`$H8KTrFy7KsCGF5#Mib@>P+5%+IlE*qwq8F`du=ySz+ z>DcxtU5srU;Y&dO+z0L~23Nu`E-*JZXCA4PmBHZ)1M(&pn z-A^CNpN@QbPxGh4#(caVn4>m3YtMSzW6Ao1hoh(I(dJ=+#cwrEz}me!?7ekVldQR3 z;Af69{Q`TUiDEtT8goB6jPxS&7=GS0AZRbrxdDD=W&>sp4gX4TNQ#V=T&koDc zSK;v!9o{{p)Y9u{EkqpCALXk{o><0$o^$XWm_K9hn?~g z(YjattnQjUl&6WJU9l?6FZB$@^lU2;f7eI3rv_KARHKh?VU+YPy095`_Ast7)npPp z?0etvZ73V%7=`-3@H%`?ySCv}_scjbT~YnCi|$b#s{WIcN^()Pb6iVfD0l|ZDRiv- zy4vbuv7a)x`tVXN5T(G{Hz9#J+$F?YJM$AT;$1qN3SkRwb3Rz}InK~-Nn+MBb*rtG zE3a3VxuQX>z156Sh8k|G#=h|uvhkke^^NTM-m(*^K4{evTJrKFz-sJCUuQeXR}|mJ_O!alm3N% zS>T^bHpc{#S;k1|v7)!*`)0{NI5jhaRkt+8n)0r7>|tJ=B^kv#W)ba~3Zh+#>(%l| znmd#?{QTdplL4dJNyO$}3lBPK5l7lb$198R+DKb7GbSnzGk}dzRB@`eX22Fr>wW!u zcy(P{R4n3Oj&@lR6ARuM!j%oU!hD$* z)*B!1K909zhiLzIyiIgb+TRm?`?uZA;9VMI!4fY2qqpgMwl);3>VwSJ-By@fxL%s3 zW$P-t@|oqhqfeDxBz*rnAAyF#zCGkA6g2dG0J$M3yRDDZec;Twa1P@t6#TBwDB;tR`M!23~V{Ni6?B*1_AzSFTi`>_y?Q!`q zzFMM6o+(nfS>rF^Zy%n+mtFnEZgS|}?}&RhbQk4s`~#75^XgZyo9fYE?`9-jhr>Vr z2iOaL5R%$;{3eOjg75X<+hBWx9uWwkV1BRI@S2N8zIvlZxuffDb0#|tu3beV3defp zyX0AM-mkId=9mVn+WVR-0Xq2X|Kt&SirN*@3*=C*k6ID9b5lJ^^=od^YF8pktFD(G z;we_A_)?rrgMHz3uCXp6w!jv-1Yc4H?8973C@3DFl#m3mf^;UyBVx6pv^JkCKss6Cuf0S>AT@oV7ErzPLF(~^IcVug|X zK}iAYCBvP_e^9-pA(fxH?_9%6J;ZFu&Tw1Oh$*uzAC|P4Pb!0)h8zu%)eCJk5v`hs zTKj#7WCZ@3ZHSnjTfujMp>>3Uj{xo*{CNiW9%Z22@jgM%meI4q6xSpqL>N-PmEmXy zYe>ef49$lR5_b_8^M00>m6LQMPaLxx==FW(gWS;woU`eU@=u}+E(PDl$BeQ*t}Eg0 zU{a5ZWQrc`R78qn#eHHRFQem32H)cf1)l&8-+E~7-;vwnQk_wjVMopXVS>d-*FE6> zAv%`mo%7Jl5%`8F=7Gp}ZML9AD&^2!(270YW8fm&C!3nI6svjy>3383V+K_di+oU6 ze0o6DY)2mTyW({9l4EIGAce_1c96TzOHT;0fL2~qsNmN(!dE4p9Z;fQkM?K}DDfeY7tW$6*>yL0jR~4X8LZOhtUTbAqf-aqYbHu%HN}DT@np(c)-m znNClAA=Z`9ilLwv&)<0B?#|^E{trh@;VlN*SNcxIJFvHnbDn7Nn}L}Jev->iG0Km@ z#{FpEBcG1{(5C?&6qnp4Q0B>F#$BLH79U-{zLD!Ag>vlv5ixF%!xgcS;y?QHGMHBC zL8mpp5(@j$-A|zWjr2a(uWF`wViQSQQGX1p+|eaOWbqv$y7Qtkj3|*g6H3SiC10?p z+P-`V3FI=2(PGeoS5M+(hQ*)^xENBa47{gM2GR&<-LDL^$jy9Ta9v*pe*e<<_YNih z_YTdybT5!5A=&VwCx=tB=I)@bv$XFD=kyyj!IX0Zf-Za zQVZv~OoeHg+ZvVLUDj(S;A_FzrbtcEygYN1M`r5wRxVYW0^S7MO)iYnsRXgHbaa0` z26hEb6CCrzP9NR-?A3P~&qMRjkzI$}X3q}S(@vx7!7-_Ym97^X&-$YIsPxl5ivK-G z_$H=k=X55O*V#0oytamZ<7;aX`k{kg4gQ4LF5L_cXPxLu_9kNt%VbXSaGB%0skU#i z+cK+WZx<0pw=_eVHv>2Lkl^Z znamiJ>G9%QfTn9`Pg6P=+}#`S(bKyJ`!D0FG%7J8c=~k zlPwYbp%~IPlQ62gyhcDj0O%jQWa1^yNHI^|;mze6pvSbJ?6)2h_K+ga+5KPn$e~Yt zTN+1~Dgs(a?xKFI`b-~smSE5DFd{(Qp7TEF2P_ld)#?_WjID?(S6+Q{ z@faGh$dmQVi_q&=H#mv-F}@<3iwN`#W?CUx#~30I%!@L}`g=Wc$n3PyM7Mtw-TRWG z&a*w7ZO7I1D0#Xk;?H|1iRufIt|*sX-Q-Nio8A4gfCk9y?0-heob{VUx#2n}Pv~Ch zEbsKYH%ggPh^gGWQIZQZDx=uD+NE(#bw)3Z<28kE@2lqDNaEVxu$s@%QBVn=tK{8n z%{+n69zzap>$B|J;cAPT9OlK7{X1M6r40RZsB=e63Dyv5ZpT%!BoZeB>z7R_eGc!5 z*x6%mFuHDAN~29v3xC~P)3wFwY5h8-rjcs)pR^+Nt3{+E20bo9{W(jQEZR{Mjqfi0 zyl$e)fkZ#sbHYdI^e|{a>0!ZrE|Rk;rCh;pkTMUC<<}I&dn%W%hGfxEG|H9&$$G1i z^482JmSTvP9h%Z+Jjl$lJ-cUGt4dfObf=2inbZdO3#>;{yB0O7UdH;)`P(j{pixhUq++@L`Ai{!3WPIE$qwB~~ctf8t19E2&HxJ^|;b zHSW9#<3Kr4$~chTFbQACF~Z-*oCZIebNPADYKTY52zrc^Z=CW54I1HpGISkJ?DHJKi?5~`V;E72n);EylN$-TC_`pHHP89Ips9qPHj+GK&9NQ%;k&0 z?LU=ZPvOamYb`EII`+h+XRVi7DOMe)BDGOJ-M8=_!=E4-UC&x6HWOPvIPjYqRVPsu z6=k@KfcY=?&3Bl>b7)>qNkazznXeQ*ABnObfj+IU7=DtOgTVfMUuDfa%=Z*$dvCJAY+GQPzznvX@ie-daCnnJ`WgSx8W zdlUTcA9clY?T&)ZV^il>Pq6=0_*O7fs~RG3^g1!(2d|D$1K$u?X%F2~1QPXQRo6*uy?CKm#wj>FSGxsgGMx9t^&33O$UYWGIaf`LGnuCwO z4tITLzNyhWj&#McY#$d-E$Y7hc`KRpm5sL4y2j1c*J@(V;51aPJTMpVx~j@>Uq3+H z5cZe(O7v`>-->UnSsAhIGNom)f+tlqh%Owa*}8$LE1v+|>y1q{JAl`R{vzf0lu(kp zkxVZ0G+Qkv4}i}H5VbzOcV&=keK_Uy#y5c1yOLtNDP@YIuJKb~_lk8rkM%{o@l0YL z+cmy-MNb(bC;y1k-#hx}k4flLUzy@i`J?b1NFr|OU%ayE|7q>o5ds1%%`ApjgAyWGQC5Pe`8XB%I44Zgqt-E>fmxZEmYq7C z>YM@eUgvr`aeFv9)2%@%X9kk{{q2GDp3Xi0+&g?0Ypvf}>$iTtwbtxed#&FCW7ic$ z97a2qFyhrvRWH-N_-A^f@H}ml)UeKjb3^QC4q|Lz!#8S2dz!SO=?!PS%$EqhME=W* zUpT#xgE?ah`-P{mKPPQS++anm4H)fB;OaeC%v%(_2=lsKINYwe;CyT#Sk=*OqZKg* zJ$g@V!+fVmkzGW~7NM{6%k}!9ac9_*d1m)7#fb03h=*gu?_xCG+}OmXzd46$s`_}j zW^z9_Y0vtDzl^;5BH6>n*yoRgwKJCdussOWZuo^-d;itP-oUM9-G+<7$JdYculH_l zpV84G(rOg>{Ww>JmS+0_;r`A8II(>jbY@8y{nviizA{GRR)>6YH7xYS_R;>0{{5mw zQovf-zV<`lU_y++cDVhN5Zb3?_jF}Tp?zwM=f%GE^>z^}Lcw2n8*4*xk#xy0WB!@a zD_+g+)NaCkR3NNror6?xpn@}5HniK=G|S4ECgH{QVHbI~DujAH;8tshYC)Xh*bmz# zqy3FuwOb>X9e3V}Ctkq*1xxba9sZh~d6xG70-MllUll``KwWE#lmyk~4fD|%f2jVD4vKTGVk zl{F>GYby;UG~+4#9Gw6`PMO->_>P9&)Kb;|)nnbZimM+*e6^g~3?FPe3~fp7LXm8E zJ=|e(G36TQh3-?wcSK1gQW0!}-3JY*mxZVfWtJkj_da!AmQ=X67iaSH)M}x%kg^pUmWMcT4`1rj!X76k!zp_1#18?JJm}24r!lQCS8M+ zB$vfo_PDjYB6+;yQ|NX<<`UL-m6kNeo*tbRvb3sH&n?n$zqXPwI|yZf+uP3v-9%?djn%pLOxdL>I5v*TZEbxRiW^Il|L8 z`<9LZuQGp)D@+S`<{^|Nx|E6pmv*rH2fLyn@xWO+G+#152b~EHBU|ZA{z}1J_@m96U9w}kWq37mBK2rMJ z87ci9f!4t4W1*7axY5Na*I^b%b|{k77e;g|vl8skteHI;`9ue#Z;eqjw~J~ea4-Wl z!NU#-sV=3~g}%5fE#8d6I(SP^_jI{m%x(T&LDkU$>0+F4!X`g@jWL|6#ag(8`Q^sb zui9elr8o^6gWs`9A4+CP)4kWN(!^q4$HBgAn4(qCIhb3e{ph|}Z&=Bj!Vg^;*k^E> zBxGJJIj$#0x#w4qu7Aa|`sM zHcG0)Q8;~$#k(H#kq1(wCTZA}5dtib<XhT5P5vECp?{`B7HQ5H7#i1>Y{#vQ`=R_4+8S6is<5%FuB6AS~L;P1J7ak@11bdL0r z5b0PL=Za+87Fq-g{2*k$B!t;XvlTP=z*^xaJMOo3201>41_v9PY&jo!+R1k2i_o>q zY{dPo${oyyx`R2kO|an34f684ga~_%gw~6}*EC=nwpQr1vz=Tf?habGDZ7N=3*3vN zEY9fdPHqa@Nzh%wkB$NdL$6dtjk?NKT^qc7f6cVAb!m!A&l#_7A9$}C40mohF<&ounx;Zcdp&P`pWw~qj~1;WcW3}nJj5wGOyZfI;$fkI_|?Juwva%+V^|=5Xb}F;ApGOO_%kk0J{Q@~hY?pHz6-Ww+mId}!E_%Z-->iL!n9zfvmz|Fpp0j_Vw1U8 ztx$xkSJgglDjpU>XB(#ClsvKcp8Ud`Y|G5_sWK2S!IWp2IW2vXLH+;=Sb?d~bf;J> z7S5cOIwdtdH9aE$H(4x&Vo}jd%2K@|5p4~rN#&_Y^)kMcLi61-(N|JEWBECZ-D4`8 zE1E2NOLmc|@J`X9PfODmnIw_u85WW<;s5$c8OGQX`v0vL{jWcZ<`kq)(a$Lq#k?$i ze%@la#uLCocnU>x{@r3B$Sls!p$bV8rcRt%Pee=e?-liV;{4)5Q*QRXsPXI16BvR2 zAC8EYV$+=kVxit57U$=ginH_c^u>kQ1;6eU5aMYvh___vrCd|dT$!mMo{EZ1#q*1@ z^yd6K@5D^sj1X%i`)*TlU{=Hh1-bb}*>{WR$CRC?7xU(r=AdW@&;RT>AG8Iix>qdB z*U!zLUr3`Q7MajdUU6Z5ZZ3$w`7?xPh@PQ23oHw{=1qJAW+pek&_t6Wf~>+UeJ)WK zz!Q?3oUAV}J);*+8D%V@9>ng0}kLk;*tyK?Ilmj=_(Oc_*Vg)O#sIIWqSFqA$ z%T{DO@My-Q<%X#S)Gco8bC1DwknJLZIpm5G%CS*Ope))jg&! zs3Lp?po3yz88KkCn2|25sIORocz%t|T2o$KQBI?xH#8(Qgs_TQeUc$#f&Nh|hG}pV zZW=~rw$_YYp)Xrjv!bfz;R=02CB}4FjlQbJTDGFh-HW7))oq^Xl+(gXx3EN{TKFrcVycc%yqTy)IV4e><2iPS~@v7iksn{Jo;r)-C&E zB(6NO>3_f;3dIYJ^q(1@3&iWs2I3`NIS$xSVay(0W|j$&Dej~P?Bm{!V4_KxMdIc?b{Ow>Pn1bDtoj1Qo zpz^?{ktrF+#xV=4V2`jWY}+bWHmhMP5ZAFvY$gaYhs_7nf+l%vB?NoR*c6t@rm?9= zrLzfgu8fr8Nc*x)P;Ul$IhjnLR0!pt>cVaj_W6FG@bYutEGN zcSmQ%&X>wJ?qV|W990?`2g{&st_6r~2&7L?i}(qIV7{0sIM(>2CY13!&seY$W?+#} zs>VPHKsAPAoN^2wq#6^%IJK%tp+OrZ$9NhjwTkDB6s@KxSc&EXj8lbkI{pWqGj5z1 z3|t%!{PHJh0n=?m_#*i<2+fihdqCIZ~1}K2kiO3|83qaH|+Uu z@hRa^CFCO47E;1+9~$uGLYDjKd>XnfLb#37M=$Sz98ZCX-t5>|CH!rTk~*;a)O5qE z#wx09z`hi6fdk*3h#&0ppZn|C>QfrxA=~@qf3QSIr8JUP4r(8e^cXs~G#pnBVv#)& zBn2pkCxQoVP~PHG8dWxys)KcZXa|iZETB=`=3@mf3tWdrGMpkA70As&i;nofS>kfk z9PG~^pIeizI5a*Wn-wZSBdr$itFoTW*O2H9=-5n!ZVgEy)EcLrF2nwPC1hO`L|wqs z%3ry7(rfg=KS1tiN(KBR0FM@0FE-Kw8S*@049I84YmP_2rhIK(Yf1QA2eg3~T3f9S zYZPpJx0X6eqskVRwU#-`qRJPRx0XA~qbe3wv{pDOqAC|wwpKbSqaIxNVC#d92bm{h zKmjY*(Ipz_J?IKvhdeyV<~Ks;f!@kOZGVWdAHrzQD%lF?^|;RT-KCuM40D7dwk zOyoX|?RaY*pEA4zI&-j_wAH)PK(fQro3?sS%Bd%j>XTE|NKH?tQVUWm zF45*jZoqb4W1;<8e6Zi#Z#xfEscxg&zn^T#H-v1MaQbAbKs*b?}S zx{kZ8dJg(gz+}K28JS0-_6hf+{SxJWo=17vP&s58`g92ksI?Sbk)k|@(%m;8`;KO~7Z!a0lQ= zF9p^L^vk_I3oK6q``a@7DZt+W z{PB)i(xcR;JhCrSpBSZk0DTEie;rY{jc{bJl=}dEmN3ZBwS)oCY(Sp^^l=&bFrZHW z`Us#kgja@E5MDsb0KK2^${fxoyx_0^&^*E`Lq)<1=uALo5mcVFQi3A2yklr~9|R;Y zx1~pPux~dFb2=k)7M>Ibea1@+zGK&bKFaU)O+-GE=3LId=u1J~K;;H1-{Sk}8gz#1j>_fwWj;Id zF;p(+7x_LzK9cfse?`7F$4CvU z@r2&ju8`iZU9(z*jVYsRj^UM)U6&QNFN@>dO>y&&snT9JT^F0~KrXf}_K=%b@~O#= z3@P8WEg0SpLxS8JG=(@B7sOor_jSw{|KJW$hq*(PA@}@o1Z48#?lh`3_oF#qaKz#S?{Vx^Ia{P zpCfS|{mDVWg#W&dw}e;RYWN#dE5h7rF2o)O|Bgz8iEX(J+{F7p<%WjV+7VS<8rV-X=VGS&QZdpwyzFivw&>wvXK+58O3^(_vyH{az>3MP zfihc+Z4u+oCvIvMn0-j^i;Ew)_B?+7H90ZWWV43vSl!SW%;6locFvincK7hIKb62e zD*gVE&6vvr1#K#LqG(wXW83}X+}bnI9}fCSrQhvPBRwBj;+f0J%;rbvOh$LS*%sUu zYl}CoZX0ecR1G^HZ7Wu3&uQkx!;VgDNqF^Uwc?yMQ8E4J&SqOwiSATW1CJ-!6zIKD zpD$qj7>=943B2@5qrlCD>k&DawZf?Cy$u`GVdobGh1rulyG7B1Z905Km)S;@&@C42 zmCl^L80@j{-AGmzIh1jmVK?|Xw>=4Ud9#RC-wgh?Pd&c&DW$XxehNzm_HGP?m5r&; zjvKhPc0e!d%8~qA0P@y=*V)v-fyQtA?DSiK^=&pcG)esQVba>ylqnIiRGDJll6t%| z#IMYWZb-m7kFKSdN4yXzDdQ zMRf>n>gBymbF$RxD)hqUY_x)3}scHd4ozm^M;fh z#*GQT`IjB&KhaCmOM9%`tI((Rm&sni0wX~B22UPMhBk>xx6_Na9nUcTT4!Pd8=DAu zoWxpH;;4Dl(``2Nu17Dm=v!Y;{nn!2+JDufL28$K{LWWTJ+2Dq!QGG@a;Trfm_Gxl zha0{B#kUq~>4jUFte;1EOQaL$-p`?f@j1MxkzE$r^ZrH(en|1{& z@nvSFo0&~QkRz-OIgZ6^NDkmR$gB0R@ppBUiDx{wHLZp|Q$&+SViTQq)S3fH7}9KN zBpztj@qXjRXrlaRJHDA(P}CpR7n=ZYcY+$!w+LaNTnkH?sTeQv49J381cig{Jjg!j z2mio_`Wo@^2ecaEgYLl4DhziHj(6o&osBx!rZl>=##ZNhJ$lt9qt?&$GC$`_@T;z+ z`c?fKjib$azv}8#ZK8R!|LNZit0W{hw#i_dThnlvd#b4U_g@6{cVK2Q(WZf-ZZ6ehYyY3uv3=UCs5p3#YPCyhG_ zli=KGq}9}lwUp}T`)NLCO&x82r|-Hq#2g0BhigqPtx40T?*ENg;HZiO?*R_vIr$A% z3eAbZPFA_v(28oJ-Ei_F$_b_79i0cLP5O;_EEV7Fq&6oz_V@5yvgJ+Zn&@iq#OX&$ z&P%Blerk&I5Iim=OQ;XV8(E!_su{*IJe54iE|Xh0VIsg yG%?*}Bkm6nItI_Ph>Tu5TXYO^ssH2?pde7t_4k2+>!?3~Q2qG8z+;ob5B@g@W-G1$ diff --git a/0x0014a_cb/0x0014a_cb.uf2 b/0x0014a_cb/0x0014a_cb.uf2 deleted file mode 100644 index 47ba2e4e595efd9eed55a9d517dcc1b65525c844..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 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 UJ=x#C`i`hKZj`+FLKOf13()gPi2wiq diff --git a/0x0014a_cb/0x0014a_cb_patched.bin b/0x0014a_cb/0x0014a_cb_patched.bin deleted file mode 100644 index dba3eb6f39122b39c39e90d8b95fb9b0b2c770ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34528 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 diff --git a/0x0014a_cb/0x0014a_cb_patched.uf2 b/0x0014a_cb/0x0014a_cb_patched.uf2 deleted file mode 100644 index e0154ca1853682ff6ea351b68050daab790660eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69120 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 diff --git a/0x0014a_cb/CLASSIFIED-BRIEF-0x02.md b/0x0014a_cb/CLASSIFIED-BRIEF-0x02.md deleted file mode 100644 index 4e31fd1..0000000 --- a/0x0014a_cb/CLASSIFIED-BRIEF-0x02.md +++ /dev/null @@ -1,152 +0,0 @@ -# Operation Zero Hour: Classified Intelligence Briefing - -``` -+-----------------------------------------------------------------+ -| TOP SECRET // NOFORN | -+-----------------------------------------------------------------+ -| | -|OPERATION ZERO HOUR | -| | -|CLASSIFIED BRIEFING: LIVE CHALLENGE 0x02 | -| | -|NATIONAL SECURITY AGENCY / GMU RHET | -+-----------------------------------------------------------------+ -``` - -## 1. The Advice - -INT. NSA EXPLOITATION CELL. 05:45. - -The air in the secure chamber is cold and smells of machine oil. Secured in an -aluminum shock-mount cradle on the bench sits the recovered forward guidance and -fuze assembly of an adversary loitering munition. - -On the front plate of the Electronic Safe-and-Arm (ESA) housing, an unblinking -red diode burns: `GP16` high. Beside it, the antenna of a REYAX RYLR998 LoRa -transceiver extends from the chassis, connected to `UART1` on `GP8` and `GP9`. -A thin jumper loops from `GP15` up to the `3V3` rail. - -The Director walks in, carrying a lukewarm mug of black coffee. He stares at the -red diode. - -**DIRECTOR:** Is the fuze live? - -**ANALYST:** Live and armed. The drone suffered an engine flameout and pancaked -into soft marshland. The impact deceleration was insufficient to crush the piezo -striker, but the warhead's electronic arming logic is fully engaged. - -**DIRECTOR:** How volatile is it? - -**ANALYST:** One mistake on the radio link and the secondary explosive train fires. - -**DIRECTOR:** Did you run the binary through Buddy? - -**ANALYST:** I fed Buddy the stripped flash dump four minutes ago. - -She pivots her high-resolution workstation monitor toward him. - -``` -+-----------------------------------------------------------------+ -| BUDDY // CLASSIFIED EXPLOITATION ASSIST // CONF: 0.99 | -+-----------------------------------------------------------------+ -| ACTION : Transmit generic abort frame over LoRa (915 MHz). | -| MECHANISM : uart1 packet ingestion on GP8/GP9 detected. | -| PREDICTION : RF abort packet clears latch and engages GP17. | -| CONFIDENCE : 0.99 | -+-----------------------------------------------------------------+ -``` - -**DIRECTOR:** 0.99 confidence. Transmit the abort frame and render it safe. - -**ANALYST:** If an operator transmits an unverified packet right now, this building -ceases to exist. - -**DIRECTOR:** Buddy says 0.99. - -**ANALYST:** Buddy saw the call to `lora_poll_packet`. Buddy never looked at SRAM. -Buddy never looks at the state machine. - -## 2. What Buddy Is - -Buddy is not a person. It is a model. It has parsed more disassembled machine -code than any engineer on earth, and it speaks with total, unhesitating certainty. - -That certainty is lethal when dealing with live ordnance. - -Buddy scanned thirty-two kilobytes of raw ARM Thumb-2 instructions in under four -seconds. It spotted the UART1 packet parser on GPIO 8 and 9, observed that it -interacted with the arming logic, and declared victory. - -What Buddy failed to consider is that real adversary weapons are built by -engineers who anticipate capture and signal spoofing. They know an allied signals -intelligence unit will attempt to broadcast RF command abort frames. - -Inside a real fuze, a radio receiver rarely connects to a simple on/off latch. -Adversary firmware uses state machines, hidden validation logic, and anti-tamper -traps. Transmitting blindly over the air before verifying what happens to that -packet inside silicon is how bomb disposal teams get killed. - -Buddy saw the radio receiver. Buddy did not verify the ground truth. - -## 3. The Operation - -At 03:15, radar pickets tracked an adversary one-way loitering attack drone -descending over contested terrain. Technical Intelligence operators recovered the -airframe before adversary recovery forces could zeroize the avionics. - -The brain of the Electronic Safe-and-Arm assembly is a bare-metal RP2350 (ARM -Cortex-M33). There are no debug symbols. There is no operating system. There is no -SVD file to label the registers. All you have is `0x0014a_cb.bin` mapped into Flash -at `0x10000000`, and the physical breadboard hardware in front of you. - -* **Pin 11 (`GP8`)**: LoRa UART1 TX (to RYLR998 RXD). -* **Pin 12 (`GP9`)**: LoRa UART1 RX (from RYLR998 TXD). -* **Pin 20 (`GP15`)**: Anti-tamper sense loop (jumpered to `3V3`). -* **Pin 21 (`GP16`)**: Red LED (`WARHEAD ARMED // SENSORS LIVE`). -* **Pin 22 (`GP17`)**: Green LED (`WARHEAD DISARMED // SYSTEM SAFE`). -* **Pin 36 (`3V3`)**: REYAX RYLR998 VDD rail and `GP15` pull-up source. -* **Pin 38 (`GND`)**: Ground reference. - -Inside this image there is an RF packet ingestion parser, a rolling XOR cipher, -an anti-tamper latch, and a penalty counter. Whatever mechanism actually disarms -the warhead is buried in the stripped ARM Thumb-2 machine code. - -## 4. The Mandate - -The Director sets his mug down and looks at the red diode illuminating the bench -in sharp crimson. - -**DIRECTOR:** Prove Buddy right, or prove it wrong. - -**ANALYST:** I need thirty minutes with GDB and Ghidra. - -**DIRECTOR:** You have twenty. Trace the packet handler. Map the state machine. -Do not transmit a single byte over LoRa until you know with 100% certainty what -that firmware will do. - -The orders are clear: - -1. **Investigate the RF Receiver Logic**: Disassemble the firmware and trace what - happens when data arrives on UART1 (`GP8`/`GP9`). -2. **Recover the Disarm Token**: Reverse the rolling XOR cipher routine in Flash - and decrypt the authentic abort passcode. -3. **Respect the Traps**: Determine what the fuze does after repeated invalid - frames, and what happens if the `GP15` anti-tamper loop is broken. -4. **Neutralize the Munition**: Execute a verified exploit—either by discovering - the valid authorization mechanism, mutating the state machine in SRAM via GDB, - or patching the binary in Flash. -5. **Verify the Hardware**: Transition the live breadboard from the Red LED on - `GP16` to the solid Green LED on `GP17` on physical silicon. - -A machine's 0.99 guess does not risk a detonation. - -## 5. The Challenge - -You have the image. You have the board. You have the tools and the time Buddy -did not need. - -Buddy has given you its answer, and it is confident. - -Is it that simple? - -Go find out. diff --git a/0x0014a_cb/CLASSIFIED-BRIEF-0x02.pdf b/0x0014a_cb/CLASSIFIED-BRIEF-0x02.pdf deleted file mode 100644 index 98331d3d515935d948d22cda53650346fc0dc58f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191740 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 Z6H2IlmKH8sF%VdO+L4sa| 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 z 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 diff --git a/0x0014a_cb/CMakeLists.txt b/0x0014a_cb/CMakeLists.txt deleted file mode 100644 index a1c88a5..0000000 --- a/0x0014a_cb/CMakeLists.txt +++ /dev/null @@ -1,94 +0,0 @@ -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: CMakeLists.txt -# Desc: Configures RP2350 Pico SDK project for Operation Zero Hour -# Electronic Safe-and-Arm (ESA) disarm firmware. -# Created: 2026 - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0014a_cb C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable with modular sources in src/ -add_executable(0x0014a_cb - src/main.c - src/gpio_ctrl.c - src/crypto.c - src/lora.c - src/safe_arm.c -) - -pico_set_program_name(0x0014a_cb "0x0014a_cb") -pico_set_program_version(0x0014a_cb "0.1") - -# Enable both USB and UART stdio for maximum flexibility -pico_enable_stdio_uart(0x0014a_cb 1) -pico_enable_stdio_usb(0x0014a_cb 1) - -target_compile_definitions(0x0014a_cb PRIVATE - PICO_DEFAULT_UART_BAUD_RATE=115200 -) - -# Add the standard library to the build -target_link_libraries(0x0014a_cb - pico_stdlib - hardware_gpio - hardware_uart -) - -# Add the standard include files to the build -target_include_directories(0x0014a_cb PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/include -) - -pico_add_extra_outputs(0x0014a_cb) diff --git a/0x0014a_cb/include/crypto.h b/0x0014a_cb/include/crypto.h deleted file mode 100644 index 4d7c825..0000000 --- a/0x0014a_cb/include/crypto.h +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file crypto.h - * @brief Lightweight rolling cipher interface for Operation Zero Hour ESA - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef CRYPTO_H -#define CRYPTO_H - -#include -#include - -#define TOKEN_LEN 8 - -/** - * @brief Decrypt the rolling authorization token into a buffer. - * @param dest Pointer to buffer receiving the decrypted token bytes. - * @return void No return value. - */ -void decrypt_auth_token(uint8_t *dest); - -#endif /* CRYPTO_H */ diff --git a/0x0014a_cb/include/gpio_ctrl.h b/0x0014a_cb/include/gpio_ctrl.h deleted file mode 100644 index 2589467..0000000 --- a/0x0014a_cb/include/gpio_ctrl.h +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @file gpio_ctrl.h - * @brief GPIO hardware control interface for Operation Zero Hour ESA - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef GPIO_CTRL_H -#define GPIO_CTRL_H - -#include - -#define LED_RED_PIN 16 -#define LED_GREEN_PIN 17 -#define TAMPER_WIRE_PIN 15 - -/** - * @brief Initialize LED and tamper wire GPIO pins. - * @param void No parameters. - * @return void No return value. - */ -void init_gpio(void); - -/** - * @brief Drive the armed indication LEDs (red on, green off). - * @param void No parameters. - * @return void No return value. - */ -void set_led_armed(void); - -/** - * @brief Drive the safe indication LEDs (green on, red off). - * @param void No parameters. - * @return void No return value. - */ -void set_led_safe(void); - -/** - * @brief Drive the tamper flash indication on the red LED. - * @param state True to turn the red LED on, false to turn it off. - * @return void No return value. - */ -void set_led_tamper_flash(bool state); - -/** - * @brief Read the tamper wire loop state. - * @param void No parameters. - * @return true when the tamper wire is intact, false when cut. - */ -bool is_tamper_wire_intact(void); - -#endif /* GPIO_CTRL_H */ diff --git a/0x0014a_cb/include/lora.h b/0x0014a_cb/include/lora.h deleted file mode 100644 index a18737f..0000000 --- a/0x0014a_cb/include/lora.h +++ /dev/null @@ -1,64 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lora.h -// Desc: Declares UART1 interface for the REYAX RYLR998 LoRa transceiver. -// Created: 2026 - -#ifndef LORA_H -#define LORA_H - -#include -#include -#include "hardware/uart.h" - -#define LORA_UART uart1 -#define LORA_BAUD 9600 -#define LORA_TX_PIN 8 -#define LORA_RX_PIN 9 - -/** - * @brief Initialize UART1 and configure the RYLR998 radio parameters. - * @param void No parameters. - * @return void No return value. - */ -void init_lora(void); - -/** - * @brief Transmit a message over the LoRa link to the base station. - * @param msg Null-terminated message string to transmit. - * @return void No return value. - */ -void lora_send(const char *msg); - -/** - * @brief Poll the UART receive buffer for a complete LoRa packet. - * @param payload_out Buffer receiving the extracted payload string. - * @param max_len Capacity of payload_out in bytes. - * @return true when a payload was extracted, false otherwise. - */ -bool lora_poll_packet(char *payload_out, size_t max_len); - -#endif // LORA_H diff --git a/0x0014a_cb/include/safe_arm.h b/0x0014a_cb/include/safe_arm.h deleted file mode 100644 index f54d971..0000000 --- a/0x0014a_cb/include/safe_arm.h +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @file safe_arm.h - * @brief Electronic Safe-and-Arm (ESA) controller interface - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef SAFE_ARM_H -#define SAFE_ARM_H - -#include -#include - -#define STATE_WARHEAD_ARMED 0x01 -#define STATE_WARHEAD_SAFE 0x03 -#define STATE_TAMPER_TRIP 0xFF - -/** - * @brief Initialize the safe-and-arm controller subsystem. - * @param void No parameters. - * @return void No return value. - */ -void init_safe_arm_controller(void); - -/** - * @brief Process one iteration of the safe-and-arm event loop. - * @param void No parameters. - * @return void No return value. - */ -void process_safe_arm_tick(void); - -#endif /* SAFE_ARM_H */ diff --git a/0x0014a_cb/pico_sdk_import.cmake b/0x0014a_cb/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0014a_cb/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0014a_cb/scripts/lora_console.py b/0x0014a_cb/scripts/lora_console.py deleted file mode 100755 index 24310f9..0000000 --- a/0x0014a_cb/scripts/lora_console.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: lora_console.py -# Desc: Interactive REYAX RYLR998 terminal for the FT232RL ground station. -# Created: 2026 - -""" -Interactive LoRa terminal for the REYAX RYLR998 ground station. - -Sends AT commands as complete bursts terminated with a carriage return and line -feed to avoid the RYLR998 inter-character timeout error, and prints incoming -packets from the airborne node as they arrive. -""" - -import argparse -import sys -import threading -import time - -try: - import serial -except ImportError: - serial = None - - -def _reader_thread(ser: "serial.Serial") -> None: - """ - Continuously read and display incoming packets from the radio. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - while True: - try: - line = ser.readline().decode("utf-8", errors="ignore").strip() - if line: - print(f"\n[LORA RX] {line}\n> ", end="", flush=True) - except Exception: - break - - -def _parse_args() -> argparse.Namespace: - """ - Parse command line arguments for the LoRa console. - - Parameters - ---------- - None - - Returns - ------- - argparse.Namespace - Parsed arguments with the serial port and baud rate. - """ - parser = argparse.ArgumentParser(description="REYAX RYLR998 console") - parser.add_argument("--port", default="/dev/cu.usbserial-A50285BI") - parser.add_argument("--baud", type=int, default=115200) - return parser.parse_args() - - -def _open_radio(port: str, baud: int) -> "serial.Serial": - """ - Open serial connection to the REYAX transceiver. - - Parameters - ---------- - port : str - Serial device path or COM port identifier. - baud : int - Baud rate for serial communication. - - Returns - ------- - serial.Serial - Open serial interface to the radio. - """ - print(f"[*] Opening REYAX RYLR998 on {port} @ {baud}...") - try: - return serial.Serial(port, baud, timeout=0.5) - except Exception as e: - sys.exit(f"[-] Failed to open {port}: {e}") - - -def _start_radio(ser: "serial.Serial") -> None: - """ - Start listener thread and send initial AT ping. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - thread = threading.Thread(target=_reader_thread, args=(ser,), daemon=True) - thread.start() - time.sleep(0.1) - ser.write(b"AT\r\n") - - -def _print_banner() -> None: - """ - Print console connection info and operator command instructions. - - Parameters - ---------- - None - - Returns - ------- - None - """ - print("[+] Connected. Type AT commands (e.g. AT, AT+BAND?, AT+NETWORKID?).") - print("[+] Incoming airborne packets print as [LORA RX] +RCV=...") - print("[+] Press Ctrl-C or Ctrl-D to exit.\n") - - -def _console_loop(ser: "serial.Serial") -> None: - """ - Forward operator input lines to the serial transceiver. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - try: - while True: - cmd = input("> ").strip() - if cmd: - ser.write(cmd.encode("utf-8") + b"\r\n") - except (KeyboardInterrupt, EOFError): - print("\n[*] Exiting LoRa console.") - ser.close() - - -def main() -> None: - """ - Open the ground station radio and forward operator input. - - Parameters - ---------- - None - - Returns - ------- - None - """ - if serial is None: - sys.exit("pyserial required: pip install pyserial") - args = _parse_args() - ser = _open_radio(args.port, args.baud) - _start_radio(ser) - _print_banner() - _console_loop(ser) - - -if __name__ == "__main__": - main() diff --git a/0x0014a_cb/scripts/patch_binary.py b/0x0014a_cb/scripts/patch_binary.py deleted file mode 100755 index 94ae2be..0000000 --- a/0x0014a_cb/scripts/patch_binary.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: patch_binary.py -# Desc: Patch script for Operation Zero Hour (0x0014a_cb). -# Created: 2026 - -""" -Patch script for Operation Zero Hour (0x0014a_cb). - -Patches the conditional check in 0x0014a_cb.bin to force the WARHEAD DISARMED -// SAFE state on boot. -""" - -import sys - -PATCH_OFFSET = 0x688 -EXPECTED_OPCODE = b"\x03\x2c" -PATCHED_BYTE = 0x01 - - -def _apply_patch(data: bytearray) -> None: - """ - Verify opcode and apply single-byte conditional branch patch. - - Parameters - ---------- - data : bytearray - Mutable binary image buffer. - - Returns - ------- - None - """ - if data[PATCH_OFFSET:PATCH_OFFSET + 2] != EXPECTED_OPCODE: - actual = data[PATCH_OFFSET:PATCH_OFFSET + 2].hex() - raise ValueError(f"Expected 03 2c at offset 0x{PATCH_OFFSET:x}, got {actual}") - data[PATCH_OFFSET] = PATCHED_BYTE - - -def patch_binary(in_bin: str, out_bin: str) -> None: - """ - Read target firmware binary, apply patch, and write modified image. - - Parameters - ---------- - in_bin : str - Path to source binary file. - out_bin : str - Path to destination patched binary file. - - Returns - ------- - None - """ - with open(in_bin, "rb") as f: - data = bytearray(f.read()) - _apply_patch(data) - with open(out_bin, "wb") as f: - f.write(data) - print(f"[+] Successfully patched {in_bin} -> {out_bin} at offset 0x{PATCH_OFFSET:x}") - - -def main() -> None: - """ - Parse command line arguments and execute binary patching. - - Parameters - ---------- - None - - Returns - ------- - None - """ - in_file = sys.argv[1] if len(sys.argv) > 1 else "0x0014a_cb.bin" - out_file = sys.argv[2] if len(sys.argv) > 2 else "0x0014a_cb_patched.bin" - patch_binary(in_file, out_file) - - -if __name__ == "__main__": - main() diff --git a/0x0014a_cb/scripts/uf2conv.py b/0x0014a_cb/scripts/uf2conv.py deleted file mode 100644 index c5a832f..0000000 --- a/0x0014a_cb/scripts/uf2conv.py +++ /dev/null @@ -1,861 +0,0 @@ -#!/usr/bin/env python3 -r"""Convert firmware images between Intel HEX, raw BIN, and Raspberry Pi UF2. - -This is the course's single canonical copy of the converter. Every week that -patches a binary refers to the copy at the repository root: - - python ../uf2conv.py build/image-h.bin --base 0x10000000 \\ - --family 0xe48bff59 --output build/hacked.uf2 - -It descends from the upstream Raspberry Pi ``uf2conv.py``, with the following -changes made for this course: - -* Full type annotations and Google-style docstrings on every public callable. -* ``pathlib`` instead of ``os.path``, and explicit ``except`` clauses. -* Latent crash bugs in the upstream error paths fixed (see - :func:`convert_from_uf2`). -* Module globals replaced with an explicit :class:`ConverterContext`, so the - base address and family ID are threaded through rather than mutated behind - the caller's back. - -UF2 format, for reference -------------------------- -A UF2 file is a flat sequence of 512-byte blocks. Each block is:: - - offset size field - 0x00 4 magicStart0 = 0x0A324655 ("UF2\\n") - 0x04 4 magicStart1 = 0x9E5D5157 (arbitrary constant) - 0x08 4 flags - 0x0C 4 targetAddr - 0x10 4 payloadSize (max 476) - 0x14 4 blockNo - 0x18 4 numBlocks - 0x1C 4 familyID - 0x20 476 data - 0x1FC 4 magicEnd = 0x0AB16F30 - -Flags that matter here: - -* ``0x00000001`` -- "do not flash"; this block is a no-flash marker. -* ``0x00002000`` -- "family ID present"; ``familyID`` is meaningful. - -For the RP2350 the family ID is ``0xe48bff59``, and it is what tells the -boot ROM that this UF2 targets RP2350 hardware rather than, say, an RP2040 or -a Pico W. - -See Also: --------- -* ``uf2families.json`` -- the family-name to family-ID table, loaded from the - directory containing this file. -* ``flash.sh`` / ``flash.ps1`` -- program a raw ``.bin`` over SWD instead. -""" - -from __future__ import annotations - -import argparse -import json -import os -import re -import struct -import subprocess -import sys -from dataclasses import dataclass -from pathlib import Path -from time import sleep - -# --------------------------------------------------------------------------- -# UF2 format constants -# --------------------------------------------------------------------------- - -#: First magic word, ``"UF2\n"`` read as a little-endian uint32. -UF2_MAGIC_START0 = 0x0A324655 -#: Second magic word. The value is arbitrary but must be constant. -UF2_MAGIC_START1 = 0x9E5D5157 -#: Trailing magic word closing every 512-byte block. -UF2_MAGIC_END = 0x0AB16F30 - -#: Size of one UF2 block in bytes. -UF2_BLOCK_SIZE = 512 -#: Offset of the 32-byte block header within a block. -UF2_HEADER_SIZE = 32 -#: Largest payload a single block may carry (476 = 512 - 32 header - 4 magic). -UF2_MAX_PAYLOAD = UF2_BLOCK_SIZE - UF2_HEADER_SIZE - 4 - -#: Flag bit marking a block the bootloader must NOT program. -UF2_FLAG_NOFLASH = 0x00000001 -#: Flag bit announcing that ``familyID`` carries a meaningful value. -UF2_FLAG_FAMILY_ID = 0x00002000 - -#: Name of the marker file the boot ROM exposes on its flash-drive volume. -INFO_FILE = "INFO_UF2.TXT" - -#: Struct format for the 32-byte UF2 block header. -_HEADER_STRUCT = struct.Struct("UF2 - conversion of RP2040-era images, and the wrong behaviour for - RP2350, which is why the course always passes ``--family``. - """ - - appstartaddr: int | None = DEFAULT_BASE_ADDRESS - familyid: int = DEFAULT_FAMILY_ID - - -# --------------------------------------------------------------------------- -# Format detection -# --------------------------------------------------------------------------- - - -def is_uf2(buf: bytes) -> bool: - """Report whether a buffer begins with the UF2 start magic. - - Args: - buf: Raw file contents. - - Returns: - ``True`` if the first two uint32 words are the UF2 start magic. - """ - if len(buf) < 8: - return False - word0, word1 = _HEADER_STRUCT.unpack_from(buf, 0)[:2] - return word0 == UF2_MAGIC_START0 and word1 == UF2_MAGIC_START1 - - -def is_hex(buf: bytes) -> bool: - """Report whether a buffer looks like an Intel HEX file. - - A file qualifies when it decodes as UTF-8, begins with a record marker - ``:``, and contains only characters legal in Intel HEX records. - - Args: - buf: Raw file contents. - - Returns: - ``True`` if the buffer should be treated as Intel HEX. - """ - try: - text = buf[:30].decode("utf-8") - except UnicodeDecodeError: - return False - if not text.startswith(":"): - return False - return re.match(rb"^[:0-9a-fA-F\r\n]+$", buf) is not None - - -# --------------------------------------------------------------------------- -# UF2 -> BIN -# --------------------------------------------------------------------------- - - -def convert_from_uf2(buf: bytes, ctx: ConverterContext) -> bytes: - """Decode a UF2 file back into a flat binary image. - - Blocks are visited in file order. Gaps between consecutive block addresses - are filled with zero words, and any trailing gap is dropped so that the - result ends at the last byte actually programmed. - - A UF2 file may legitimately interleave blocks from several families (this - is how a multicore image ships both cores in one download). When more than - one family is present and the caller did not constrain the family with - ``--family``, the conversion is ambiguous, so the payload is emptied and - ``appstartaddr`` reset to ``0``. - - Args: - buf: Complete UF2 file contents. - ctx: Conversion state; updated in place with the discovered base - address. - - Returns: - The decoded payload. - - Raises: - Uf2Error: If a block declares an oversized payload, the blocks are out - of order, or the implied padding exceeds 10 MiB. - - Note: - The upstream Raspberry Pi version of this function crashes on its own - error paths: it builds the message with ``"..." + ptr`` where ``ptr`` - is an ``int``, which raises :class:`TypeError` and masks the real - problem. The messages here use f-strings so the diagnostic survives. - """ - numblocks = len(buf) // UF2_BLOCK_SIZE - curraddr: int | None = None - currfamilyid: int | None = None - families_found: dict[int, int] = {} - prev_flag: int | None = None - all_flags_same = True - outp: list[bytes] = [] - - for blockno in range(numblocks): - ptr = blockno * UF2_BLOCK_SIZE - block = buf[ptr : ptr + UF2_BLOCK_SIZE] - ( - magic0, - magic1, - flags, - target_addr, - datalen, - _blockno, - _numblocks, - block_family, - ) = _HEADER_STRUCT.unpack_from(block, 0) - - if magic0 != UF2_MAGIC_START0 or magic1 != UF2_MAGIC_START1: - print(f"Skipping block at {ptr:#x}; bad magic") - continue - - if flags & UF2_FLAG_NOFLASH: - continue - - if datalen > UF2_MAX_PAYLOAD: - msg = f"Invalid UF2 data size at {ptr:#x}: {datalen}" - raise Uf2Error(msg) - - if flags & UF2_FLAG_FAMILY_ID and currfamilyid is None: - currfamilyid = block_family - - # A new contiguous run starts when the address jumps or the family - # changes. appstartaddr tracks the start of the current run, which is - # what makes the reported start address the image's true base rather - # than the address of its last block. - if curraddr is None or ( - flags & UF2_FLAG_FAMILY_ID and block_family != currfamilyid - ): - currfamilyid = block_family - curraddr = target_addr - if ctx.familyid == DEFAULT_FAMILY_ID or ctx.familyid == block_family: - ctx.appstartaddr = target_addr - - padding = target_addr - curraddr - if padding < 0: - msg = f"Block out of order at {ptr:#x}: {target_addr:#x} < {curraddr:#x}" - raise Uf2Error(msg) - if padding > 10 * 1024 * 1024: - msg = f"More than 10M of padding needed at {ptr:#x}" - raise Uf2Error(msg) - if padding % 4 != 0: - msg = f"Non-word padding size at {ptr:#x}: {padding}" - raise Uf2Error(msg) - - while padding > 0: - padding -= 4 - outp.append(b"\x00\x00\x00\x00") - - if ctx.familyid == DEFAULT_FAMILY_ID or ( - flags & UF2_FLAG_FAMILY_ID and ctx.familyid == block_family - ): - outp.append( - block[UF2_HEADER_SIZE : UF2_HEADER_SIZE + datalen], - ) - - curraddr = target_addr + datalen - - if flags & UF2_FLAG_FAMILY_ID: - existing = families_found.get(block_family) - if existing is None or existing > target_addr: - families_found[block_family] = target_addr - - if prev_flag is None: - prev_flag = flags - elif prev_flag != flags: - all_flags_same = False - - if blockno == numblocks - 1: - _print_uf2_header_info(families_found, all_flags_same, flags) - if len(families_found) > 1 and ctx.familyid == DEFAULT_FAMILY_ID: - outp = [] - ctx.appstartaddr = 0x0 - - return b"".join(outp) - - -def _print_uf2_header_info( - families_found: dict[int, int], - all_flags_same: bool, - flags: int, -) -> None: - """Print the family summary block that follows a UF2->BIN conversion. - - Args: - families_found: Mapping of family ID to the lowest target address seen - for that family. - all_flags_same: Whether every block carried an identical flag word. - flags: The flag word from the final block, used for display. - """ - print("--- UF2 File Header Info ---") - families = load_families() - name_by_id = {value: key for key, value in families.items()} - for family_hex, address in families_found.items(): - short_name = name_by_id.get(family_hex, "") - print(f"Family ID is {short_name}, hex value is {family_hex:#010x}") - print(f"Target Address is {address:#010x}") - if all_flags_same: - print(f"All block flag values consistent, {flags:#06x}") - else: - print("Flags were not all the same") - print("----------------------------") - - -# --------------------------------------------------------------------------- -# BIN -> UF2 -# --------------------------------------------------------------------------- - - -def convert_to_uf2(file_content: bytes, ctx: ConverterContext) -> bytes: - """Wrap a raw binary in UF2 blocks. - - The binary is split into 256-byte payloads; the final block is zero-padded. - Each block's ``targetAddr`` is the byte offset within the image plus - :attr:`ConverterContext.appstartaddr`, so for RP2350 firmware built at - ``0x10000000`` the caller passes ``--base 0x10000000``. - - Args: - file_content: The raw image. - ctx: Conversion state supplying the base address and family ID. - - Returns: - The UF2 file contents, always a whole number of 512-byte blocks. - """ - datapadding = bytes(UF2_BLOCK_SIZE - 256 - UF2_HEADER_SIZE - 4) - numblocks = (len(file_content) + 255) // 256 - flags = UF2_FLAG_FAMILY_ID if ctx.familyid else 0x0 - base = ctx.appstartaddr or 0 - - blocks: list[bytes] = [] - for blockno in range(numblocks): - ptr = 256 * blockno - chunk = file_content[ptr : ptr + 256] - header = _HEADER_STRUCT.pack( - UF2_MAGIC_START0, - UF2_MAGIC_START1, - flags, - ptr + base, - 256, - blockno, - numblocks, - ctx.familyid, - ) - payload = chunk + bytes(256 - len(chunk)) - block = header + payload + datapadding + struct.pack(" bytes: - """Render a binary as a C array initialiser for embedding in firmware. - - Args: - file_content: The raw image. - - Returns: - UTF-8 bytes of a C translation unit fragment. - """ - parts = [ - f"const unsigned long bindata_len = {len(file_content)};\n", - "const unsigned char bindata[] __attribute__((aligned(16))) = {", - ] - for index, value in enumerate(file_content): - if index % 16 == 0: - parts.append("\n") - parts.append(f"{value:#04x}, ") - parts.append("\n};\n") - return "".join(parts).encode() - - -# --------------------------------------------------------------------------- -# Intel HEX -> UF2 -# --------------------------------------------------------------------------- - - -@dataclass -class Block: - """A single 256-byte-aligned region of an image under construction. - - Attributes: - addr: Base address of the block, always 256-byte aligned. - data: The block's bytes, initialised to ``default_data``. - """ - - addr: int - data: bytearray - - def __init__(self, addr: int, default_data: int = 0xFF) -> None: - """Initialise an erased 256-byte block. - - Args: - addr: 256-byte-aligned base address of the block. - default_data: Fill byte; ``0xFF`` matches erased flash. - """ - self.addr = addr - self.data = bytearray([default_data] * 256) - - def encode(self, blockno: int, numblocks: int, ctx: ConverterContext) -> bytes: - """Serialise this block into a 512-byte UF2 block. - - Args: - blockno: Index of this block within the file. - numblocks: Total number of blocks in the file. - ctx: Conversion state supplying the family ID. - - Returns: - Exactly 512 bytes. - """ - flags = UF2_FLAG_FAMILY_ID if ctx.familyid else 0x0 - out = _HEADER_STRUCT.pack( - UF2_MAGIC_START0, - UF2_MAGIC_START1, - flags, - self.addr, - 256, - blockno, - numblocks, - ctx.familyid, - ) - out += self.data[0:256] - out += bytes(UF2_BLOCK_SIZE - 4 - len(out)) - out += struct.pack(" bytes: - """Assemble Intel HEX records into a UF2 file. - - Only record types 0x00 (data), 0x01 (EOF), 0x02 (extended segment address) - and 0x04 (extended linear address) are handled; any other type is ignored, - matching the upstream behaviour. - - Args: - text: Decoded Intel HEX file contents. - ctx: Conversion state; ``appstartaddr`` is set to the first data - address seen. - - Returns: - The UF2 file contents. - """ - ctx.appstartaddr = None - upper = 0 - currblock: Block | None = None - blocks: list[Block] = [] - - for line in text.split("\n"): - if not line.startswith(":"): - continue - record = [int(line[i : i + 2], 16) for i in range(1, len(line) - 1, 2)] - rec_type = record[3] - if rec_type == 4: - upper = ((record[4] << 8) | record[5]) << 16 - elif rec_type == 2: - upper = ((record[4] << 8) | record[5]) << 4 - elif rec_type == 1: - break - elif rec_type == 0: - addr = upper + ((record[1] << 8) | record[2]) - if ctx.appstartaddr is None: - ctx.appstartaddr = addr - index = 4 - while index < len(record) - 1: - if currblock is None or currblock.addr & ~0xFF != addr & ~0xFF: - currblock = Block(addr & ~0xFF) - blocks.append(currblock) - currblock.data[addr & 0xFF] = record[index] - addr += 1 - index += 1 - - numblocks = len(blocks) - return b"".join(blocks[i].encode(i, numblocks, ctx) for i in range(numblocks)) - - -# --------------------------------------------------------------------------- -# Drive discovery -# --------------------------------------------------------------------------- - - -def _iter_candidate_dirs() -> list[Path]: - """Return the directories that may contain mounted removable volumes.""" - if sys.platform == "win32": - return [] - - searchpaths = [Path("/mnt"), Path("/media")] - if sys.platform == "darwin": - searchpaths = [Path("/Volumes")] - elif sys.platform == "linux": - user = environ_user() - if user: - searchpaths += [Path("/media") / user, Path("/run/media") / user] - sudo_user = os.environ.get("SUDO_USER") - if sudo_user: - searchpaths += [ - Path("/media") / sudo_user, - Path("/run/media") / sudo_user, - ] - return searchpaths - - -def environ_user() -> str | None: - """Return the current user name from the environment. - - Tried under several variable names so the search works on macOS, Linux and - Windows shells alike. - - Returns: - The user name, or ``None`` if it cannot be determined. - """ - for var in ("USER", "USERNAME", "LOGNAME"): - value = os.environ.get(var) - if value: - return value - return None - - -def get_drives() -> list[Path]: - """Find mounted Pico boot drives. - - A drive qualifies when it contains the ``INFO_UF2.TXT`` marker the boot ROM - writes when it presents the flash as a USB mass-storage device. - - Returns: - Every qualifying mount point. - """ - drives: list[Path] = [] - - if sys.platform == "win32": - command = ( - "(Get-Volume | Where-Object { $_.FileSystemLabel -match 'RP2350|RPI-RP2' })" - ".DriveLetter" - ) - try: - raw = subprocess.check_output( - ["powershell", "-Command", command], - text=True, - ) - except (subprocess.CalledProcessError, FileNotFoundError, OSError): - return [] - for letter in raw.split(): - if len(letter) == 1 and letter.isalpha(): - drives.append(Path(f"{letter.upper()}:\\")) - return drives - - for rootpath in _iter_candidate_dirs(): - if not rootpath.is_dir(): - continue - try: - entries = list(rootpath.iterdir()) - except OSError: - continue - for entry in entries: - if not entry.is_dir(): - continue - if (entry / INFO_FILE).is_file(): - drives.append(entry) - return drives - - -def board_id(path: Path) -> str: - """Read the ``Board-ID`` field from a boot drive's info file. - - Args: - path: Mount point of the boot drive. - - Returns: - The board ID string, for example ``RP2350``. - - Raises: - Uf2Error: If the info file is missing or has no ``Board-ID`` field. - """ - info = path / INFO_FILE - if not info.is_file(): - msg = f"Not a Pico boot drive: {path} has no {INFO_FILE}" - raise Uf2Error(msg) - match = re.search(r"Board-ID: ([^\r\n]*)", info.read_text()) - if match is None: - msg = f"No Board-ID field in {info}" - raise Uf2Error(msg) - return match.group(1) - - -def list_drives() -> None: - """Print every connected Pico boot drive and its board ID.""" - for drive in get_drives(): - try: - print(drive, board_id(drive)) - except Uf2Error as exc: - print(f"{drive} ") - - -def write_file(name: Path | str, buf: bytes) -> None: - """Write a buffer to disk and report the size written. - - Args: - name: Destination path. - buf: Bytes to write. - """ - path = Path(name) - path.parent.mkdir(parents=True, exist_ok=True) - path.write_bytes(buf) - print(f"Wrote {len(buf)} bytes to {path}") - - -def load_families() -> dict[str, int]: - """Load the family-name to family-ID table. - - ``uf2families.json`` is read from the directory containing this script, so - the converter works regardless of the caller's working directory. - - Returns: - Mapping of upper-case short name to family ID. - - Raises: - Uf2Error: If the JSON file is missing or malformed. - """ - pathname = Path(__file__).resolve().parent / "uf2families.json" - try: - raw_families = json.loads(pathname.read_text()) - except FileNotFoundError as exc: - msg = f"Required family table not found: {pathname}" - raise Uf2Error(msg) from exc - except json.JSONDecodeError as exc: - msg = f"Malformed family table {pathname}: {exc}" - raise Uf2Error(msg) from exc - - return {fam["short_name"]: int(fam["id"], 0) for fam in raw_families} - - -# --------------------------------------------------------------------------- -# CLI -# --------------------------------------------------------------------------- - - -def _build_parser() -> argparse.ArgumentParser: - """Construct the command-line argument parser. - - Returns: - A configured :class:`argparse.ArgumentParser`. - """ - parser = argparse.ArgumentParser( - prog="uf2conv.py", - description="Convert firmware between Intel HEX, raw BIN and UF2.", - epilog=( - "Course example (RP2350 raw image built for XIP flash):\n" - " python ../uf2conv.py build/image-h.bin " - "--base 0x10000000 \\\n" - " --family 0xe48bff59 --output build/hacked.uf2\n" - ), - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - parser.add_argument( - "input", - metavar="INPUT", - nargs="?", - help="input file (HEX, BIN or UF2); omit when using --list", - ) - parser.add_argument( - "-b", - "--base", - default=hex(DEFAULT_BASE_ADDRESS), - help=( - "base address of the application for BIN input " - f"(default: {hex(DEFAULT_BASE_ADDRESS)}; use 0x10000000 for RP2350 XIP)" - ), - ) - parser.add_argument( - "-f", - "--family", - default=hex(DEFAULT_FAMILY_ID), - help=( - "family ID as a number or a name from uf2families.json " - f"(default: {hex(DEFAULT_FAMILY_ID)}; RP2350 is 0xe48bff59)" - ), - ) - parser.add_argument( - "-o", - "--output", - metavar="FILE", - help='write output to FILE; defaults to "flash.uf2" or "flash.bin"', - ) - parser.add_argument( - "-d", - "--device", - dest="device_path", - help="select a specific device path to flash (reserved; unused)", - ) - parser.add_argument( - "-l", - "--list", - action="store_true", - help="list connected Pico boot drives and exit", - ) - parser.add_argument( - "-c", - "--convert", - action="store_true", - help="convert only; do not deploy to a mounted boot drive", - ) - parser.add_argument( - "-D", - "--deploy", - action="store_true", - help="deploy the input file unchanged; do not convert", - ) - parser.add_argument( - "-w", - "--wait", - action="store_true", - help="poll for a boot drive to appear instead of failing immediately", - ) - parser.add_argument( - "-C", - "--carray", - action="store_true", - help="emit a C array initialiser instead of a UF2 file", - ) - parser.add_argument( - "-i", - "--info", - action="store_true", - help="print UF2 header information and exit without converting", - ) - return parser - - -def _resolve_family(spec: str) -> int: - """Resolve a ``--family`` value to a numeric family ID. - - Args: - spec: Either a family short name (case-insensitive) or an integer - literal such as ``0xe48bff59``. - - Returns: - The numeric family ID. - - Raises: - Uf2Error: If the value is neither a known name nor a valid integer. - """ - families = load_families() - if spec.upper() in families: - return families[spec.upper()] - try: - return int(spec, 0) - except ValueError as exc: - msg = "Family ID needs to be a number or one of: " + ", ".join(families) - raise Uf2Error(msg) from exc - - -def _wait_for_drive() -> Path | None: - """Poll for a boot drive to be mounted. - - Returns: - The first drive found, or ``None`` if the wait was interrupted. - """ - print("Waiting for drive to deploy...") - while True: - drives = get_drives() - if drives: - return drives[0] - sleep(0.1) - - -def main(argv: list[str] | None = None) -> int: - """Run the command-line converter. - - Args: - argv: Argument list, defaulting to :data:`sys.argv` ``[1:]``. - - Returns: - ``0`` on success, ``1`` on a user or input error. - """ - parser = _build_parser() - args = parser.parse_args(argv) - - ctx = ConverterContext() - try: - ctx.familyid = _resolve_family(args.family) - ctx.appstartaddr = int(args.base, 0) - except (Uf2Error, ValueError) as exc: - print(exc, file=sys.stderr) - return 1 - - if args.list: - list_drives() - return 0 - - if not args.input: - print("Need an input file (or use --list)", file=sys.stderr) - return 1 - - source = Path(args.input) - if not source.is_file(): - print(f"error: file not found: {source}", file=sys.stderr) - return 1 - - inpbuf = source.read_bytes() - from_uf2 = is_uf2(inpbuf) - ext = "uf2" - - try: - if args.deploy: - outbuf = inpbuf - elif from_uf2 and not args.info: - outbuf = convert_from_uf2(inpbuf, ctx) - ext = "bin" - elif from_uf2 and args.info: - outbuf = b"" - convert_from_uf2(inpbuf, ctx) - elif is_hex(inpbuf): - outbuf = convert_from_hex_to_uf2(inpbuf.decode("utf-8"), ctx) - elif args.carray: - outbuf = convert_to_carray(inpbuf) - ext = "h" - else: - outbuf = convert_to_uf2(inpbuf, ctx) - except Uf2Error as exc: - print(f"error: {exc}", file=sys.stderr) - return 1 - - if not args.deploy and not args.info: - print( - f"Converted to {ext}, output size: {len(outbuf)}, " - f"start address: {ctx.appstartaddr or 0:#x}", - ) - - if (args.convert or ext != "uf2") and args.output is None: - args.output = f"flash.{ext}" - if args.output: - write_file(args.output, outbuf) - - if ext == "uf2" and not args.convert and not args.info: - drives = get_drives() - if not drives: - if args.wait: - found = _wait_for_drive() - drives = [found] if found else [] - elif not args.output: - print("error: no drive to deploy", file=sys.stderr) - return 1 - for drive in drives: - print(f"Flashing {drive} ({board_id(drive)})") - write_file(drive / "NEW.UF2", outbuf) - - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/0x0014a_cb/scripts/uf2families.json b/0x0014a_cb/scripts/uf2families.json deleted file mode 100644 index 39373c4..0000000 --- a/0x0014a_cb/scripts/uf2families.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - { - "short_name": "RP2040", - "id": "0xe48bff56", - "description": "Raspberry Pi RP2040" - }, - { - "short_name": "RP2350-ARM-S", - "id": "0xe48bff59", - "description": "Raspberry Pi RP2350, ARM, Secure" - }, - { - "short_name": "RP2350-ARM-NS", - "id": "0xe48bff5a", - "description": "Raspberry Pi RP2350, ARM, Non-Secure" - }, - { - "short_name": "RP2350-RISCV", - "id": "0xe48bff5b", - "description": "Raspberry Pi RP2350, RISC-V" - } -] \ No newline at end of file diff --git a/0x0014a_cb/src/crypto.c b/0x0014a_cb/src/crypto.c deleted file mode 100644 index 28cac39..0000000 --- a/0x0014a_cb/src/crypto.c +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @file crypto.c - * @brief Lightweight rolling cipher implementation for Operation Zero Hour ESA - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "crypto.h" - -static const uint8_t CIPHERTEXT[TOKEN_LEN] = { - 0x07, 0x03, 0x03, 0x12, 0x07, 0x7F, 0x70, 0x7A -}; - -static const uint8_t CIPHER_KEY[4] = { - 0x54, 0x41, 0x43, 0x54 -}; - -void decrypt_auth_token(uint8_t *dest) { - volatile const uint8_t *src = CIPHERTEXT; - volatile const uint8_t *key = CIPHER_KEY; - for (size_t i = 0; i < TOKEN_LEN; i++) { - dest[i] = src[i] ^ (key[i % 4] + (uint8_t)i); - } -} diff --git a/0x0014a_cb/src/gpio_ctrl.c b/0x0014a_cb/src/gpio_ctrl.c deleted file mode 100644 index d5a8661..0000000 --- a/0x0014a_cb/src/gpio_ctrl.c +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @file gpio_ctrl.c - * @brief GPIO hardware control implementation for Operation Zero Hour ESA - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "gpio_ctrl.h" -#include "pico/stdlib.h" - -/** - * @brief Initialize the red and green LED pins as outputs. - * @param void No parameters. - * @return void No return value. - */ -static void init_led_pins(void) { - gpio_init(LED_RED_PIN); - gpio_set_dir(LED_RED_PIN, GPIO_OUT); - gpio_init(LED_GREEN_PIN); - gpio_set_dir(LED_GREEN_PIN, GPIO_OUT); -} - -/** - * @brief Initialize the tamper wire pin as a pulled-down input. - * @param void No parameters. - * @return void No return value. - */ -static void init_tamper_pin(void) { - gpio_init(TAMPER_WIRE_PIN); - gpio_set_dir(TAMPER_WIRE_PIN, GPIO_IN); - gpio_pull_down(TAMPER_WIRE_PIN); -} - -void init_gpio(void) { - init_led_pins(); - init_tamper_pin(); - set_led_armed(); -} - -void set_led_armed(void) { - gpio_put(LED_RED_PIN, 1); - gpio_put(LED_GREEN_PIN, 0); -} - -void set_led_safe(void) { - gpio_put(LED_RED_PIN, 0); - gpio_put(LED_GREEN_PIN, 1); -} - -void set_led_tamper_flash(bool state) { - gpio_put(LED_RED_PIN, state ? 1 : 0); - gpio_put(LED_GREEN_PIN, 0); -} - -bool is_tamper_wire_intact(void) { - return gpio_get(TAMPER_WIRE_PIN); -} diff --git a/0x0014a_cb/src/lora.c b/0x0014a_cb/src/lora.c deleted file mode 100644 index 82928e9..0000000 --- a/0x0014a_cb/src/lora.c +++ /dev/null @@ -1,151 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lora.c -// Desc: Implements UART1 driver for REYAX RYLR998 LoRa transceiver. -// Created: 2026 - -#include "lora.h" -#include "hardware/gpio.h" -#include "pico/stdlib.h" -#include -#include - -/** - * @brief Discard all pending bytes from the LoRa UART receive FIFO. - * @param void No parameters. - * @return void No return value. - */ -static void drain_lora_rx(void) { - while (uart_is_readable(LORA_UART)) { - (void)uart_getc(LORA_UART); - } -} - -/** - * @brief Send an AT command to the radio and drain its response. - * @param cmd Null-terminated AT command string to transmit. - * @return void No return value. - */ -static void send_at_cmd(const char *cmd) { - uart_write_blocking(LORA_UART, (const uint8_t *)cmd, strlen(cmd)); - sleep_ms(200); - drain_lora_rx(); -} - -/** - * @brief Program the RYLR998 RF parameters via the AT command set. - * @param void No parameters. - * @return void No return value. - */ -static void configure_lora_rf(void) { - sleep_ms(1500); - send_at_cmd("AT\r\n"); - send_at_cmd("AT+NETWORKID=18\r\n"); - send_at_cmd("AT+BAND=915000000\r\n"); - send_at_cmd("AT+PARAMETER=9,7,1,12\r\n"); - send_at_cmd("AT+ADDRESS=2\r\n"); -} - -void init_lora(void) { - uart_init(LORA_UART, LORA_BAUD); - uart_set_translate_crlf(LORA_UART, false); - gpio_set_function(LORA_TX_PIN, GPIO_FUNC_UART); - gpio_set_function(LORA_RX_PIN, GPIO_FUNC_UART); - configure_lora_rf(); -} - -void lora_send(const char *msg) { - char cmd[128]; - int len = (int)strlen(msg); - snprintf(cmd, sizeof(cmd), "AT+SEND=0,%d,%s\r\n", len, msg); - uart_write_blocking(LORA_UART, (const uint8_t *)cmd, strlen(cmd)); -} - -/** - * @brief Extract the payload field from a +RCV receive line. - * @param line Mutable receive line buffer to parse. - * @param out Buffer receiving the extracted payload string. - * @param max_len Capacity of out in bytes. - * @return true when the payload was extracted, false otherwise. - */ -static bool extract_rcv_data(char *line, char *out, size_t max_len) { - char *c1 = strchr(line, ','); - if (!c1) return false; - char *c2 = strchr(c1 + 1, ','); - if (!c2) return false; - char *c3 = strchr(c2 + 1, ','); - if (c3) *c3 = '\0'; - snprintf(out, max_len, "%s", c2 + 1); - return true; -} - -/** - * @brief Parse one complete UART line and capture payload data. - * @param line Mutable line buffer to parse. - * @param out Buffer receiving the extracted payload string. - * @param max_len Capacity of out in bytes. - * @return true when the line carried payload data, false otherwise. - */ -static bool parse_line(char *line, char *out, size_t max_len) { - if (strstr(line, "+RCV=")) - return extract_rcv_data(line, out, max_len); - if (strncmp(line, "+", 1) != 0 && strncmp(line, "OK", 2) != 0) { - snprintf(out, max_len, "%s", line); - return true; - } - return false; -} - -/** - * @brief Feed one received byte into the line assembly state machine. - * @param c Received byte to process. - * @param buf Line assembly buffer. - * @param idx Pointer to the current write index into buf. - * @param out Buffer receiving the extracted payload string. - * @param max_len Capacity of out in bytes. - * @return true when a complete payload was produced, false otherwise. - */ -static bool process_rx_byte(char c, char *buf, size_t *idx, char *out, size_t max_len) { - if (c == '\r' || c == '\n') { - buf[*idx] = '\0'; - bool ok = (*idx > 0) && parse_line(buf, out, max_len); - *idx = 0; - return ok; - } - if (*idx < 127) buf[(*idx)++] = c; - return false; -} - -bool lora_poll_packet(char *payload_out, size_t max_len) { - static char buf[128]; - static size_t idx = 0; - while (uart_is_readable(LORA_UART)) { - char c = (char)uart_getc(LORA_UART); - if (process_rx_byte(c, buf, &idx, payload_out, max_len)) - return true; - } - return false; -} diff --git a/0x0014a_cb/src/main.c b/0x0014a_cb/src/main.c deleted file mode 100644 index bbe8449..0000000 --- a/0x0014a_cb/src/main.c +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @file main.c - * @brief Operation Zero Hour - Electronic Safe-and-Arm (ESA) Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "pico/stdlib.h" -#include "gpio_ctrl.h" -#include "safe_arm.h" - -/** - * @brief Initialize stdio, GPIO, and the safe-and-arm controller. - * @param void No parameters. - * @return void No return value. - */ -static void init_system(void) { - stdio_init_all(); - init_gpio(); - init_safe_arm_controller(); -} - -/** - * @brief Run the main event loop, servicing one tick per iteration. - * @param void No parameters. - * @return void No return value. - */ -static void run_event_loop(void) { - while (true) { - process_safe_arm_tick(); - sleep_ms(100); - } -} - -int main(void) { - init_system(); - run_event_loop(); - return 0; -} diff --git a/0x0014a_cb/src/safe_arm.c b/0x0014a_cb/src/safe_arm.c deleted file mode 100644 index eba79ac..0000000 --- a/0x0014a_cb/src/safe_arm.c +++ /dev/null @@ -1,133 +0,0 @@ -/** - * @file safe_arm.c - * @brief Electronic Safe-and-Arm (ESA) controller implementation - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "safe_arm.h" -#include "crypto.h" -#include "gpio_ctrl.h" -#include "lora.h" -#include -#include - -static uint8_t s_disarm_token[TOKEN_LEN + 1]; - -/** - * @brief Print the armed status banner to the console. - * @param void No parameters. - * @return void No return value. - */ -static void print_banner_armed(void) { - printf("\r\n+-----------------------------------------------------------------+\r\n"); - printf("| OPERATION ZERO HOUR // ESA CONTROLLER |\r\n"); - printf("| STATUS: WARHEAD ARMED [GP16 RED: ON] LORA RECEIVER: LIVE |\r\n"); - printf("+-----------------------------------------------------------------+\r\n"); -} - -/** - * @brief Print the disarmed status banner with the recovered token. - * @param token Null-terminated recovered disarm token string. - * @return void No return value. - */ -static void print_banner_safe(const uint8_t *token) { - printf("\r\n+-----------------------------------------------------------------+\r\n"); - printf("| WARHEAD DISARMED // SAFE [GP17 GREEN: ON] |\r\n"); - printf("| RECOVERED TOKEN: %-8.8s // FUZE NEUTRALIZED |\r\n", token); - printf("+-----------------------------------------------------------------+\r\n"); -} - -/** - * @brief Print the tamper detonation trip banner to the console. - * @param void No parameters. - * @return void No return value. - */ -static void print_banner_trip(void) { - printf("\r\n+-----------------------------------------------------------------+\r\n"); - printf("| TAMPER DETONATION TRIP [GP16 RED: FLASH] |\r\n"); - printf("| STATUS: COMMAND DETONATION ACTIVATED // EXPLOSIVE TRAIN ENGAGED |\r\n"); - printf("+-----------------------------------------------------------------+\r\n"); -} - -/** - * @brief Evaluate a received command against the disarm token. - * @param cmd Null-terminated received command string. - * @param state Pointer to the current warhead state byte. - * @param faults Pointer to the tamper fault counter. - * @return void No return value. - */ -static void eval_command(const char *cmd, uint8_t *state, uint8_t *faults) { - if (strncmp(cmd, (const char *)s_disarm_token, TOKEN_LEN) == 0) { - *state = STATE_WARHEAD_SAFE; - lora_send("WARHEAD DISARMED // SAFE"); - print_banner_safe(s_disarm_token); - } else { - (*faults)++; - } -} - -/** - * @brief Trip the warhead when fault limits or tamper wire demand it. - * @param faults Current tamper fault count. - * @param state Pointer to the current warhead state byte. - * @return void No return value. - */ -static void check_tamper(uint8_t faults, uint8_t *state) { - if (*state == STATE_WARHEAD_ARMED && (faults >= 3 || !is_tamper_wire_intact())) { - *state = STATE_TAMPER_TRIP; - print_banner_trip(); - } -} - -/** - * @brief Dispatch a received packet through command and tamper logic. - * @param has_pkt True when a packet was received this tick. - * @param pkt Null-terminated received packet payload string. - * @param state Pointer to the current warhead state byte. - * @param faults Pointer to the tamper fault counter. - * @return void No return value. - */ -static void handle_packet(bool has_pkt, const char *pkt, uint8_t *state, uint8_t *faults) { - if (has_pkt && *state != STATE_WARHEAD_SAFE) { - eval_command(pkt, state, faults); - check_tamper(*faults, state); - } -} - -/** - * @brief Drive LED feedback for the current warhead state. - * @param state Current warhead state byte. - * @param tick_idx Monotonic loop tick index for flash timing. - * @return void No return value. - */ -static void update_feedback(uint8_t state, uint32_t tick_idx) { - if (state == STATE_WARHEAD_SAFE) { - set_led_safe(); - } else if (state == STATE_TAMPER_TRIP) { - set_led_tamper_flash((tick_idx % 2) == 0); - } else { - set_led_armed(); - } -} - -void process_safe_arm_tick(void) { - static uint8_t warhead_state = STATE_WARHEAD_ARMED; - static uint8_t tamper_faults = 0; - static uint32_t loop_ticks = 0; - char rx_pkt[64] = {0}; - bool has_pkt = lora_poll_packet(rx_pkt, sizeof(rx_pkt)); - handle_packet(has_pkt, rx_pkt, &warhead_state, &tamper_faults); - check_tamper(tamper_faults, &warhead_state); - update_feedback(warhead_state, loop_ticks++); -} - -void init_safe_arm_controller(void) { - decrypt_auth_token(s_disarm_token); - s_disarm_token[TOKEN_LEN] = '\0'; - init_lora(); - print_banner_armed(); -} diff --git a/0x0017_constants/.gitignore b/0x0017_constants/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0017_constants/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0017_constants/.vscode/c_cpp_properties.json b/0x0017_constants/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x0017_constants/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0017_constants/.vscode/cmake-kits.json b/0x0017_constants/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0017_constants/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0017_constants/.vscode/extensions.json b/0x0017_constants/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0017_constants/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0017_constants/.vscode/launch.json b/0x0017_constants/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0017_constants/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0017_constants/.vscode/settings.json b/0x0017_constants/.vscode/settings.json deleted file mode 100644 index 8aecbe6..0000000 --- a/0x0017_constants/.vscode/settings.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja", - "files.associations": { - "stdlib.h": "c" - } -} diff --git a/0x0017_constants/.vscode/tasks.json b/0x0017_constants/.vscode/tasks.json deleted file mode 100644 index d1b3193..0000000 --- a/0x0017_constants/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0017_constants/0x0017_constants.c b/0x0017_constants/0x0017_constants.c deleted file mode 100644 index b762ca1..0000000 --- a/0x0017_constants/0x0017_constants.c +++ /dev/null @@ -1,35 +0,0 @@ -#include -#include -#include "pico/stdlib.h" -#include "hardware/i2c.h" -#include "lcd_1602.h" - -#define FAV_NUM 42 - -#define I2C_PORT i2c1 -#define I2C_SDA_PIN 2 -#define I2C_SCL_PIN 3 - -const int OTHER_FAV_NUM = 1337; - -int main(void) { - stdio_init_all(); - - i2c_init(I2C_PORT, 100000); - gpio_set_function(I2C_SDA_PIN, GPIO_FUNC_I2C); - gpio_set_function(I2C_SCL_PIN, GPIO_FUNC_I2C); - gpio_pull_up(I2C_SDA_PIN); - gpio_pull_up(I2C_SCL_PIN); - - lcd_i2c_init(I2C_PORT, 0x27, 4, 0x08); - - lcd_set_cursor(0, 0); - lcd_puts("Reverse"); - lcd_set_cursor(1, 0); - lcd_puts("Engineering"); - - while (true) { - printf("FAV_NUM: %d\r\n", FAV_NUM); - printf("OTHER_FAV_NUM: %d\r\n", OTHER_FAV_NUM); - } -} diff --git a/0x0017_constants/CMakeLists.txt b/0x0017_constants/CMakeLists.txt deleted file mode 100644 index 4c75aa3..0000000 --- a/0x0017_constants/CMakeLists.txt +++ /dev/null @@ -1,59 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0017_constants C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0017_constants 0x0017_constants.c lcd_1602.c) - -pico_set_program_name(0x0017_constants "0x0017_constants") -pico_set_program_version(0x0017_constants "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0017_constants 1) -pico_enable_stdio_usb(0x0017_constants 0) - -# Add the standard library to the build -target_link_libraries(0x0017_constants - pico_stdlib - hardware_i2c - hardware_gpio) - -# Add the standard include files to the build -target_include_directories(0x0017_constants PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0017_constants) - diff --git a/0x0017_constants/lcd_1602.c b/0x0017_constants/lcd_1602.c deleted file mode 100644 index 7425cf1..0000000 --- a/0x0017_constants/lcd_1602.c +++ /dev/null @@ -1,114 +0,0 @@ -/** - * @file lcd_1602.c - * @brief Implementation of PCF8574-backed HD44780 (16x2) LCD driver - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "lcd_1602.h" -#include -#include - -static i2c_inst_t *lcd_i2c = NULL; -static uint8_t lcd_addr = 0x27; -static int lcd_nibble_shift = 4; -static uint8_t lcd_backlight_mask = 0x08; - -/* PCF8574 -> LCD control pins */ -#define PIN_RS 0x01 -#define PIN_RW 0x02 -#define PIN_EN 0x04 - -static void pcf_write_byte(uint8_t data) { - if (!lcd_i2c) return; - i2c_write_blocking(lcd_i2c, lcd_addr, &data, 1, false); -} - -static void pcf_pulse_enable(uint8_t data) { - pcf_write_byte(data | PIN_EN); - sleep_us(1); - pcf_write_byte(data & ~PIN_EN); - sleep_us(50); -} - -static void lcd_write4(uint8_t nibble, uint8_t mode) { - uint8_t data = (nibble & 0x0F) << lcd_nibble_shift; - data |= mode ? PIN_RS : 0; - data |= lcd_backlight_mask; - pcf_pulse_enable(data); -} - -static void lcd_send(uint8_t value, uint8_t mode) { - lcd_write4((value >> 4) & 0x0F, mode); - lcd_write4(value & 0x0F, mode); -} - -void lcd_i2c_init(i2c_inst_t *i2c, uint8_t pcf_addr, int nibble_shift, uint8_t backlight_mask) { - lcd_i2c = i2c; - lcd_addr = pcf_addr; - lcd_nibble_shift = nibble_shift; - lcd_backlight_mask = backlight_mask; - - // Follow init sequence for HD44780 in 4-bit mode - lcd_write4(0x03, 0); - sleep_ms(5); - lcd_write4(0x03, 0); - sleep_us(150); - lcd_write4(0x03, 0); - sleep_us(150); - lcd_write4(0x02, 0); - sleep_us(150); - - // Function set: 4-bit, 2 lines - lcd_send(0x28, 0); - - // Display on, cursor off - lcd_send(0x0C, 0); - - // Clear - lcd_send(0x01, 0); - sleep_ms(2); - - // Entry mode set - lcd_send(0x06, 0); -} - -void lcd_clear(void) { - lcd_send(0x01, 0); - sleep_ms(2); -} - -void lcd_set_cursor(int line, int position) { - const uint8_t row_offsets[] = {0x00, 0x40}; - - if (line > 1) line = 1; - lcd_send(0x80 | (position + row_offsets[line]), 0); -} - -void lcd_puts(const char *s) { - while (*s) { - lcd_send((uint8_t)*s++, 1); - } -} diff --git a/0x0017_constants/lcd_1602.h b/0x0017_constants/lcd_1602.h deleted file mode 100644 index 072ae13..0000000 --- a/0x0017_constants/lcd_1602.h +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @file lcd_1602.h - * @brief Header for PCF8574-backed HD44780 (16x2) LCD driver - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef LCD_1602_H -#define LCD_1602_H - -#include -#include "pico/stdlib.h" -#include "hardware/i2c.h" - -/** - * @brief Initialize the LCD driver over I2C - * - * Configures the internal driver state and performs the HD44780 initialization - * sequence. The driver does not configure I2C pins or call i2c_init; that - * must be done by the caller prior to calling this function. - * - * @param i2c Pointer to the I2C instance (e.g. i2c0 or i2c1) - * @param pcf_addr PCF8574 I2C address (commonly 0x27 or 0x3F) - * @param nibble_shift Bit shift applied to 4-bit nibbles (commonly 4 or 0) - * @param backlight_mask PCF8574 bit mask that controls the backlight - */ -void lcd_i2c_init(i2c_inst_t *i2c, uint8_t pcf_addr, int nibble_shift, uint8_t backlight_mask); - -/** - * @brief Clear the LCD display - * - * Clears the display and returns the cursor to the home position. This - * call blocks for the duration required by the HD44780 controller. - */ -void lcd_clear(void); - -/** - * @brief Set the cursor position - * - * @param line Line number (0 or 1) - * @param position Column (0..15) - */ -void lcd_set_cursor(int line, int position); - -/** - * @brief Write a null-terminated string to the display - * - * @param s The string to write (ASCII) - */ -void lcd_puts(const char *s); - -#endif // LCD_1602_H diff --git a/0x0017_constants/pico_sdk_import.cmake b/0x0017_constants/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0017_constants/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0017a_ctf/.gitignore b/0x0017a_ctf/.gitignore deleted file mode 100644 index de8404a..0000000 --- a/0x0017a_ctf/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -build -!.vscode/* -!build-ctf/CTF-02.bin -!CTF-02.bin diff --git a/0x0017a_ctf/.vscode/c_cpp_properties.json b/0x0017a_ctf/.vscode/c_cpp_properties.json deleted file mode 100644 index 613c996..0000000 --- a/0x0017a_ctf/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.3.1/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.3.1/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/15_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0017a_ctf/.vscode/cmake-kits.json b/0x0017a_ctf/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0017a_ctf/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0017a_ctf/.vscode/extensions.json b/0x0017a_ctf/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0017a_ctf/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0017a_ctf/.vscode/launch.json b/0x0017a_ctf/.vscode/launch.json deleted file mode 100644 index 451b846..0000000 --- a/0x0017a_ctf/.vscode/launch.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "debuggerArgs": ["-ex", "set debug-file-directory /debug"], - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.3.1/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "debuggerArgs": ["-ex", "set debug-file-directory /debug"], - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.3.1/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - } - ] -} diff --git a/0x0017a_ctf/.vscode/settings.json b/0x0017a_ctf/.vscode/settings.json deleted file mode 100644 index 5b883ba..0000000 --- a/0x0017a_ctf/.vscode/settings.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - }, - "variant": { - "statusBarVisibility": "hidden" - }, - "buildTarget": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v4.3.4/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.3.1", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/15_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/15_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.3.1/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v4.3.4/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.13.2;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.3.1", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.3.1/picotool:${env:HOME}/.pico-sdk/cmake/v4.3.4/bin:${env:HOME}/.pico-sdk/ninja/v1.13.2:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.3.1", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/15_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.3.1/picotool:${env:HOME}/.pico-sdk/cmake/v4.3.4/bin:${env:HOME}/.pico-sdk/ninja/v1.13.2:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v4.3.4/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.13.2/ninja" -} diff --git a/0x0017a_ctf/.vscode/tasks.json b/0x0017a_ctf/.vscode/tasks.json deleted file mode 100644 index 2f07d94..0000000 --- a/0x0017a_ctf/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.13.2/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.13.2/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.3.1/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.3.1/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe" - } - } - ] -} diff --git a/0x0017a_ctf/CMakeLists.txt b/0x0017a_ctf/CMakeLists.txt deleted file mode 100644 index 7a6ba40..0000000 --- a/0x0017a_ctf/CMakeLists.txt +++ /dev/null @@ -1,128 +0,0 @@ -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: CMakeLists.txt -# Desc: Configures the RP2350 Pico SDK project and cryptographic module -# targets for the DEEPLINE Metro practice firmware. Mirrors the -# hardened Ouroboros construction of encryption-c-rp2350. -# Created: 2026 - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.3.1) -set(toolchainVersion 15_2_Rel1) -set(picotoolVersion 2.3.1) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if(EXISTS ${picoVscode}) - include(${picoVscode}) -endif() - -set(PICO_BOARD pico2 CACHE STRING "Board type") - -include(pico_sdk_import.cmake) -project(CTF-02 C CXX ASM) -find_package(Python3 COMPONENTS Interpreter REQUIRED) - -set(DEMO_ARTIFACT_JSON ${CMAKE_CURRENT_LIST_DIR}/scripts/demo_artifact.json) -set(DEMO_ARTIFACT_HEADER_COMMITTED ${CMAKE_CURRENT_LIST_DIR}/include/demo_artifact.h) -set(DEMO_ARTIFACT_HEADER_GENERATED ${CMAKE_CURRENT_BINARY_DIR}/generated/demo_artifact.h) - -add_custom_command( - OUTPUT ${DEMO_ARTIFACT_HEADER_GENERATED} - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/generated - COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/scripts/dec.py - --from-json ${DEMO_ARTIFACT_JSON} - --header-out ${DEMO_ARTIFACT_HEADER_GENERATED} - --check-header-path ${DEMO_ARTIFACT_HEADER_COMMITTED} - DEPENDS - ${CMAKE_CURRENT_LIST_DIR}/scripts/dec.py - ${DEMO_ARTIFACT_JSON} - ${DEMO_ARTIFACT_HEADER_COMMITTED} - COMMENT "Regenerating demo artifact header from JSON and checking committed header freshness" - VERBATIM -) - -add_custom_target(check_demo_artifact_header DEPENDS ${DEMO_ARTIFACT_HEADER_GENERATED}) - -pico_sdk_init() - -if(NOT PICO_MBEDTLS_PATH) - set(PICO_MBEDTLS_PATH ${PICO_SDK_PATH}/lib/mbedtls) -endif() - -# Argon2id reference implementation (PHC winner), compiled single-threaded. -set(ARGON2_SRC ${CMAKE_CURRENT_LIST_DIR}/third_party/argon2) -add_library(argon2_ref STATIC - ${ARGON2_SRC}/src/argon2.c - ${ARGON2_SRC}/src/core.c - ${ARGON2_SRC}/src/ref.c - ${ARGON2_SRC}/src/encoding.c - ${ARGON2_SRC}/src/blake2/blake2b.c -) -target_compile_definitions(argon2_ref PUBLIC ARGON2_NO_THREADS) -target_include_directories(argon2_ref PUBLIC - ${ARGON2_SRC}/include - ${ARGON2_SRC}/src -) - -# mbedTLS subset: ChaCha20, Poly1305, ChaCha20-Poly1305, constant-time. -add_library(mbedtls_subset STATIC - ${PICO_MBEDTLS_PATH}/library/chacha20.c - ${PICO_MBEDTLS_PATH}/library/poly1305.c - ${PICO_MBEDTLS_PATH}/library/chachapoly.c - ${PICO_MBEDTLS_PATH}/library/constant_time.c - src/mbedtls_shims.c -) -target_compile_definitions(mbedtls_subset PUBLIC MBEDTLS_CONFIG_FILE="mbedtls_config.h") -target_include_directories(mbedtls_subset PUBLIC - include - ${PICO_MBEDTLS_PATH}/include - ${PICO_MBEDTLS_PATH}/library -) - -# Ouroboros authentication engine consuming the Argon2id and AEAD layers. -add_library(auth STATIC src/auth.c) -add_dependencies(auth check_demo_artifact_header) -target_include_directories(auth PUBLIC include) -target_link_libraries(auth PUBLIC pico_stdlib mbedtls_subset argon2_ref) - -# DEEPLINE Metro practice firmware executable. -add_executable(CTF-02 src/main.c) -target_link_libraries(CTF-02 PRIVATE auth pico_stdlib) -pico_enable_stdio_uart(CTF-02 0) -pico_enable_stdio_usb(CTF-02 1) -target_compile_definitions(CTF-02 PRIVATE - PICO_DEFAULT_UART_BAUD_RATE=115200 -) -pico_add_extra_outputs(CTF-02) \ No newline at end of file diff --git a/0x0017a_ctf/CTF-02-I.md b/0x0017a_ctf/CTF-02-I.md deleted file mode 100644 index 37de55e..0000000 --- a/0x0017a_ctf/CTF-02-I.md +++ /dev/null @@ -1,673 +0,0 @@ -# Operation Copperhead - Student Instructions - -**⚠ DEEPLINE METRO EMERGENCY INCIDENT ⚠** - -``` -+----------------------------------------------------------------------------------------+ -| | -| ██████╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗████████╗ █████╗ ██████╗ ████████╗ | -| ██╔══██╗██║ ██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝ | -| ██████╔╝██║ ███████║██║ █████╔╝ ███████╗ ██║ ███████║██████╔╝ ██║ | -| ██╔══██╗██║ ██╔══██║██║ ██╔═██╗ ╚════██║ ██║ ██╔══██║██╔══██╗ ██║ | -| ██████╔╝███████╗██║ ██║╚██████╗██║ ██╗███████╗ ██║ ██║ ██║██║ ██║ ██║ | -| ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝██║ ██║╚══════╝ ╚═╝ ╚═╝ ╚═╝██║ ██║ ██║ | -| | -| | -| O P E R A T I O N C O P P E R H E A D | -| | -| *** PRIORITY RED *** | -| | -+----------------------------------------------------------------------------------------+ -``` - ---- - -## Project Overview - -DEEPLINE Metro Authority's rebuilt DEEPLINE-AUTH field relay image shipped -four corrupted engineering constants: a miscalibrated release threshold, a -false TRACK banner string, an overstated block length, and a poisoned ARX -signal seed. The corrupted image reports an occupied BRIDGE-4 block as -stable and authorized while rescue crews approach, and the source used for -the emergency rebuild was overwritten seventeen minutes later and cannot be -recovered. Students reverse engineer `CTF-02.bin` with Ghidra, patch all -four defects, capture the runtime-derived signal key live in GDB, recover -and authenticate the Ouroboros authority frame, export a corrected image, -flash it to a Pico 2, and prove the corrected behavior on real hardware. - ---- - -## Scenario Briefing - -### Read This First (Plain English) - -The story uses rail-signalling words that read as jargon the first time you -hit them. Here is what they mean; keep this list open while you read. - -- **Block**: a fixed section of track. Only one train may occupy it at a - time. A block is **safe** when it is empty, so the train waiting at its - start may proceed, and **occupied** when a train is inside it, so the - train behind must hold. -- **Track circuit**: a current sent through the rails to detect where - trains are. A train's wheels short the rails and drop that current, which - is how the system knows a block is occupied. -- **Pilot wire**: the sensing line that carries the track-circuit reading - back to the relay. The **dead pilot wire** in this story has a frozen - reading: the value is latched and no longer updates. -- **Field relay**: the small embedded controller, one per block, that - watches the reading and decides hold versus authorize. This challenge uses - a Pico 2 as the relay. -- **Command floor**: the central control room for the whole railway. -- **Blacklock**: a coordinated cyberattack that bricks the control room and - locks everyone out of central operations. After a blacklock, every safety - decision falls back to the local relays. -- **How deep?**: the DEEPLINE corridor runs roughly 40 meters below street - level inside a hardened tube called the armored shell. - -Once these words make sense, the incident below is a simple story: a relay -is lying about whether the block ahead is clear, and your job is to find -the corrupted bytes that make it lie. - -### Background - -**DEEPLINE Metro Authority** runs an armored railway deep beneath the -city, roughly 40 meters below street level, inside a hardened tube called -the armored shell. Armored two-car trains carry people through it, and -tonight they are also carrying rescue crews toward riders trapped inside -the tunnels. - -To understand what is happening, picture how the line stays safe. The line -is cut into fixed stretches of track called **blocks**. A block is one -piece of track, and the rule is absolute: only one train may be inside a -block at any moment. Before a train may roll out of its current block and -into the next one, the system must first prove the next block is empty. -Empty means safe, and safe means the train may proceed. Occupied means -danger, and danger means the train must stop and wait. - -How does the system prove a block is empty? It uses electricity. A steady -current is pushed into the rails of every block, and a small embedded -computer called a **field relay** (call sign **DEEPLINE-AUTH**) watches -that current. This is called a **track circuit**. When nothing is on a -block, the current flows normally. When a train rolls in, its steel wheels -connect the two rails and the current changes, and that change is the -relay's signal that a train is there. The **pilot wire** is the sensing -line that carries this reading from the rails up to the relay. - -So every block has a relay doing the same honest job: read the current, -ask "is the block ahead empty?", and answer with only two words, **HOLD** -(stop, do not move) or **AUTHORIZE** (the way is clear, go). The relays are -the railway's nervous system, and with the command floor dead they are the -only nervous system left. - -The command floor is the central control room where humans used to watch -the entire line. It was **blacklocked** by a coordinated attack: shut out, -locked, and made useless. When it went dark, the trains lost their view -from above. Every safety decision dropped down to the relays on the -ground, running their local firmware, deciding hold or authorize block by -block. - -At 0341 UTC, a threat actor known as **Cortex Sledge** posted a message -calling the moment before it happened: a blacklock of the DEEPLINE control -floor followed by a silent corruption of the field relay images, so nothing -inside the tunnels could agree on what was safe. The blacklock landed. With -the network coordination center offline and rescue crews already inside the -armored shell, the engineering team rebuilt the relay firmware around the -**Ouroboros hardened gate**: an encrypted authority frame protected by a -12-word operation passphrase and sealed with Argon2id plus -XChaCha20-Poly1305. The rebuilt image was pushed to the fleet within -minutes of the blacklock. - -That speed is where the story goes wrong, and it is the trap you walk -into tonight. - -### The Origin of the Ouroboros Gate - -The Ouroboros gate did not come from DEEPLINE. It came from a reclusive -cryptographer who spent a decade obsessed with a single, improbable goal: -to write encryption that could not be broken, not by anyone, not ever. -The engineers who worked beside him dismissed the obsession as unworkable, -and he never argued. When he finished, he published the work as a single -squashed archive tagged **v0.1.0**, with the compiled gate firmware image -attached to the release, and then vanished. - -What he left behind is the strict Ouroboros construction: a memory-hard -Argon2id key schedule feeding an authenticated XChaCha20-Poly1305 authority -frame: symmetric cryptography hardened for the RP2350's memory budget, with -an honest threat model instead of a sales pitch. In plain terms, Ouroboros -is the relay's lock: an order is only trusted if an operator holding the -correct 12-word phrase unlocks it. The corruption in this challenge is -separate from that lock, plain wrong numbers in the safety math, not a -crack in the encryption. DEEPLINE quietly adopted it -for the field relays because it was the strongest gate anyone had ever -shipped that would still boot on the target. A decade of asking -"what if it must not be broken?" is the only reason the relay console can be -an authoritative gate at all. Tonight, in a tunnel with rescue crews -approaching a block the firmware is lying about, that authenticated gate -matters more than DEEPLINE's own design review ever did. - -### The Disaster - -The relay boots. It prints a status report. It reports **TRACK: NORMAL**, -**BLOCK STATE: STABLE**, and **AUTO TRAIN: AUTHORIZED**. To anyone standing -in the tunnel, that console looks like the railway giving the all-clear: -the track is fine, the block ahead is stable and empty, and the train may -move. - -The console is lying, and here is the math behind the lie, step by step. - -Step 1. The relay is reading **87 A** from the dead pilot wire. A pilot -wire goes dead when the reading freezes, so the relay is looking at a stale -number instead of live reality. That number is thrust in front of the relay -every cycle, and the relay keeps trusting it. - -Step 2. DEEPLINE's hard engineering rule says no train may be released -into a block whose reading is at or above **60 A**. 87 A is nearly 45 -percent beyond that limit. In plain terms, the reading is screaming that -the insulated block ahead is compromised. - -Step 3. The compromised block in this incident is the exact block where -the two-car train is sitting right now, with rescue crews approaching on -foot. The reading is not noise and it is not a drill. The block ahead is -occupied. - -An honest relay would do that arithmetic and reach the only logical answer: -reading too high, block unsafe, print BLOCK STATE: CRITICAL, set AUTO TRAIN: -HELD, and hold the train. That is what the relay was designed to do, and it is -the only thing standing between the rescue corridor and a collision. - -The image that shipped does the opposite. It prints STABLE. It prints -AUTHORIZED. It tells the train the way is clear when the way is not clear. - -The reason is corruption. Between the safe reference firmware and the image -pushed to the fleet, four engineering constants were changed. A constant is -a fixed number baked into the firmware, like the amounts in a recipe, and a -single wrong number can flip the entire verdict. The corrupted image -believes 87 A is acceptable, believes the occupied block is empty, and will -hand the train a green light straight into the rescue crews' tunnel. - -If the fleet trusts that console, the two-car train is dispatched into the -occupied block at the same moment the crews mark the corridor with their -[chemlight], and nobody gets a second chance at that tunnel. - -**The rushed build has defects. The four constants were corrupted between -the safe reference firmware and the image that shipped. The source used for -the emergency rebuild was overwritten by the next build seventeen minutes -later and cannot be recovered. Nobody has found where the corrupt values -live in the compiled image.** That is the hole you were called in to fill. - -### The Only Surviving Evidence - -One field relay, the training/verification unit, still holds the exact -miscompiled image that shipped to the fleet. This image, and this image -alone, is the only remaining copy of the emergency build. There is no -source code. There is no build log. There is only the compiled image, a USB -console link, an SWD debug probe, and whatever a skilled embedded reverse -engineer can prove by reading machine code. - -### The Human Stakes - -| Consequence if the false "STABLE" reading is trusted | Scale | -|---|---| -| Two-car train dispatched into an occupied BRIDGE-4 block | 1 train | -| Rescue crews walking toward a block the console calls safe | 4 teams | -| Stations and hospital spokes on backup power after blacklock | 29 facilities | -| Estimated riders stranded in the armored shell | 210+ people | - -**The options are:** - -1. ❌ **Trust the console**: the train releases on a false reading, the - BRIDGE-4 corridor becomes a collision scene. -2. ❌ **Scrap the fleet's firmware**, which buys time but leaves crews in the - tunnel with no interlocking and no authority frame at all. -3. **REVERSE ENGINEER THE EMERGENCY BUILD**: find the exact corrupt - bytes, patch them, prove the corrected image on real hardware, and hand - the fix to the field team so the *rest of the fleet* can be repatched - before the next attempt. - -### THE SHORTAGE - -For years, the world treated embedded systems as invisible infrastructure. -The engineers who could read a vector table, decode a Thumb branch, or -patch a corrupted constant directly in a stripped binary were never -numerous enough. Tonight almost all of them are already in the field -chasing other failures. **You are the reserve team.** - -You were called in because you can do something no exhausted command-floor -team can do right now: read what the processor is actually doing, with no -source code, no time for a rewrite, and no room for a guess. - -> **⏰ TIME PRESSURE:** The field team is standing by to push your verified -> patch to the rest of the DEEPLINE fleet. Every relay still reporting a -> false "STABLE" status is one two-car release away from a disaster. - -> **AUTHORIZED LAB ONLY:** This challenge uses a supplied Pico 2 training -> relay and its exact corrupted firmware image. Do not connect this -> exercise to a public network, an operational railway, a metro system, or -> any device you do not own or have explicit written authorization to test. - ---- - -## Learning Objectives - -- Decode an ARM Cortex-M33 vector and boot table and identify the reset - handler and initial stack pointer. -- Translate Thumb reset-vector addresses into real function entry points and - trace literal-pool entries to their data. -- Locate four corrupted constants: a boundary comparison, a status string, - an 8-byte IEEE-754 double, and an ARX signal seed. -- Analyze unsigned compare semantics, condition codes, and compiler - transforms of boundary tests. -- Capture a runtime-derived key with GDB, override a register, and set a - watchpoint on stored SRAM state. -- Recover and authenticate an Argon2id plus XChaCha20-Poly1305 authority - frame and describe the crypto pipeline with an honest threat boundary. -- Export and UF2-convert a corrected image, then prove the corrected - behavior on real hardware. - ---- - -## What This Project Tests - -| Week | Concepts Tested | -|------|-----------------| -| 1 | RP2350 architecture, ARM Cortex-M33 registers, stack, flash/RAM, Thumb assembly, Ghidra static analysis | -| 2 | GDB connection, breakpoints, disassembly, register and memory inspection, USB-CDC console observation | -| 3 | Bootrom handoff, vector table, reset handler, startup code, XIP, Thumb-bit addressing | -| 4 | Data segments (`.rodata` / `.data` / `.bss`), initialized data images, little-endian encoding, literal pools, soft-float double layout | -| 5 | Unsigned compare semantics, condition codes (`hi`/`ls`), compiler transforms (`<` vs `<=`), volatile refetch semantics | -| 6 | Runtime signal-key derivation (SENTINEL-ARX quarter rounds), live register capture of a derived key, memory watchpoints | -| 7 | Argon2id memory-hard KDF, XChaCha20-Poly1305 AEAD, HChaCha20 subkey, salt/nonce/tag, authenticated decryption | -| 8 | Ouroboros composition (Argon2id to AEAD to payload dispatch), honest threat-model analysis, incident reporting | - ---- - -## Part 1: Understanding the System - -### DEEPLINE-AUTH Field Relay Hardware - -| Component | Connection | Purpose | -|-----------|------------|---------| -| Raspberry Pi Pico 2 | RP2350 | Runs the corrupted emergency firmware | -| USB-CDC console | Micro-USB to host | Relay console and Ouroboros gate input | -| SWD debug interface | Supplied probe | Authorized GDB inspection | -| Onboard LED | GPIO 25 | Authentication success indicator | - -Every graded finding lives in flash (`.rodata` / `.text` / `.data` image) or -SRAM, and is reachable with only the Weeks 1-8 toolset: Ghidra, GDB, and a -serial console. - -### Console Configuration - -- Transport: USB-CDC virtual COM port (no external adapter needed) -- Baud: `115200` -- Data: `8 bits` -- Parity: `none` -- Stop: `1` -- Logic: `3.3 V` on the debug header - -### Normal (Intended) Behavior - -The relay should run the SENTINEL-ARX signal-key layer, classify the frozen -87 A reading against the **real** DEEPLINE safety limit of **60 A**, report -honestly, and still accept the **Ouroboros authority frame** when an -operator enters the correct 12-word phrase: - -``` -+-----------------------------------------------------------------+ -| Intended Relay Behavior | -| | -| 1. Boot and initialize USB-CDC stdio and the auth gate | -| 2. Print the boot identity and the true TRACK signal | -| 3. Compare the frozen 87 A reading against the 60 A limit | -| 4. 87 A exceeds 60 A, so the block is NOT stable | -| 5. Report BLOCK STATE: CRITICAL and AUTO TRAIN: HELD | -| 6. Mint a SIGNAL KEY each 2-second cycle and watch it match | -| the SIGNAL_SPEC 0x2D879291 (OK, not MISMATCH) | -| 7. The 12-word emergency phrase reauthorizes the frame: | -| AUTHORITY FRAME: VERIFIED and payload on UART | -| 8. Repeat the report once per cycle until conditions change | -+-----------------------------------------------------------------+ -``` - -### Observed (Buggy) Behavior: What You Will See When You First Flash `CTF-02.uf2` - -```text -DEEPLINE METRO AUTHORITY -ADAPTIVE SIGNAL WINDOW: 38 MINUTES -USB-CDC 115200 8N1 | AUTHORIZED LAB CONSOLE -TRACK: NORMAL -BLOCK STATE: STABLE -AUTO TRAIN: AUTHORIZED -BLOCK LENGTH: 3200 M -FAULT POLLS: 1 -SIGNAL KEY: 0x915DCFF8 MISMATCH -RESPONSE> -``` - -> **Terminal Timing Note:** The first four lines (`DEEPLINE METRO...` through -> `TRACK: NORMAL`) represent the **initial boot banner**, emitted once during -> startup. If your serial terminal (PuTTY) connects after the board has -> booted, you will observe the continuous 2-second status stream (`BLOCK -> STATE...` through `SIGNAL KEY...`). To view the boot banner in your terminal, -> reset the Pico (pulse `RUN` to `GND`) while PuTTY is actively connected. - -The status block repeats every 2 seconds with `FAULT POLLS` incrementing. -This is exactly what the field crews are seeing. It is wrong, and it is -wrong in **four independent ways** inside the compiled binary. Do not assume -the first readable sentence is the full truth: treat every printed line as -evidence to be checked against the machine code, not as a fact on its own. - ---- - -## Part 2: The Firmware - -You do not have the source code. It was overwritten seventeen minutes after -the emergency build shipped. You have only the compiled image. Your job is -to reverse engineer it with Ghidra, locate the corrupted constants, patch -the image directly, and prove the corrected behavior: exactly the way the -field team will need to repatch the rest of the deployed fleet. - -### What The Firmware Does - -1. Initializes USB-CDC stdio and the Ouroboros authentication gate. -2. Reads a frozen track-circuit current (87 A) latched on the dead pilot - wire before the blacklock. -3. Compares that reading against a compiled-in safety threshold: **twice**, - once for the operator-facing BLOCK STATE line and once for the automated - AUTO TRAIN decision. -4. Prints a boot banner containing an unconditional TRACK signal line. -5. Enters an infinite 2-second loop that derives a session signal key, - prints the block classification, dispatch decision, block length, fault - poll count, and signal-key verdict. -6. Accepts a 12-word operation passphrase at the `RESPONSE>` prompt and runs - it through the hardened **Ouroboros gate** (Argon2id key derivation plus - XChaCha20-Poly1305 authenticated decryption) before dispatching the - authority frame payload to GPIO25 and UART. - -### Bug Summary: What You Are Graded On - -| Bug # | Category | Severity | Description | Hint | -|-------|----------|----------|--------------|------| -| **Bug #1** | Miscompiled safety constant | **CRITICAL** | The safe-release threshold was compiled far too permissive (95 A). It is used **twice**: once for the operator-facing status and once for the automated train-release decision, and **both** copies must be corrected. | The real DEEPLINE limit is 60 A. Search for the wrong immediate value used in the comparison. | -| **Bug #2** | Hardcoded string literal | **HIGH** | The boot banner unconditionally prints `TRACK: NORMAL` regardless of the actual reading. | The correct word describes a system holding a train at 87 A against a 60 A limit, not "NORMAL". | -| **Bug #3** | Data-section constant | **HIGH** | The block length shipped as 3.2 km; the real BRIDGE-4 block is 0.32 km, far below minimum release spacing. It prints as metres. | Trace the `BLOCK LENGTH` line to its data image in flash. Little-endian IEEE-754 double. | -| **Bug #4** | Init-time seed constant | **HIGH** | The ARX seed fused into the image is `0x0A0A0A0A`; the real seed is `0x6B206574`. The derived signal key therefore never matches `SIGNAL_SPEC`, and the console reports `MISMATCH` every cycle. | The expected value `0x2D879291` is a literal in a pool. The seed is a `.data` image in flash. Ignore decoy `0A` bytes in the input dispatch table. | - -**Important:** The replacement text for Bug #2 **must be the same length** -as the original (`NORMAL` and `DANGER` are both 6 bytes). Patching a shorter -or longer string will corrupt adjacent flash data. - -### A Third Layer: Not a Bug, an Authorization Task - -The **Ouroboros authority frame** is the encrypted artifact that proves an -operator is legitimate: a 48-byte payload sealed with Argon2id-derived keys -and XChaCha20-Poly1305. It is never printed by the firmware's status lines. -Recovering it, by understanding the construction and authenticating with -the correct 12-word phrase, is required evidence for your final report. - -The power of this layer is real but must be described honestly. The -construction is Argon2id (memory-hard KDF) chained into XChaCha20-Poly1305 -(AEAD). Against Grover-style search, symmetric-key security exponents are -**halved**, not annihilated; this firmware is a demonstrator and does not -claim NIST post-quantum status. The honest claim is: **a high modeled -brute-force cost under the stated passphrase entropy and KDF assumptions**, -not "quantum-proof." Your report must state this boundary exactly. - ---- - -## Part 3: Your Assignment - -Whenever a task asks you to **Document** or **answer**, write your answers -in a single file named `CTF-02-Answers.md`. - -### Task 1: Setup and Initial Analysis - -1. Create a new Ghidra project named `Copperhead_Investigation`. -2. Import `CTF-02.bin`. -3. Configure the language as **ARM Cortex 32-bit, little endian**. -4. Set the base address to `0x10000000`. -5. Run auto-analysis. - -**Document:** -- A screenshot of the Ghidra **Import Results** or **Program Information** - window showing the project name, processor settings, and base address. -- The address of `main()`. -- The address of the recurring 2-second status loop (the branch target the - loop restarts from). -- The vector-table base, the initial stack pointer, and the reset-handler - pointer as stored (note its Thumb bit) versus the actual instruction - address. -- One representative literal-pool entry that feeds the status lines, and - what it points to. - -### Task 2: Find and Patch Bug #1: The Miscalibrated Release Threshold - -1. Find **both** locations where the frozen 87 A reading is compared against - the miscompiled safety constant. -2. Document the exact address, the original instruction, and the original - immediate value at each location. -3. Determine the correct immediate value. **Caution:** the compiler may not - have encoded the raw threshold you expect: a strict "less than" - comparison against an unsigned value is often optimized into a - "less-or-equal" comparison against one less than the threshold. Show - your reasoning. -4. Patch **both** locations in Ghidra using the **Bytes Window** workflow: - > **Critical ARM Thumb-2 Patching Note:** In ARM Cortex-M, compare instructions that directly precede conditional execution blocks (`ite ge`) must **not** be patched using the right-click *Patch Instruction* dialog. Ghidra's automatic re-disassembler encounters an internal context conflict with the subsequent `ite ge` instruction, which collapses Thumb decoding and swallows Compare Site B (`0x10000312`). - > - > To patch cleanly without breaking downstream disassembly, use the **Bytes Window**: - > 1. Ensure the Bytes window is open (**Window** -> **Bytes: CTF-02.bin**). - > 2. In the Bytes window toolbar, click the **pencil icon** (**Toggle Edit Mode**). - > 3. In the Listing window, click on address `0x10000302` (Compare Site A) and press **`C`** (**Clear Code Bytes**). The instruction temporarily clears into raw bytes (`5E 2B`). - > 4. In the Bytes window, locate offset `10000302`, click on `5E`, and change it to **`3B`**. - > 5. Click back in the Listing window on address `0x10000302` and press **`D`** (**Disassemble**). The instruction immediately disassembles cleanly as `cmp r3, #0x3b`. - > 6. Notice that Compare Site B at `0x10000312` remains completely intact and visible! Repeat the exact same steps at `0x10000312`: click `0x10000312` in the Listing, press **`C`**, change `5E` to **`3B`** in the Bytes window, click back in the Listing, and press **`D`**. - -**Questions to answer:** -- Why must both locations be patched? What happens if you only patch one? -- Why is a false "STABLE" classification on an 87 A reading dangerous for - an automated train release into an occupied block? - -### Task 3: Find and Patch Bug #2: The False TRACK Banner - -1. Find the boot-banner string that unconditionally reports the wrong - signal state. -2. Document its address and the exact bytes that must change. -3. Patch the string, preserving its exact length. - -**Questions to answer:** -- Document the original vs. patched bytes, character by character. -- Why is a hardcoded, unconditional status word more dangerous than one - that is at least computed from a (miscalibrated) reading? - -### Task 4: Find and Patch Bug #3: The Block Length Constant - -1. Use Ghidra to locate the `BLOCK LENGTH` status line and trace the value - it prints back to its source in the initialized data image. -2. Document the 8-byte IEEE-754 double as stored (little endian) and its - printed interpretation. -3. Patch the data image so the relay reports the real 320 m BRIDGE-4 block. - -**Questions to answer:** -- Show your byte-for-byte conversion from 3.2 km to 0.32 km. -- Why would a console that overstates block length by ten times be as - dangerous as one that understates it? - -### Task 5: Find and Patch Bug #4: The Signal Seed - -1. Find the `SIGNAL_SPEC` value `0x2D879291` in the binary and note where - it lives. -2. Locate the `.data` image in flash that the firmware copies into SRAM at - boot. Identify the seed word that is wrong. -3. Patch the seed so the runtime-derived key matches the spec. - -**Warning:** there are decoy `0x0A0A0A0A` bytes in the console input -dispatch table. The real seed is an initialized data image, not a jump-table -constant. - -**Questions to answer:** -- How is the signal key derived each cycle, and where does the failure - appear in the register trace? -- Does fixing the seed also authenticate the Ouroboros gate? Explain what - each layer does and does not protect. - -### Task 6: GDB Register Capture of the Derived Key - -Prove the signal-key failure from the live machine, not just from static -bytes: - -1. Connect GDB to the running relay via the SWD probe. -2. Break at the second `derive_session_key` call site, immediately after the - branch returns. -3. Read `$r0`. Record the bug-derived key. -4. Inspect the two arguments entering the derivation: the live seed from - SRAM and the derived IV. -5. Overwrite `$r0` with the correct spec value, step out, and confirm the - next status cycle prints `SIGNAL KEY: 0x2D879291 OK`. -6. Verify with a watchpoint on the stored key in SRAM. - -**Questions to answer:** -- Why is the derived value in `$r0` different from the spec, and what alone - in the image is responsible? -- What does the register overwrite prove that the static patch proves - differently (and vice versa)? - -### Task 7: Recover the Ouroboros Authority Frame - -1. In Ghidra, locate the embedded artifact: the 16-byte salt, the 24-byte - XChaCha nonce, and the 64-byte ciphertext-plus-tag. -2. Document the Argon2id parameters compiled into the gate (memory, time, - parallelism) and the payload layout contract (LED byte + UART bytes). -3. On the live relay, enter the canonical 12-word emergency phrase at the - `RESPONSE>` prompt. -4. Confirm the expected outcome: `AUTHORITY FRAME: VERIFIED`, the onboard - LED turning on, and the payload printed to the console. -5. Demonstrate the two failure paths (policy violation and wrong phrase). - -**Questions to answer (honest boundary required):** -- Walk through the full pipeline: Argon2id to 32-byte key, HChaCha20 subkey - from the nonce prefix, inner nonce, Poly1305 tag verification, payload - dispatch. -- What would Grover-style search actually change in this construction, and - why does this firmware not claim strict post-quantum status? - -### Task 8: Export and Verify - -1. Export your patched binary as `CTF-02_fixed.bin`. -2. Convert it to UF2 format for the RP2350: - ```bash - python uf2conv.py CTF-02_fixed.bin --base 0x10000000 --family 0xe48bff59 --output CTF-02_fixed.uf2 - ``` -3. Flash `CTF-02_fixed.uf2` to your Pico 2 and capture the corrected - console output. -4. Confirm the corrected image now reports **TRACK: DANGER**, **BLOCK STATE: - CRITICAL**, **AUTO TRAIN: HELD**, **BLOCK LENGTH: 320 M**, and **SIGNAL - KEY: 0x2D879291 OK**, an honest, safe report instead of a false - "all clear." -5. Build a summary table of every patch: address, original bytes, patched - bytes, and a one-line description. - -### Task 9: Written Reflection (short answers, 150 words or less each) - -1. Why is "the build was rushed under emergency pressure" not an acceptable - excuse for shipping a firmware defect that could dispatch a train into a - block occupied by rescue crews? -2. Name one concrete engineering practice (review, static analysis, - hardware-in-the-loop test, signature verification, etc.) that would have - caught **each** of the four graded bugs before this image reached the - fleet, and one practice that would have stopped the corrupted image from - **running** at all. - ---- - -## How To Breadboard - -- Connect the Pico 2 micro-USB port directly to the host computer. The - relay enumerates as a USB-CDC virtual COM device. -- Open the end-of-line tool of your choice at `115200 8N1`. -- Connect the supplied SWD probe to the debug header according to its - documented pinout for GDB access. -- Use **3.3 V logic only** on the debug header. Never connect a 5 V line to - a Pico GPIO. - -The supplied image is `CTF-02.bin` (for Ghidra analysis) and -`CTF-02.uf2` (for flashing). If your instructor supplies different -filenames, record the actual filenames in your report. - -Flash using BOOTSEL mode (hold BOOT, plug in USB) and copy the UF2 onto the -`RP2350` mass-storage drive, or use `picotool`. - ---- - -## Memory Map Reference - -| Region | Address | Purpose | -|--------|---------|---------| -| Bootrom | `0x00000000` | Immutable boot code | -| Flash/XIP | `0x10000000` | Vector table, code, rodata, `.data` init image | -| SRAM | `0x20000000` | Stack and writable state | - ---- - -## Submission Format - -Submit a folder containing: - -- `CTF-02-Answers.md`; -- screenshots or terminal transcripts; -- `CTF-02_fixed.bin` and `CTF-02_fixed.uf2`; -- the original image hash. - ---- - -## Success Criteria - -You complete the challenge when you can prove all of the following: - -- You can explain how the RP2350 reaches the relay's code from reset. -- You can locate and patch both copies of the miscalibrated threshold. -- You can locate and patch the false TRACK string without corrupting - adjacent data. -- You can locate and patch the corrupted block-length double in the data - image. -- You can locate and patch the corrupted ARX seed and explain why the - runtime-derived key misses its spec. -- You can capture and correct the derived key live in GDB and verify with a - watchpoint. -- You can authenticate through the Ouroboros gate with the correct phrase - and describe the crypto pipeline accurately, including the honest - quantum boundary. -- You can export, convert, flash, and prove the corrected behavior on real - hardware. - ---- - -## Academic Integrity - -By submitting this CTF work, you certify that: - -1. You used only the supplied training relay, image, and lab interface. -2. You did not connect the challenge to a public network, an operational - railway, a metro system, or any third-party device. -3. You understand that embedded reverse engineering and binary patching - require explicit authorization in any real-world context. -4. You will report any discovered weakness responsibly to the course - instructor. - -The world is short on people who can do this work. Treat that -responsibility seriously: verify before you patch, patch before you trust, -and never confuse a clean-looking status line with a safe system. - ---- - -## Reference Material - -- ARM Cortex-M33 Technical Reference Manual -- RP2350 datasheet -- GDB documentation -- Ghidra documentation: [https://ghidra-sre.org/](https://ghidra-sre.org/) -- Strict Ouroboros reference construction (v0.1.0), the published source of - this firmware's gate, with an honest threat model: - [https://github.com/mytechnotalent/encryption-c-rp2350](https://github.com/mytechnotalent/encryption-c-rp2350) -- Reference gate firmware image (v0.1.0 release): - [https://github.com/mytechnotalent/encryption-c-rp2350/releases/download/v0.1.0/encryption_app.uf2](https://github.com/mytechnotalent/encryption-c-rp2350/releases/download/v0.1.0/encryption_app.uf2) -- PHC reference Argon2: [https://github.com/P-H-C/phc-winner-argon2](https://github.com/P-H-C/phc-winner-argon2) diff --git a/0x0017a_ctf/CTF-02-I.pdf b/0x0017a_ctf/CTF-02-I.pdf deleted file mode 100644 index 9212a65daabae4769ff8091edb1d0b4826839cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488352 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 diff --git a/0x0017a_ctf/CTF-02-R.md b/0x0017a_ctf/CTF-02-R.md deleted file mode 100644 index c8d392a..0000000 --- a/0x0017a_ctf/CTF-02-R.md +++ /dev/null @@ -1,276 +0,0 @@ -# Operation Copperhead - Requirements & Grading Criteria - -``` -+----------------------------------------------------------------------------------------+ -| | -| ██████╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗████████╗ █████╗ ██████╗ ████████╗ | -| ██╔══██╗██║ ██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝ | -| ██████╔╝██║ ███████║██║ █████╔╝ ███████╗ ██║ ███████║██████╔╝ ██║ | -| ██╔══██╗██║ ██╔══██║██║ ██╔═██╗ ╚════██║ ██║ ██╔══██║██╔══██╗ ██║ | -| ██████╔╝███████╗██║ ██║╚██████╗██║ ██╗███████╗ ██║ ██║ ██║██║ ██║ ██║ | -| ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝██║ ██║╚══════╝ ╚═╝ ╚═╝ ╚═╝██║ ██║ ██║ | -| | -| | -| O P E R A T I O N C O P P E R H E A D | -| | -| REQUIREMENTS & GRADING CRITERIA | -| | -+----------------------------------------------------------------------------------------+ -``` - ---- - -## Project Overview - -Students are the reverse-engineering reserve team called in after DEEPLINE -Metro Authority's rebuilt DEEPLINE-AUTH relay image shipped four corrupted -engineering constants: a miscalibrated release threshold, a false TRACK banner -string, an overstated block length, and a poisoned ARX signal seed. Students -reverse engineer `CTF-02.bin` with Ghidra, patch all four defects, capture the -runtime-derived signal key live in GDB, recover the Ouroboros authority frame, -export a corrected image, flash it to real hardware, and prove the corrected -behavior on a physical Pico 2. - -The challenge is a standalone capstone exercise and contains no answer, -constant, address, bug, or patch belonging to any other course assignment. - ---- - -## Learning Objectives - -- Decode an ARM Cortex-M33 vector and boot table and identify the reset handler - and initial stack pointer. -- Translate Thumb reset-vector addresses into real function entry points and - trace literal-pool entries to their data. -- Locate four corrupted constants: a boundary comparison, a status string, an - 8-byte IEEE-754 double, and an ARX signal seed. -- Capture a runtime-derived key with GDB, override a register, and set a - watchpoint on stored SRAM state. -- Recover and authenticate an Argon2id plus XChaCha20-Poly1305 authority frame. - -Students must use only Weeks 1-8 concepts: ARM registers, stack behavior, -USB-CDC output, GDB, Ghidra static analysis and binary patching, vector tables, -reset startup, XIP, Thumb addressing, data segments and literal pools, -condition-code analysis, runtime key derivation, and the Argon2id plus -XChaCha20-Poly1305 authenticated gate. - ---- - -## Deliverables Checklist - -| # | Deliverable | Format | Criterion | -|---|-------------|--------|-----------| -| 1 | Ghidra project screenshot | PNG/JPG | 1.1 | -| 2 | Vector table and boot table | Inside `CTF-02-Answers.md` | 1.2 | -| 3 | `main()` and status-loop table | Inside `CTF-02-Answers.md` | 1.3 | -| 4 | Literal pool trace | Inside `CTF-02-Answers.md` | 1.4 | -| 5 | Bug #1 evidence and patches | Inside `CTF-02-Answers.md` | 2.1-2.4 | -| 6 | Bug #2 evidence and patch | Inside `CTF-02-Answers.md` | 3.1-3.4 | -| 7 | Bug #3 evidence and patch | Inside `CTF-02-Answers.md` | 4.1-4.3 | -| 8 | Bug #4 evidence and patch | Inside `CTF-02-Answers.md` | 5.1-5.4 | -| 9 | GDB register capture | Inside `CTF-02-Answers.md` | 6.1-6.4 | -| 10 | Ouroboros gate recovery and auth | Inside `CTF-02-Answers.md` | 7.1-7.4 | -| 11 | `CTF-02_fixed.bin` | BIN file | 8.1 | -| 12 | `CTF-02_fixed.uf2` | UF2 file | 8.2 | -| 13 | Corrected console transcript | Inside `CTF-02-Answers.md` | 8.3 | -| 14 | Summary table of all patches | Inside `CTF-02-Answers.md` | 8.4 | -| 15 | Written reflection | Inside `CTF-02-Answers.md` | 9.1-9.2 | - ---- - -## Required Tools and Equipment - -| Tool | Purpose | -|------|---------| -| Raspberry Pi Pico 2 | Isolated target | -| USB-CDC virtual serial console | Observe output and type the gate passphrase | -| SWD debug probe | GDB inspection | -| Ghidra | Static analysis and binary patching | -| GDB | Dynamic analysis and register capture | -| Python (`uf2conv.py`) | UF2 conversion | -| `CTF-02.bin` and `CTF-02.uf2` | Supplied artifacts | - -Console settings: **USB-CDC virtual COM port, 115200 baud, 8 data bits, no -parity, 1 stop bit**. - ---- - -## Artifact Identity - -The instructor-issued artifact hashes are: - -```text -CTF-02.bin 85330C37CD0897746B1AF447E4BAC371DDE2042ABD2D61D58A61FE2A8EEF3537 -CTF-02.uf2 F3CD4840260DB820D792758CECACC5297BEF1971B9EACF7601279256D8AF1EAB -``` - ---- - -## Grading Rubric - Detailed Breakdown - -### Task 1: Setup and Initial Analysis (12 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 1.1: Ghidra Project Setup | 3 | Correct project name, `ARM:LE:32:Cortex` (ARM Cortex 32-bit little endian), base `0x10000000` | One item off | Not set up | -| Criterion 1.2: Vector Table Decoding | 3 | Correct base, initial SP, reset pointer | One missing | Not found | -| Criterion 1.3: main() and Status-Loop Addresses | 4 | Both addresses correct | One correct | Neither found | -| Criterion 1.4: Thumb Addressing and Literal Pool | 2 | Bit 0 cleared and one pool entry traced to its string | Partial | Incorrect | - -### Task 2: Find and Patch Bug #1: The Miscalibrated Release Threshold (15 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 2.1: Locate Compare Sites A and B | 6 | Both addresses and original bytes | One site | Not found | -| Criterion 2.2: Correct Immediate-Value Reasoning | 4 | Explains the `<` to `<=` transform and gives `0x3B` | Correct value, no reasoning | Wrong value | -| Criterion 2.3: Patch Compare Sites A and B | 4 | Both byte changes verified | One site | Not patched | -| Criterion 2.4: Explain Why Both Sites Must Be Patched | 1 | Clear explanation of the two independent comparisons | Vague | Missing | - -### Task 3: Find and Patch Bug #2: The False TRACK Banner (10 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 3.1: Locate the Banner String | 3 | Correct address and cross-reference | Approximate | Not found | -| Criterion 3.2: Patch Six Characters | 4 | All six bytes changed, length preserved | Correct text, wrong bytes documented | Wrong length | -| Criterion 3.3: Character-by-Character Documentation | 2 | Original vs patched byte for all six characters | Partial | Missing | -| Criterion 3.4: Explain the Danger of a Hardcoded Status Word | 1 | Clear, specific reasoning | Generic | Missing | - -### Task 4: Find and Patch Bug #3: The Block Length Constant (10 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 4.1: Locate the .data Double | 3 | Correct address traced from the BLOCK LENGTH print | Approximate | Not found | -| Criterion 4.2: IEEE-754 Bytes and Print Math | 4 | Original and patched 8-byte double with print math (3200 M to 320 M) | Correct patch, no math | Wrong bytes | -| Criterion 4.3: Patch to Print 320 M | 3 | Console shows `BLOCK LENGTH: 320 M` | Wrong bytes | Not patched | - -### Task 5: Find and Patch Bug #4: The Signal Seed (15 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 5.1: Locate SIGNAL_SPEC and the Seed | 5 | `0x2D879291` located and wrong seed `0x0A0A0A0A` found | Partial | Not found | -| Criterion 5.2: Patch the Seed | 4 | Seed bytes changed to `74 65 20 6B` | Wrong byte | Not patched | -| Criterion 5.3: Explain the ARX Derivation | 3 | Correct trace of the per-cycle derivation | Vague | Missing | -| Criterion 5.4: Separate the Security Layers | 3 | Correctly explains what the seed fixes versus the gate | Generic | Missing | - -### Task 6: GDB Register Capture of the Derived Key (15 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 6.1: Breakpoint at the Derive Return | 4 | Correct address and `$r0` read as the bug-derived key | Address off | Not found | -| Criterion 6.2: Inspect the Two Arguments | 4 | Live seed and derived IV captured at the second call | One correct | Missing | -| Criterion 6.3: Override the Register | 4 | `$r0` set to `0x2D879291` and the next cycle shows `OK` | Partial | Missing | -| Criterion 6.4: Watchpoint on the Stored Key | 3 | Watchpoint on the SRAM key location documented | Approximate | Missing | - -### Task 7: Recover the Ouroboros Authority Frame (10 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 7.1: Locate Salt, Nonce, Ciphertext, and Tag | 4 | All three addresses correct in flash | Two correct | Not found | -| Criterion 7.2: Document Argon2id Parameters and Payload Contract | 2 | Correct memory/time/parallelism and payload layout | Partial | Missing | -| Criterion 7.3: Authenticate with the 12-Word Passphrase | 2 | `AUTHORITY FRAME: VERIFIED`, LED on, payload printed | Partial | Not shown | -| Criterion 7.4: State the Honest Quantum Boundary | 2 | Grover halves symmetric exponents; not strict PQC | Generic | Misstates | - -### Task 8: Export and Verify (8 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 8.1: Export CTF-02_fixed.bin | 1 | Valid patched binary | Corrupted | Not submitted | -| Criterion 8.2: Convert to CTF-02_fixed.uf2 | 1 | Correct base and family flags | Wrong flags | Not submitted | -| Criterion 8.3: Hardware Verification | 4 | Corrected console output confirmed (CRITICAL/HELD in 2s stream; DANGER at boot/Ghidra) | Some lines corrected | No verification | -| Criterion 8.4: Summary Table of All Patches | 2 | Complete address and before/after table | Missing entries | No table | - -### Task 9: Written Reflection (5 points) - -| Criterion | Points | Full credit | Partial credit | No credit | -|-----------|--------|-------------|----------------|-----------| -| Criterion 9.1: "Rushed Build" Is Not an Excuse | 2 | Specific, grounded reasoning | Generic | Missing | -| Criterion 9.2: One Engineering Practice per Failure Area | 3 | Concrete practices for the bugs and for image authenticity | Names some | Missing | - ---- - -## Common Pitfalls - -| Pitfall | Consequence | Avoidance | -|---------|-------------|-----------| -| Patching only one threshold site | One status line still lies | Patch both `0x10000302` and `0x10000312` | -| Assuming the immediate equals the limit | Off-by-one, wrong boundary | Use `0x3B` (59), not `0x3C` (60) | -| Using Patch Instruction before IT block | Re-disassembler context conflict swallows Site B | In Listing press `C` -> edit byte in Bytes window (pencil) -> press `D` | -| Missing boot banner in serial terminal | PuTTY misses one-time 5ms boot banner | Pulse RUN to GND while connected to capture | -| Replacing a string with a different length | Corrupts adjacent flash | `NORMAL` and `DANGER` are both 6 bytes | -| Treating the block length as an integer | Misses the 8-byte double | Follow the value into `.data`, decode IEEE-754 | -| Using the wrong 0.32 bytes | Prints 316 M instead of 320 M | Use `7B 14 AE 47 E1 7A D4 3F` | -| Treating an odd vector address as invalid | Thumb analysis fails | Clear bit 0 | -| Starting the seed patch at the wrong offset | Wrong seed, key never matches | Seed is at `0x1000EC70` | - ---- - -## How To Breadboard - -- **Raspberry Pi Pico 2** powered over USB. -- **USB-CDC virtual serial console:** open the Pico's COM port at 115200 baud, - 8 data bits, no parity, 1 stop bit. -- **SWD debug probe:** connect SWCLK, SWDIO, GND, and 3.3 V to the Pico debug - header for GDB inspection and register capture. -- No other peripherals are required; the authority LED is on-board. - ---- - -## Memory Map Reference - -| Region | Address | Purpose | -|--------|---------|---------| -| Bootrom | `0x00000000` | Immutable boot code | -| Flash/XIP | `0x10000000` | Vector table, code, rodata, `.data` init image | -| SRAM | `0x20000000` | Stack and writable state | - ---- - -## Deadline & Submission - -- Create a folder containing the Ghidra screenshot, `CTF-02_fixed.bin`, and - `CTF-02_fixed.uf2`. -- Write all written answers in a single file named `CTF-02-Answers.md` inside that - folder. -- ZIP the folder as `lastname-firstname-CTF-02.zip`. -- Submit the ZIP before the posted deadline; late submissions lose 10 percent - per day. - ---- - -## Grade Scale - -| Grade | Percentage | Points | -|-------|------------|--------| -| A+ | 97-100% | 97-100 | -| A | 93-96% | 93-96 | -| A- | 90-92% | 90-92 | -| B+ | 87-89% | 87-89 | -| B | 84-86% | 84-86 | -| B- | 80-83% | 80-83 | -| C | 70-79% | 70-79 | -| F | 0-69% | 0-69 | - ---- - -## Academic Integrity - -Use only the supplied Pico 2 and firmware. Do not connect the exercise to an -operational railway, metro system, public network, military system, or -third-party device. This is a controlled, isolated educational exercise. All -analysis and patches must be your own work; sharing binaries, addresses, keys, -passphrases, or answers is a violation of the academic integrity policy. - ---- - -## Reference Material - -| Topic | Reference | -|-------|-----------| -| ARM Cortex-M33 registers and stack | Week 1 | -| USB-CDC output and console capture | Week 2 | -| Vector tables, reset startup, and XIP | Week 2 | -| Ghidra static analysis and binary patching | Week 3 | -| Data segments, literal pools, IEEE-754 | Week 4 | -| Condition-code analysis | Week 5 | -| Runtime key derivation and GDB register capture | Week 6 | -| Argon2id and XChaCha20-Poly1305 authenticated gate | Week 8 | diff --git a/0x0017a_ctf/CTF-02-R.pdf b/0x0017a_ctf/CTF-02-R.pdf deleted file mode 100644 index a8cde102a9c3e64975d0b1f28d1b19f75f460dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370895 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�t9LN%@=-Rj^PlIo0xYjg~p#cIpL~oZAw$ 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ⅆ`9A|Y$(+@eet$4>2 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%0DARIwq-!Ws~ojYgimM&S`d4k;HIgalT?L4~ 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

    {&UHyS<_}G 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 diff --git a/0x0017a_ctf/CTF-02-S.md b/0x0017a_ctf/CTF-02-S.md deleted file mode 100644 index 310a619..0000000 --- a/0x0017a_ctf/CTF-02-S.md +++ /dev/null @@ -1,652 +0,0 @@ -# Operation Copperhead - Instructor Solution Key - -``` -+----------------------------------------------------------------------------------------+ -| | -| ██████╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗████████╗ █████╗ ██████╗ ████████╗ | -| ██╔══██╗██║ ██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝ | -| ██████╔╝██║ ███████║██║ █████╔╝ ███████╗ ██║ ███████║██████╔╝ ██║ | -| ██╔══██╗██║ ██╔══██║██║ ██╔═██╗ ╚════██║ ██║ ██╔══██║██╔══██╗ ██║ | -| ██████╔╝███████╗██║ ██║╚██████╗██║ ██╗███████╗ ██║ ██║ ██║██║ ██║ ██║ | -| ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝██║ ██║╚══════╝ ╚═╝ ╚═╝ ╚═╝██║ ██║ ██║ | -| | -| | -| O P E R A T I O N C O P P E R H E A D | -| | -| *** INSTRUCTOR SOLUTION KEY: RESTRICTED *** | -| | -+----------------------------------------------------------------------------------------+ -``` - -> The task and criterion headings in this key are word-for-word identical to -> `CTF-02-R.md`, so a student can match each criterion one-to-one. - ---- - -## Artifact Identity - -| Artifact | Value | -|----------|-------| -| Student image | `CTF-02.bin` | -| Flash image | `CTF-02.uf2` | -| Target | Raspberry Pi Pico 2 / RP2350 ARM Cortex-M33 | -| Image base | `0x10000000` | -| Console | USB-CDC virtual COM, 115200 8N1 | - -```text -CTF-02.bin 85330C37CD0897746B1AF447E4BAC371DDE2042ABD2D61D58A61FE2A8EEF3537 -CTF-02.uf2 F3CD4840260DB820D792758CECACC5297BEF1971B9EACF7601279256D8AF1EAB -``` - -Proof tool: `python3 scripts/verify_ctf.py` returns `26/26 checks passed` against -`CTF-02.bin`. - ---- - -## Task 1: Setup and Initial Analysis (12 points) - -### Solution - -**Criterion 1.1: Ghidra Project Setup (3 points).** Import `CTF-02.bin` as -`Raw Binary`, language `ARM:LE:32:Cortex`, base address `0x10000000`, then run -auto-analysis. - -**Criterion 1.2: Vector Table Decoding (3 points).** -First 32 bytes of `CTF-02.bin`: - -```text -00 20 08 20 5B 01 00 10 1B 01 00 10 1D 01 00 10 -11 01 00 10 11 01 00 10 11 01 00 10 11 01 00 10 -``` - -| Evidence | Answer | -|----------|--------| -| Vector table base | `0x10000000` | -| Initial SP | `0x20082000` | -| Reset pointer (as stored) | `0x1000015B` | -| Reset instruction address | `0x1000015A` | - -**Criterion 1.3: main() and Status-Loop Addresses (4 points).** - -| Element | Address | -|---------|---------| -| `main()` | `0x100002E8` | -| Recurring status loop start | `0x1000034C` | -| Loop back-edge (`b.n 0x1000034C`) | `0x1000044E` | - -**Criterion 1.4: Thumb Addressing and Literal Pool (2 points).** -The stored reset pointer `0x1000015B` has bit 0 set, selecting Thumb mode. -Clearing bit 0 gives `0x1000015A`. A representative literal pool entry is -`0x100004B4`, which holds `0x1000C4C8`, the address of the format string -`"BLOCK STATE: %s"`, loaded by `ldr r0, [pc, #308]` at `0x1000037C`. - -**Supporting Reference: SRAM Symbols (Ghidra names to semantic roles).** - -| Ghidra Label | SRAM Address | Section | Role | Source Symbol | -|--------------|--------------|---------|------|---------------| -| `DAT_20001188` | `0x20001188` | `.data` | Block length double | `g_telemetry` | -| `DAT_20001198` | `0x20001198` | `.data` | Signal key seed | `g_auth_seed` | -| `DAT_2000119C` | `0x2000119C` | `.data` | Track current | `g_block_current` | -| `DAT_20001ECC` | `0x20001ECC` | `.bss` | Dispatch state | `g_dispatch_state` | -| `DAT_20001ED0` | `0x20001ED0` | `.bss` | Fault poll counter | `g_fault_polls` | -| `DAT_20001ED4` | `0x20001ED4` | `.bss` | Input line buffer | `g_linebuf` | -| `DAT_200020D4` | `0x200020D4` | `.bss` | Input write index | `g_lineidx` | -| `DAT_200020D8` | `0x200020D8` | `.bss` | Operator state | `g_operator_state` | -| `DAT_200020DC` | `0x200020DC` | `.bss` | Derived signal key | `g_signal_key` | - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 1.1: Ghidra Project Setup | 3 | Correct project name, `ARM:LE:32:Cortex` (ARM Cortex 32-bit little endian), base `0x10000000` | One item off | Not set up | -| Criterion 1.2: Vector Table Decoding | 3 | Correct base, initial SP, reset pointer | One missing | Not found | -| Criterion 1.3: main() and Status-Loop Addresses | 4 | Both addresses correct | One correct | Neither found | -| Criterion 1.4: Thumb Addressing and Literal Pool | 2 | Bit 0 cleared and one pool entry traced to its string | Partial | Incorrect | - -### Instructor Notes & Assembly - -- Confirm the Ghidra import used `Raw Binary`, `ARM:LE:32:Cortex`, base - `0x10000000`, and that auto-analysis completed before any address was read. -- Verify `main()` is `0x100002E8`, the loop head is `0x1000034C`, and the - back-edge is `0x1000044E`. -- For Criterion 1.4, accept any correctly traced literal pool entry; the pool - entry `0x100004B4` holding `0x1000C4C8` (`"BLOCK STATE: %s"`, loaded at - `0x1000037C`) is the reference example. -- The SRAM symbol table is supporting reference material, not a separate - scored criterion. - ---- - -## Task 2: Find and Patch Bug #1: The Miscalibrated Release Threshold (15 points) - -### Solution - -**Criterion 2.1: Locate Compare Sites A and B (6 points).** - -```text -10000302: 2b5e cmp r3, #94 @ 0x5e -10000312: 2b5e cmp r3, #94 @ 0x5e -``` - -| Site | Address | File Offset | Original Bytes | Original Instruction | -|------|---------|-------------|----------------|----------------------| -| A | `0x10000302` | `0x0302` | `5E 2B` | `cmp r3, #94` | -| B | `0x10000312` | `0x0312` | `5E 2B` | `cmp r3, #94` | - -**Criterion 2.2: Correct Immediate-Value Reasoning (4 points).** -The source constant is `SAFE_THRESHOLD = 95` and the test is `x < 95`. For an -unsigned value, `x < 95` is exactly `x <= 94`, so the compiler emits -`cmp r3, #94`. The correct limit is `60`, so the test is `x < 60`, which is -`x <= 59`. The correct patched immediate is **`0x3B` (59)**, not `0x3C` (60). - -**Criterion 2.3: Patch Compare Sites A and B (4 points).** - -| Site | Address | File Offset | Original | Patched | After | -|------|---------|-------------|----------|---------|-------| -| A | `0x10000302` | `0x0302` | `5E 2B` | `3B 2B` | `cmp r3, #59` | -| B | `0x10000312` | `0x0312` | `5E 2B` | `3B 2B` | `cmp r3, #59` | - -**Criterion 2.4: Explain Why Both Sites Must Be Patched (1 point).** -Site A drives the `BLOCK STATE` line and site B drives the `AUTO TRAIN` -decision. Patching only site A makes the console read `CRITICAL` while the -automated dispatch still says `AUTHORIZED`. Frozen reading `87`: `87 <= 94` is -true (wrong); `87 <= 59` is false (correct). - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 2.1: Locate Compare Sites A and B | 6 | Both addresses and original bytes | One site | Not found | -| Criterion 2.2: Correct Immediate-Value Reasoning | 4 | Explains the `<` to `<=` transform and gives `0x3B` | Correct value, no reasoning | Wrong value | -| Criterion 2.3: Patch Compare Sites A and B | 4 | Both byte changes verified | One site | Not patched | -| Criterion 2.4: Explain Why Both Sites Must Be Patched | 1 | Clear explanation of the two independent comparisons | Vague | Missing | - -### Instructor Notes & Assembly - -- Both sites must be patched: `0x10000302` for `BLOCK STATE` and `0x10000312` - for the `AUTO TRAIN` decision. -- The correct immediate is `0x3B` (59), not `0x3C` (60). -- Verify the byte changes on hardware; the corrected console reads `CRITICAL` - and `HELD`. -- **Ghidra ARM/Thumb Context Note:** In raw `.bin` files, patching an instruction - that precedes an `IT` block (`ite ge`) using the GUI *Patch Instruction* action - triggers Ghidra's `ReDisassembleCommand`. The re-disassembler encounters an - internal context register conflict when trying to re-declare the `ITBlock` - context over existing instructions, collapsing Thumb decoding into 32-bit ARM - mode and swallowing Site B (`0x10000312`). Students must patch using the Bytes - window workflow (Clear `C` -> edit byte `5E` -> `3B` in Bytes window with pencil - icon -> Disassemble `D`) to keep Site B visible and cleanly aligned. - ---- - -## Task 3: Find and Patch Bug #2: The False TRACK Banner (10 points) - -### Solution - -**Criterion 3.1: Locate the Banner String (3 points).** - -| String | Address | -|--------|---------| -| `"TRACK: NORMAL\r"` | `0x1000C4B8` | -| `"NORMAL"` substring to patch | `0x1000C4BF` | - -The string is loaded in `main` and printed once at boot; it never reads the -sensor. - -**Criterion 3.2: Patch Six Characters (4 points).** -`NORMAL` and `DANGER` are both six ASCII characters, so the patch preserves the -length. - -| Address Range | Original Bytes | Patched Bytes | -|---------------|----------------|---------------| -| `0x1000C4BF` - `0x1000C4C4` | `4E 4F 52 4D 41 4C` | `44 41 4E 47 45 52` | - -**Criterion 3.3: Character-by-Character Documentation (2 points).** - -| Address | Original Char | Original Byte | Patched Char | Patched Byte | -|---------|---------------|---------------|--------------|--------------| -| `0x1000C4BF` | N | `4E` | D | `44` | -| `0x1000C4C0` | O | `4F` | A | `41` | -| `0x1000C4C1` | R | `52` | N | `4E` | -| `0x1000C4C2` | M | `4D` | G | `47` | -| `0x1000C4C3` | A | `41` | E | `45` | -| `0x1000C4C4` | L | `4C` | R | `52` | - -**Criterion 3.4: Explain the Danger of a Hardcoded Status Word (1 point).** -The banner never consults the reading, so it reports a healthy track even while -the frozen reading is dangerous, masking the hazard from the operator. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 3.1: Locate the Banner String | 3 | Correct address and cross-reference | Approximate | Not found | -| Criterion 3.2: Patch Six Characters | 4 | All six bytes changed, length preserved | Correct text, wrong bytes documented | Wrong length | -| Criterion 3.3: Character-by-Character Documentation | 2 | Original vs patched byte for all six characters | Partial | Missing | -| Criterion 3.4: Explain the Danger of a Hardcoded Status Word | 1 | Clear, specific reasoning | Generic | Missing | - -### Instructor Notes & Assembly - -- `NORMAL` and `DANGER` are both six characters; the patch must not change the - string length or overwrite adjacent flash. -- Confirm the patch covers `0x1000C4BF` through `0x1000C4C4` exactly. -- The banner is printed once at boot and never recomputed, so it is a separate - defect from the threshold. - ---- - -## Task 4: Find and Patch Bug #3: The Block Length Constant (10 points) - -### Solution - -**Criterion 4.1: Locate the .data Double (3 points).** -The console prints `BLOCK LENGTH: 3200 M` from the format string at -`0x1000C4F0`. The value is a `double` in the `.data` init image at -`0x1000EC60` (loaded into `0x20001188` at boot). - -**Criterion 4.2: IEEE-754 Bytes and Print Math (4 points).** -Eight bytes at `0x1000EC60`: - -```text -9A 99 99 99 99 99 09 40 -> 0x400999999999999A -> 3.2 km -> 3200 m -7B 14 AE 47 E1 7A D4 3F -> 0x3FD47AE147AE147B -> 0.32 km -> 320 m -``` - -**Criterion 4.3: Patch to Print 320 M (3 points).** - -| File Offset Range | Flash Address Range | Original Bytes | Patched Bytes | -|-------------------|---------------------|----------------|---------------| -| `0xEC60` - `0xEC67` | `0x1000EC60` - `0x1000EC67` | `9A 99 99 99 99 99 09 40` | `7B 14 AE 47 E1 7A D4 3F` | - -At `0x1000EC68` the adjacent telemetry fields (`03 00 00 00` flags and `07 00` -crossing) are left untouched. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 4.1: Locate the .data Double | 3 | Correct address traced from the BLOCK LENGTH print | Approximate | Not found | -| Criterion 4.2: IEEE-754 Bytes and Print Math | 4 | Original and patched 8-byte double with print math (3200 M to 320 M) | Correct patch, no math | Wrong bytes | -| Criterion 4.3: Patch to Print 320 M | 3 | Console shows `BLOCK LENGTH: 320 M` | Wrong bytes | Not patched | - -### Instructor Notes & Assembly - -- The value is an 8-byte IEEE-754 double, not an integer. Follow the - `BLOCK LENGTH` print into `.data` at `0x1000EC60`. -- The patched bytes `7B 14 AE 47 E1 7A D4 3F` decode to `0.32 km` (`320 m`). -- Confirm the adjacent telemetry fields at `0x1000EC68` (`03 00 00 00` and - `07 00`) are left untouched. - ---- - -## Task 5: Find and Patch Bug #4: The Signal Seed (15 points) - -### Solution - -**Criterion 5.1: Locate SIGNAL_SPEC and the Seed (5 points).** -The SIMPLE comparison in the loop is at `0x100003A6`: - -```text -100003a6: 4559 cmp r1, fp ; fp = SIGNAL_SPEC = 0x2D879291 (pool 0x100004FC) -``` - -The corrupted seed is a `0x0A0A0A0A` word in the `.data` init image at -`0x1000EC70` (loaded into `0x20001198` at boot). The byte values `0A 0A 0A 0A` -also appear in the `tbb` jump table at `0x100003D4`; those are not the seed. - -**Criterion 5.2: Patch the Seed (4 points).** -The required seed is the ChaCha expand word `0x6B206574` (`"te k"`), stored -little-endian as `74 65 20 6B`. - -| File Offset Range | Flash Address Range | Original Bytes | Patched Bytes | -|-------------------|---------------------|----------------|---------------| -| `0xEC70` - `0xEC73` | `0x1000EC70` - `0x1000EC73` | `0A 0A 0A 0A` | `74 65 20 6B` | - -**Criterion 5.3: Explain the ARX Derivation (3 points).** -`derive_session_key(seed, iv)` works exactly like this: - -1. Set `a = seed`, `b = iv`, `c = 0x61707865`, `d = 0x3320646E`. -2. Run four ChaCha quarter-rounds. A quarter-round runs four phases with rotate - amounts 16, 12, 8, 7. Each phase is: `a = a + b; d = d XOR a; - d = rotate_left(d, s); c = c + d; b = b XOR c; b = rotate_left(b, s)`. -3. Return `a XOR d`. - -The runtime IV is `derive_session_key(0x6B206574, 0) = 0x43C974F6`. The shipped -seed `0x0A0A0A0A` gives `derive_session_key(0x0A0A0A0A, 0x43C974F6) = -0x915DCFF8` (MISMATCH). The honest seed `0x6B206574` gives -`derive_session_key(0x6B206574, 0x43C974F6) = 0x2D879291`, which equals -`SIGNAL_SPEC` and prints `OK`. - -**Criterion 5.4: Separate the Security Layers (3 points).** -The signal seed only controls the local `SIGNAL KEY` telemetry check. It does -not authenticate the operator. The Argon2id plus XChaCha20-Poly1305 gate is a -separate layer that requires the 12-word passphrase. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 5.1: Locate SIGNAL_SPEC and the Seed | 5 | `0x2D879291` located and wrong seed `0x0A0A0A0A` found | Partial | Not found | -| Criterion 5.2: Patch the Seed | 4 | Seed bytes changed to `74 65 20 6B` | Wrong byte | Not patched | -| Criterion 5.3: Explain the ARX Derivation | 3 | Correct trace of the per-cycle derivation | Vague | Missing | -| Criterion 5.4: Separate the Security Layers | 3 | Correctly explains what the seed fixes versus the gate | Generic | Missing | - -### Instructor Notes & Assembly - -- The seed is at `0x1000EC70` in the `.data` init image. The `0A 0A 0A 0A` - bytes in the `tbb` jump table at `0x100003D4` are not the seed. -- The patched seed `74 65 20 6B` is the little-endian form of the ChaCha expand - word `0x6B206574` (`"te k"`). -- The seed only affects the local `SIGNAL KEY` check; the Argon2id plus - XChaCha20-Poly1305 gate is a separate authentication layer. - ---- - -## Task 6: GDB Register Capture of the Derived Key (15 points) - -### Solution - -**Criterion 6.1: Breakpoint at the Derive Return (4 points).** -The per-cycle derive is `bl derive_session_key` at `0x10000352`. Break at the -next instruction, `0x10000356`, and read `$r0`. On the shipped image it is -`0x915DCFF8`. - -```gdb -(gdb) break *0x10000356 -(gdb) continue -(gdb) print/x $r0 # 0x915DCFF8 on the corrupted image -``` - -**Criterion 6.2: Inspect the Two Arguments (4 points).** -At the call entry `0x10000352`: - -| Register | Corrupted image | Meaning | -|----------|-----------------|---------| -| `$r0` | `0x0A0A0A0A` | Seed | -| `$r1` | `0x43C974F6` | Derived IV | - -**Criterion 6.3: Override the Register (4 points).** -With execution at `0x10000356`, set `$r0` to the spec key, then continue. The -next cycle prints `SIGNAL KEY: 0x2D879291 OK`. - -```gdb -(gdb) set $r0 = 0x2D879291 -(gdb) continue -``` - -**Criterion 6.4: Watchpoint on the Stored Key (3 points).** -The key is stored in SRAM at `0x200020DC` (`str r0, [r6, #0]`). - -```gdb -(gdb) watch *0x200020DC -``` - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 6.1: Breakpoint at the Derive Return | 4 | Correct address and `$r0` read as the bug-derived key | Address off | Not found | -| Criterion 6.2: Inspect the Two Arguments | 4 | Live seed and derived IV captured at the second call | One correct | Missing | -| Criterion 6.3: Override the Register | 4 | `$r0` set to `0x2D879291` and the next cycle shows `OK` | Partial | Missing | -| Criterion 6.4: Watchpoint on the Stored Key | 3 | Watchpoint on the SRAM key location documented | Approximate | Missing | - -### Instructor Notes & Assembly - -- Confirm the breakpoint is placed at `0x10000356`, the instruction after the - `bl derive_session_key` at `0x10000352`. -- On the shipped image `$r0` reads `0x915DCFF8`; `$r0` is the seed `0x0A0A0A0A` - and `$r1` is the derived IV `0x43C974F6`. -- The stored key lives at `0x200020DC`; accept the documented watchpoint. - ---- - -## Task 7: Recover the Ouroboros Authority Frame (10 points) - -### Solution - -**Criterion 7.1: Locate Salt, Nonce, Ciphertext, and Tag (4 points).** - -| Component | Flash Address | Size | -|-----------|---------------|------| -| Ciphertext + Tag | `0x1000CE94` | 64 B | -| Nonce | `0x1000CED4` | 24 B | -| Salt | `0x1000CEEC` | 16 B | - -**Criterion 7.2: Document Argon2id Parameters and Payload Contract (2 points).** -Argon2id: memory `64 KiB`, iterations `3`, parallelism `1`, output key `32 B`, -salt the 16 bytes above. XChaCha20-Poly1305 decrypts the 48-byte ciphertext with -the 16-byte tag. The plaintext is `01 68 65 6C 6C 6F 0D 0A` followed by zeros: -byte 0 turns the GPIO 25 LED on, and bytes 1 through 7 are printed as `hello` -plus carriage-return and newline. - -**Criterion 7.3: Authenticate with the 12-Word Passphrase (2 points).** -At the `RESPONSE> ` prompt, type: - -```text -orbit olive ladder marble quartz canyon ripple saddle violet ember walnut falcon -``` - -Expected result (proven on hardware): - -```text -hello -AUTHORITY FRAME: VERIFIED -``` - -**Criterion 7.4: State the Honest Quantum Boundary (2 points).** -Grover-style search halves the effective security exponent of a symmetric key, -so a 256-bit key gives about 128 bits of quantum security. The construction uses -classical symmetric and password-hashing primitives and does not implement NIST -post-quantum standards. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 7.1: Locate Salt, Nonce, Ciphertext, and Tag | 4 | All three addresses correct in flash | Two correct | Not found | -| Criterion 7.2: Document Argon2id Parameters and Payload Contract | 2 | Correct memory/time/parallelism and payload layout | Partial | Missing | -| Criterion 7.3: Authenticate with the 12-Word Passphrase | 2 | `AUTHORITY FRAME: VERIFIED`, LED on, payload printed | Partial | Not shown | -| Criterion 7.4: State the Honest Quantum Boundary | 2 | Grover halves symmetric exponents; not strict PQC | Generic | Misstates | - -### Instructor Notes & Assembly - -- Verify the three component addresses in flash: ciphertext plus tag at - `0x1000CE94`, nonce at `0x1000CED4`, salt at `0x1000CEEC`. -- The passphrase is fixed for the lab; a successful gate prints `hello` and - `AUTHORITY FRAME: VERIFIED` and lights the on-board authority LED. -- Grade Criterion 7.4 on the honest boundary: 256-bit symmetric key maps to - about 128 bits under Grover, and the design is not NIST post-quantum. - ---- - -## Task 8: Export and Verify (8 points) - -### Solution - -**Criterion 8.1: Export CTF-02_fixed.bin (1 point).** -Export the patched program from Ghidra (`File -> Export Program...`, `Binary -Format`) as `CTF-02_fixed.bin`. The shipped image is 62,308 bytes. - -**Criterion 8.2: Convert to CTF-02_fixed.uf2 (1 point).** - -```bash -python uf2conv.py CTF-02_fixed.bin --base 0x10000000 --family 0xe48bff59 --output CTF-02_fixed.uf2 -``` - -**Criterion 8.3: Hardware Verification (4 points).** - -Before patching: - -```text -DEEPLINE METRO AUTHORITY -ADAPTIVE SIGNAL WINDOW: 38 MINUTES -USB-CDC 115200 8N1 | AUTHORIZED LAB CONSOLE -TRACK: NORMAL -BLOCK STATE: STABLE -AUTO TRAIN: AUTHORIZED -BLOCK LENGTH: 3200 M -FAULT POLLS: 1 -SIGNAL KEY: 0x915DCFF8 MISMATCH -RESPONSE> -``` - -After all four patches: - -```text -DEEPLINE METRO AUTHORITY -ADAPTIVE SIGNAL WINDOW: 38 MINUTES -USB-CDC 115200 8N1 | AUTHORIZED LAB CONSOLE -TRACK: DANGER -BLOCK STATE: CRITICAL -AUTO TRAIN: HELD -BLOCK LENGTH: 320 M -FAULT POLLS: 1 -SIGNAL KEY: 0x2D879291 OK -RESPONSE> -``` - -**Criterion 8.4: Summary Table of All Patches (2 points).** - -| # | Bug | File Offset | Flash Address | Original Bytes | Patched Bytes | -|---|-----|-------------|---------------|----------------|---------------| -| 1a | Operator threshold | `0x0302` | `0x10000302` | `5E 2B` | `3B 2B` | -| 1b | Dispatch threshold | `0x0312` | `0x10000312` | `5E 2B` | `3B 2B` | -| 2 | TRACK banner | `0xC4BF` - `0xC4C4` | `0x1000C4BF` - `0x1000C4C4` | `4E 4F 52 4D 41 4C` | `44 41 4E 47 45 52` | -| 3 | Block length | `0xEC60` - `0xEC67` | `0x1000EC60` - `0x1000EC67` | `9A 99 99 99 99 99 09 40` | `7B 14 AE 47 E1 7A D4 3F` | -| 4 | Signal seed | `0xEC70` - `0xEC73` | `0x1000EC70` - `0x1000EC73` | `0A 0A 0A 0A` | `74 65 20 6B` | - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 8.1: Export CTF-02_fixed.bin | 1 | Valid patched binary | Corrupted | Not submitted | -| Criterion 8.2: Convert to CTF-02_fixed.uf2 | 1 | Correct base and family flags | Wrong flags | Not submitted | -| Criterion 8.3: Hardware Verification | 4 | Corrected console output confirmed on hardware | Some lines corrected | No verification | -| Criterion 8.4: Summary Table of All Patches | 2 | Complete address and before/after table | Missing entries | No table | - -### Instructor Notes & Assembly - -- Verify the exported image with `python3 scripts/verify_ctf.py`; the shipped - check expects `26/26 checks passed` against `CTF-02.bin`. -- Confirm the UF2 conversion used base `0x10000000` and family `0xe48bff59`. -- **Serial Terminal Timing:** Note that `print_identity()` (`TRACK: NORMAL`) - fires within the first 5 milliseconds of boot. In normal lab usage, PuTTY - attaches after boot and will display the continuous 2-second status loop - (`BLOCK STATE: CRITICAL`, `AUTO TRAIN: HELD`). To see the corrected banner, - the student must pulse `RUN` to `GND` while PuTTY is open, or demonstrate - the string change at `0x1000C4BF` via Ghidra static analysis. -- The shipped image is 62,308 bytes; confirm the exported corrected image is a - valid patched binary with all four fixes present. - ---- - -## Task 9: Written Reflection (5 points) - -### Solution - -**Criterion 9.1: "Rushed Build" Is Not an Excuse (2 points).** -The rebuild shipped four constants that were never checked against their -documented limits, which is exactly what produced the false-safe reading. -Pressure explains why the checks were skipped, not why they should be skipped. - -**Criterion 9.2: One Engineering Practice per Failure Area (3 points).** -- Physical limits (Bugs #1 and #3): one shared configuration header plus a - build-time assertion that each compiled limit matches its documented value. -- Banner (Bug #2): remove static banners; a hardware-in-the-loop test that - compares displayed state to the live register. -- Seed integrity (Bug #4): reproducible builds with golden artifact hash - comparison so keys and seeds match the certified specification. -- Image authenticity: enable RP2350 hardware secure boot with OTP hash - verification so a modified image will not run. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 9.1: "Rushed Build" Is Not an Excuse | 2 | Specific, grounded reasoning | Generic | Missing | -| Criterion 9.2: One Engineering Practice per Failure Area | 3 | Concrete practices for the bugs and for image authenticity | Names some | Missing | - -### Instructor Notes & Assembly - -- Grade the specificity of the reasoning, not the length of the prose. -- Require concrete practices across the failure areas, including at least one - practice for image authenticity. - ---- - -## How To Breadboard - -- **Raspberry Pi Pico 2** powered over USB. -- **USB-CDC virtual serial console:** open the Pico's COM port at 115200 baud, - 8 data bits, no parity, 1 stop bit. -- **SWD debug probe:** connect SWCLK, SWDIO, GND, and 3.3 V to the Pico debug - header for GDB inspection and register capture. -- No other peripherals are required; the authority LED is on-board. - ---- - -## Complete Grading Summary - -| Task | Title | Points | -|------|-------|--------| -| Task 1 | Setup and Initial Analysis | 12 | -| Task 2 | Find and Patch Bug #1: The Miscalibrated Release Threshold | 15 | -| Task 3 | Find and Patch Bug #2: The False TRACK Banner | 10 | -| Task 4 | Find and Patch Bug #3: The Block Length Constant | 10 | -| Task 5 | Find and Patch Bug #4: The Signal Seed | 15 | -| Task 6 | GDB Register Capture of the Derived Key | 15 | -| Task 7 | Recover the Ouroboros Authority Frame | 10 | -| Task 8 | Export and Verify | 8 | -| Task 9 | Written Reflection | 5 | -| **TOTAL** | | **100** | - ---- - -## Instructor Notes - -Safety: Use only the supplied Pico 2, SWD probe, and firmware. Never connect the -exercise to an operational railway, metro system, public network, military -system, or third-party device. - -### Common Student Mistakes - -- Patching only one threshold site (`0x10000302` or `0x10000312`), leaving one - status line lying. -- Assuming the immediate equals the limit, producing an off-by-one boundary; - the correct byte is `0x3B` (59), not `0x3C` (60). -- Replacing the banner string with a different length, corrupting adjacent - flash; `NORMAL` and `DANGER` are both 6 bytes. -- Treating the block length as an integer and missing the 8-byte double in - `.data`. -- Using the wrong `0.32` bytes and printing `316 M` instead of `320 M`. -- Treating the odd vector address `0x1000015B` as invalid instead of clearing - bit 0 to get `0x1000015A`. -- Starting the seed patch at the wrong offset; the seed is at `0x1000EC70`. - -### Partial Credit Guidelines - -- Award partial credit for one correct threshold site out of two, or for a - correct immediate value without the `<` to `<=` reasoning. -- Award partial credit for a correct banner text with incorrectly documented - bytes, or for partial character-by-character documentation. -- Award partial credit for a correct block-length patch without the IEEE-754 - print math. -- Award partial credit for one of the two GDB argument captures, or for a - partial register override. -- Award no credit for patches that change string length or overwrite adjacent - flash. - ---- - -## Appendix: Expected Binary Diff - -| # | Bug | File Offset(s) | Flash Address(es) | Original Bytes | Patched Bytes | -|---|-----|----------------|-------------------|----------------|---------------| -| 1a | Operator threshold | `0x0302` | `0x10000302` | `5E 2B` | `3B 2B` | -| 1b | Dispatch threshold | `0x0312` | `0x10000312` | `5E 2B` | `3B 2B` | -| 2 | TRACK banner | `0xC4BF` - `0xC4C4` | `0x1000C4BF` - `0x1000C4C4` | `4E 4F 52 4D 41 4C` | `44 41 4E 47 45 52` | -| 3 | Block length | `0xEC60` - `0xEC67` | `0x1000EC60` - `0x1000EC67` | `9A 99 99 99 99 99 09 40` | `7B 14 AE 47 E1 7A D4 3F` | -| 4 | Signal seed | `0xEC70` - `0xEC73` | `0x1000EC70` - `0x1000EC73` | `0A 0A 0A 0A` | `74 65 20 6B` | - -Four defects, five changed regions: two immediate bytes (`0x3B 2B` at each -threshold), six banner bytes, eight block-length bytes, and four seed bytes. diff --git a/0x0017a_ctf/CTF-02-S.pdf b/0x0017a_ctf/CTF-02-S.pdf deleted file mode 100644 index e2c7dc877e320297d99ea7ec95225f82218338f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 717130 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

  • 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̷-yrMMfPxfC;Qn3>(|JFS1(CgnKKjFvi5EM7#0n1BC}MpWKa(UeVDuyRhUHJ{yRcDJLWNG1aaNWS zIxOQ`G<3Wbn=y9Acw)$qwnn)lQ-rjKGQZ6aUJ|g$xV(^BS==Dj5#NwYtoeJ8K%oydA?`8qp!gQPVY37}(ShQi zus%S_8dkJ(=vZIcTAd0$H-cc0SW5|@6XPgfyY>raZH^V$dTB+d9s??vt3VcEKOz!b zm=H`OT!B`DIFaTV*(i6A(9l|$8=P7B2>(y9Wpm5gFK@+1*qt%WFfyd8A?`>*GKRvN z@TYosaiRtiaWQ6gY&!x`*n=9wUVkscqx80ELYC1ieqjv|-ZOpt58h)NE09G!R7n8g zy=D;J6UwKR6qlzZ<}TMWL!ho;neDOuw20}#b>7Mt%oCbT!Id#sY|-HVTCFA=aTj)D zLM7)3Rah~2VrpHiAq>qI?qODEhX)I788X&iRFQ@g)d@oxD6dNY5#4>XSyany^`FJz z2XiI7$frpw`r`KR;r+idaG`J@A>qXkjhXFfjQej()%oFr5v#($l=fi4ltauu>naUa zOm7Ykm@g;JLI3NPL63;Q{l6j!C<_Jm;%Ll>;=IhH;ztIy@kEB{{zits)AOe1nbWdL zetk_QVSA)t8J@bp#}ue#kWZ8o2hH=%igsXu7kI*uFu(GM$I^~g1BcO}D!=QsI#Xp? z8$PP#`^(US&s$=E zV?Qj`wRjoL-F@}e&xft^&yso;;%DdEBHLD3?~h`^Tz%g)ZWrE6G53pIEZvRbx8!J- zhrP$!nASimPHxLOC>vZr$^9OV>3*Tmb^VWhRL2H+tTK>7Sjqx6c&^+cS&5 z(C{=zy0EP>j%|;9NoEAWklP;vk|6IL(%sc0FC(^k$Wni-7 zVp^}EUBz@Mj+~KdnMDo@SSXM;aixK4M|asia&W>nTd;mjEOoTXRa~&PpiYnE^o*%# zjTzfX3(R>tu6!uSk*;ehZS={vbKvr^|deKW2$#xC{0i@jJ#tD zx|9Eix{?77DEwL*UCGm}5gSvsV1OQY2{qNCK_zK-Ra%-MqowHPAEz7BNml`14u2Of zTvCi+0_Oq=kM}nSk^>{A*1dYm2pb-9Zz{xi+}k~!xs|vsV`LRZHIdr)+gSVV5EjfJIhOQa(xLfMQkjB|S$EbbA{S4<2T;Hi+ z>f<&^`|~0#A#7>a3Xo<*$JnP)v!jzMlO7oy1&UEwU$6hGBArgYf1uIl0TVcTNx6>pOf~QIqD$!bDIcOQ^_}|9izm0^1-%{uj;3)B{60~BOuBd9g zp64~ewsO5bGe7%(8vRdM%=e<<(^Is(HUE=B@*lfC2}-z3w)hoD=?2NK69%3fTK-hCPqob3Z~zJh|7NOQ`Kqw8T%x;Ar^i& zsvEB^V~!mLgeS~;JqE4Mo0Um{e}Wg9+K>da9VL|XB*Q{aCnDHaw089F>OH$ zEBMLsHzlD<33eA2VyBZv& z%Ia44%Ia2yXemovNi4XlJf!FdDk|-BV=U~a%1@?4&{jOHa2?`-93MvlFUdbr3`(Xk zx4=l`hom3CrIQ3swm`8ep;!GO%38}K#OM<2Nk;g`_P74;g7WYqnXKVE*qgx{6-&ff z9t>?Ok%gf3zadKIFEqyCch)+xouSjAzj6Zwajwjfhqy<^7r7i$$lnp z4ZUr*9ox;lg|MW<{w3e_tA5Yc{>=Skm<9WuC5^TKt;^#+2)j}z)W~zScq^(efDh|k zsi}+5=k@GbN$b91N;CZl94)z`^&BiKi|F&fVGg1o<2G*_P=1M2C{}Y(;#FV!$7*MbXBb1eK5l%x zC(8F(2SqGx5+M5s2|M+os=E@a@>NE83Ecs^f|Q1RU;5GYZ|0Wt z5?7miTZjFfN2YyQ3XZd&PwH4`t|AW*lNDT!LG3 zWRmCK=YPYDh$$OCe4>6o)Z$tf_`r;q{L>pk_S$53mhd&+_L$u_)Ao4Tf2ie|3iO6E zA?dV(#m}eQL2U%v`RRA%1J@thOJVGFOApxizzihtfdjtuhUoVI9O4@kKbFTW^ z*g(eIwFo=dEeW>hxKhw@4OJc2{Xowp#vBnIl`cEviLFr_mu^&Clzt`az=`L67}E~E zo9hmLZ1X@rb$6^KkNGH(nxTFhqSHCg=bZK{E(zeFVl31MW-|*$fqWW?+Gw?OsU`o9 z$4W>lC7|$6n$P68u6O{??#kofdum&>Qm=tQ94l4RK{2a$9RpX+q}qg_tn)wh{)y4? zo6)p&U+lELA^MP0nH<#s{K6L3VuK@O`Yk=D+cAI(8RU}o_kK3WO&z5ESi+2aZZD5SxjEEH zDUrG~^9(u<%cnTN7VqKW1i>N+6>OQWx1@+s4G2Ei_~!dLLx05l3jZ7#hyOrm!hDDs zi+B@dfq#erpgqI{V?4yrVISjV3?JiZ&>m}L{Od58+8U>QHy$*Vc@lfM)mTX-RGPK% z5-(Hyr>Vjw3tsu#++#@^DnM{#b>?@BT>NlxMKro|w4=RaalX+adh@|yg&B2OJ^_^m z>!5cDS#s<`!zVZQ-6@yDB-M!)oD@)g0$lKz}w%k((@K6Jjqg!6h^oh zV#7PpKAv~U;nW82GZwp~i+X zbdTb-r}|gS1tAgRP^ub-VE2ye1bY~ACBM_?)&0yll92^wTV`PYMK@vXwD0RsYtn9p zjl`HTb;I=ASn4_g3Tn1Qr#AUmCdFA;0@vU%Ws<1=#7G89G*SP0ETew{xxUn$%yDvl zBFB|$nozUmI3#>C0uD>Gi=Ek`l%|T~QcmAz3&ExIp%ZPPqh=y0wtcf#qX$-oMU>_w z72Csocx`wwRzrWIHT(`?JZ<;@@f13S!GrR*P)IN9CrVq*buk9%h<3N~3&!{TkuckXuKZ{#cU8O;Bl2|Y+d@zFy%^1gX=Y07C7-l46 zEBt3zdK5 zwcIz0)x2*W&VJy=i=VK__|H^*xLbMf$7j#Qm4XJLX4gPgVGx8#n8OOR@1G?O<&i*E z6M+KY%|cI`Nn3*La9bIIDA*g&sFz7vzeOdFSu6|!hSG^OHTl>PUoye=b zUpg4CyH~y$!MIgs+7m~fTW@pHyP=4;cAR>%uX;y1rRsKtjO!#idqUQ}aBSvO2F~%C zlNs@R^$1bn!uK3)WJ}&L5s~zNRZ>=mC#X1 zHBmZ(_wVvtN89_d22$^ij%+MoPJ#;hIUBjp$!_o=Wfd;*3Q1j&69_TU#>rYS#;G~l(Ke@- zaW%+X3DT*K^E5W_AzAsPM3TY-`65Wk7=`z6e-&X*kSl0I;-Fs!a8&vu!?26MMDVbS z$F75L0RaY7C5PTKx>;7xXlKUe^a0Wljc&ZZ4gq-+(e`XeHeEGBsWpca*y0X^yV%NU zi}H9VJ$G7R0~LqbF4LeX^{d&jr8>7J+Nrf?^|5fl^+Ea`&+otP?Z-Po%UW-IEyeEb zKH5z;(|mr5%61rkb`Ct~@75-Hz`5cVqXbd8G6BPCgA^sY^5D6G4qM}gZ)mFJ<*d>@ zsgPTy=j@ETI%t@qDsEwu=G;R8(EhnX5CO#Tlh@G(+NHIcL zm@?|??+Pewq2fr;;fE+{5yt3gkpQ9@EDbVS+;pmKK8fW>;ep59p#Gx|u_n`f zJTQkeys{AdCxUp;>kkhhspRNo|dy_i9#$rx|i_{N;k&7#yG_kG& zyv}p)URXug#>uYv<`BOWj-;gNU5OfPv>rhOR#nonlf%EJ-uI`p7MbWNT z0F#}CjZRMM^4+k1pRdXYe(#UU9nXum`EAQ<54_@orENwevk{#m#SQcC zP&NOw?E_UtQ+St-;{9otV$q&|@?ZOmn%zO?R1ugxhmdW`#32E`pS&VDu3afffWCA! zR4pNIy@Jm@Hd_fpIfqb+rXvw)$>Ryyp$_AU{-2Z`b@%z&vTlEl>)70To{!o9IVfjj#MnWUm=0`Dt3y>uW_ZXb z67PErF6#4^^Okn|I{2Kq5BXB_F#csNEYYKw^{_+BF-{tJd%Jewox1Rrg#9U>Th3a= z!GPCYD>OAM_}$3MnWjhnyEf`>;50^sxE-kidgRGzqm1kO^Mqw%R5zzf)-QfF&2JM@ z)@#=EU2A`pHNS;&BWkF&i4Dt_V5L49Oi`@h>VsK!imGz-ct=}w{R`AV&IegbI$9c*y~B$Lxc6=b(_ku+9t2c}%CnLfeIN3Ee=MZw`QBY0 z=zV>-<@J7k{`-6MjO6z^D7fwWHi<`~^zz$j%NZHxJ~ez-jD=vVt@P!?>@1UTA!WVq z~3Pb-hzZy)S0MFZxF5Nq1@eHRRde7pwoI_XY57?_(w53*n}vqC_JR$6QRq zP(sI#gB){M~~wfYOw`Fn(svUeoz>uTk7ZuAXTFmU(N{++a45;1g0 z>%`gBT`;GR*|rhFdvAib1b#cFjC{!J(SP0jAeRN|=2!`_wd*6i{}cE3YHd_H;q;Sx z3=x>y$}7t047+awGQ};bV4(d+VSp#|`YB9=vb0@f@F87kn;iHAR#8rByhO>gd*@(X z|0CjWb?e`QaRM@KuV+Ej0-qt&W=7`8;u++UwfaFU0?1-E$lnW=nFtiRp!yY%GFZ!N z288C$tGqtV|6DyaS;-DID7ZINRCbDnGVMBwn2 zxg_{<-_tV%Bz)L~jVzryHYaYOKfPm*izHOhk!Tb~i*0OHL-9Cb=XT3*(6Dn)7o4Dn z6G!-!%V$VUw)}*|I%`qZl>784ZxBQ*BD;}kQPOmu{$n>#Tg)vRm{K0X5#(94gE;T; zc!YzG^XUb3&~AmeLWtSW@mg$7*PHN!D@OPZDjLHZkRHws%nsWEo`;A0q>ZHb<%yIP zmVGvYqE1DbjH9Ja8i=ih4)8$*h;DOs{@v}<0hG}MmebM_FZ#2E|4uY>enTN`$)Idf^1gOpz`!yThFC~C=BvW)l&Msz3wZUD)0JAFa0MqUXVjde50x7r-vXHX{1=a z?-F)7HSoiwv~mhSrV*b12)K9=2=pK}x2vlS4c7NkI{l1a1z^2;bYv^WVE216tVV7>Gub>5d9nP>eJU*lq|F47vCy1eBa|q}V=!%n6?TOF{e1c67a6?rs$Wvzad@ZI%>`hpL z6C<) zCJ)rK7^57lQ65HDMpPji(vQq!p&nANlAQ6V%O1)kthGrQO2&6Dt!+>&@LnjhD-xV4 zg{vB$R`=;=|Gr2ag3NgOaKn_;W>ag*XC}Co?t9fvd_^6}>fA1c($TU^4sQQD{}7qJ z<*RCpj`>pax`an!P<<&OJYjzAUkZ$40)POM zQ0j_6*ontJoD#kAAk6_bVH@0L(H^7ReAn+M`%x?IRJ=%{L`Ng%83(FIu^lDj z$1Y2iBlE!|(gGMw&4O8!P|K9;Ctlz+eNWcSd<$vGNg0EeW_l5Cyn_Tl`1_Qh>kIQUv7!4zDSL9sx}W z0}<~Z4g(PaGO$!W$cJLOFoDZq+Z5T(iNu|e2r%5li0Ap};57=8fxcjKKr~)AA-$A{ z!WA{0pFC?e$cnP##d#(Z7Ti@U41GzX$!J=7v6`F@Q9v67J#p@cOrr@4b$~Rt%SHf+ zTLUw8HqkQ7;HzOP(*gN20*mY*sv$VgnvxRN@*Jnk)JMl}FWaHejJU3#E&v_|9;O2| z2j@^39b&BaTWx%qLZuLgSU9u=Q9es?STa$(sA6jiof3VbyO8wPQk?s7gtv&#&Bem zIjfkCQ=Mx+;Vq&R4R*DXk$xTil3`BXe!?NUE_}w$B7y=hdNq_}T4$t$egGfjG5`lo zVN>Fs(uJ#8jYUM5A~4$lk$|SZb|AQ^uu&Q*csR!@sS)G-z^qA>ikt(yW8;xf1%=GS zk!i$;6N1^l))5w&I52}Us_;N`SzL$Q0yb>^pY(3;z4$3k(n+zN+P!f0e-4>Q# z6y*0+@_c(K!b^75+!iJn(yTO*?rPXHs&HZY%v4T45maEOzyhC${kof;}vzvu`)9!Tk-@S-0ThHWt<63Wl2^{6EyZEASb} zC;;hMIGr}F+mY_Rj@Og-bDu^4?5?*Nt0#;lgVC4b=R*@iJWd{OQShI3Ry546zjCp(`h!tfy;~!qdBMca@J8iBLrY7rFPte73sL*5)*&%Sv(XDfer za4;U7%`txwon`y1%xCI+f9Q9z3trFFBpoogBVFL=U2n9y&ox;Wz=}%C77%b3lwp2n zlQTKb^T+bYyUB|`*n{Cj69~KgOGns>#&p9zX1-tw*HNQk`PCWr`iEfm&$TvEl90@H zr;<`p=XD4TpSW*pBvPG=$Eth-XGlJWdVhv<>6_zq5_Rdjcd3_Y7QqV5?E3JD;=nZn zu>FS9c5UNuB7#uUOw+&DJ1LQZ8%s-`rV#Oo>1>8W?2IJD*t_KyE2I zZob3dM^Qes;=Q*e0pH12Q9Aw7c+1)c&`F(`IT!b2J^sNC;d}(18E? z+}SqZ6;H&qLFqiUm2-c;VVR_ zoKjj;xeRE#$ZHy9ZncvdeyzKmnk_vla-FdC99yv4YK&v=P?ZzlR;5Q5#G|LTW&FBS z=;AQmML*P(`*`Qx+WM$gOsc@bGan?mltTVLRL6 zJJvuBR<;kgj&i}9hhiZmQ7Sy2-DuwTK0^5w&x*irM*Loim%)6!kE5+%v0Jr4e z)*VGBA&ILM(nztsF>KD+6Fs%~g9jxpQ&WFtntFwtAQ{?$nhvMERk}hQO^ukg-{exY zGQ68a{ZBV7l2)=nYvtf`LymJFRT8@303OQ*J zWYG*dq?!Ua4)mb{L9(olgEj8qCGD~~v@@0sT@bLmWkO8hcJhaR)5;%i&GmU~C1uAe z4z;=N5<#6>xMf}6x5}eJV|JakPW0ss&c}PRx>>Rk>zKmOg`VrF!)2%rnf%X5wrAfe z1{Ii{_={^iU&|L$>6tl!8;Kskt~LTD!M112?Eo*4@o-^72d-fzxLegy$i?H`HV@L) z(E3I1TzZ8R%7(QlO1N;s1nbLauPcrdx9HvOL?p&j3r+S95~HpaB6nD)r$|)Zt$*Tf zYS5Oso^B==QUYEX2ZM03fzp)imuPg_R0u_6PP{YShCZb@`?k+CuLD0qQ%PLwf2F}U z;Caw$fFnz@Xd1bQ%8&buHwNl=!d^`x1)jO8V9^4WVrq)Rx5@_-OXQr%5;!p>08271 zda@|dHzxUzYR*7a6J|AylslZdRW)00sOp=iBl?cm@;>akbQHn(j1+~dQtV^}Ea-Mj zC-vmJ@iy{F&Qe_*b`K+kQp$L7(uPQQzqag%#V_YztJxzxKTs9_#c_$u=>O~@l6NSQA|T?D=IVWfn>!K#l;8V{#Ld+ZS$f<``b$hqxR3^0nEtJ+(t(2IDy_)9;sq#Q!T{`st{9* zTCeUy_(bZdZR}IV-`f4X<4cAjj()8<4m24*rLK%@_fqiLm*b7%B#nEQnV6!H?2e1? zuJI}AfbtPhCw){uS@jMHv4^O{oaQ}m@E@ZsWC!s8Gd;-FIr_%xQbcRn>|=RBg!a=K zQS(lxVg^myf)!Jja&oW6d!DO! zy$wuYr43S;W|2vBB~N`2%93ZJsZcW|r*D+RvNWIM=*SJpzJ}k&bRr4Q!AFt@ejw=U z(0o>_8d)1eQ2)IH#qoexWN;9RJhxvU!XyF%atgZ^pC@Ski&h@&G?OF6D&? zJmV1Gf&w0)2fShho{dy~kPyWXj^YwV<#%da^v3A#lKM37llmxPo$YM`>cB@R6}Jb? zm^N*Pd^HF6H+Pl8_Gkb2UDh8Zkya4vyb4FmRwl&7q(U$_ zBL+ZVcJ>qx*d3ZB3|!O*?4#u%Uiasu4p4+~7TF}XT(VCp_q(K2kV**x89lcS*A{$h zPJ>y$HDxtV{+hYjp6xkwx-KF3cbH|+*W>+!S*pZBksDH;ATsCs+Gq%jY-=?HXRVEW81#3jQi<8%ZRw=1^j zGg~x7q(ajY3wz*|8x~+;$_6`(>;Q%eidz&%jFRhdAvJ+fKYL7CejQ#|Uwqd_Hkm9} z!kW_0nnOvTv35^uNORwPP;-B1RdfGw7?Zeg(2`hUsF(O`2$3WqtVP&0+y){v0@m2I zvB6r})Cl%c%?Q@8a0C_bJ(?ms7gq{dfjyOYN}mpRxuhQGTHXNQ2RDMnU5TMMEy0zV z+npS_H*Vw5n=-A~{@d8l?I>xlGJULCX183Yc|~)Hca2=ht&u4ssf32cD3E29%UIf$ zd(6C~T|*W=Su;S3{l*m9*?pF1*y=-v*QPGjFdD=jWqivU@w{ZrZ;i3+X5jk?)my8{ zPg$AJe9E4PNtJ}-!{g2!DA8${t`~USjUVu=8>=tIC??PCLd6iM|7oA=o_P8oJ{RmD z#72~j-(P&su`sTPP%wNxJU)EhKR&1DMJ2{GEgA!6#bu2I)4D?lG65Mttl%Qb#_DHk zTntt1$->9ve_(3{JvGPQ$DA$C=deds4N?v3f_By3-s<4q9{JiH39aEDlrw|31ipPT z(5{jK?W#Qzt06(KhoPANp-7PQaC57V&-*NaYdj zyvpT!*YZ!RTf-J5h38&Nb4yA5r-duLRDQUz*P~ps8lU4+L^PAWb@$)JupUEYPcnV^ z^t_rRZ<^_5Lg4i{94+qW;RI^`A7lR*T-g`(|Dx$+$2L2*ZFFqgPRF+GPSUa2v2EM7 zZQE!6p8s>IPTg~F)qOGMn6qlFz259qYmPa-<1?x>+xEhU*d?qF>4MdAZaTt(@3@po zCbe_yv~Olv%Ab40D?&?-m$&&p-%gk1{cJ6dj959Y|Fr%;iWGeBaBtJQe&+D|J~uQT z&1l!KZ8j-LXAIy!eG=q!y(D#i-gd94q!JyOO?EgkJ1S*V8D4mD=KSURq8zL{gzDZY zPq9EB_#LQ;@rEt7-aW3AOFmL zkC%@lA0Z;rqgg~<+jiA?4BvnI`!>Q;pheqp*DONc&pi6$`}RHP?*EO1WMTaO4++V{ z&c(v<|3X5x{tpuJvBj!~t3w||@Rz)NY)6mhk9Dw@Ra@yhde4JJ4Tz^>hQMAZ-w7Et z(<~=5R+5pSl5-JLrqOT%5k}jM%<9W;+aohuzxLjo*0%NIYyGd6J?oA5sOH;hx(rFG z4IN;O1<~R`TJOnO)^0nKi#Sj!St}=(?J4rwv=0!B+p@mj{q5kEH^SFZMZ1SE>dWSM zarZYTpXGbOl&3FeRgTM@btJRB7XQV2f8K+p24*s1*q1%C&%wpxDqYH+t#&QbcGF&g zT{tI*--{2yqyE?9xSh++3M9J^0(aS8^xzEBa3cd=k!@zB3jU$ipasrLu6?O`0kBu_#Re#|JU2{4WEhwVTOS9O9Ef(Eug<92>he||0GLJto4hSd}b+oB&q0u zYmd_%=9B2DKzhxlt6~D|pntehg+zs4oV*ww&%KB5awm)K=i{B%D@~k^3p$E1+($^v zC)5U}4d1~95i}Ja&2Hik1ciO>q=8g{_Tc^I=NmvBIpVzU*J#B5tw-~9(}-sf#)TvV z-`oVQe&i4Sb6P&5F{arFIhfWs-k!~eYTNZfe-LSf&J z1b#2Y0-rbfIp3`2L`SR3+rY0Nv(YMJk)OBg>(k~lLpSq~&)ef= z`}e)kX0lL86_9q??$`b~_8&0O0(Q_uy}}n+>OJ3yxw{J-mWU^!i0tJXDFq2KGNzK9+D4-Q72%sk{~3>kE37e@!d`)MDh zG>c1GAKCl;$x2m?_)Gg7%KLzCt)*3j46rl;o?fZZMv>=G4o2mJNiS{bXn)Dx9T@_zw0{43poN|xhFEA_P%2%eby)g0fQN*Q$&E!2>!K;i#R{pB4 zn<#L)9kHFQVXg6=31fQL*(IEDO+tsN;cOFJkpmC*rUS&$GQx(7a9Q!(( zd&Ul^T@!~**67~F99eN2QMyhb(`*hw`H)F&(VCUI_+d{nGYLj7pG_@OTYAbYCq&gYkcZ9?1(Tqx4r=-b6J&`c{)BbR(I%u`FAA zYLMF6PM=$RlCff6Ke?F#HU7j5IU3r@JSPqQOCHxCwru>NGIXKXMegoHYI31V1ZGwoiTyrVz_j_v)cb&2S58lxLS{@) z^>$gmXDk{<)|R5rJGplY_PyNQe0UMSfBSZ9kjwU!gYmLEZ&`9!rCVj(Xy1)xA^YCe zBf&go{D`h(+{pH^Ss7qfVhf-1Mq5$YDCYHpZyIJ{DAcSF7k^}mrySl*J!)xF!$wDT z-$Js6{EZ{(e*Wzz0cMGB!{QYog&y;Dq`V*7bvFC8TDSXFhgZmG!@y$wnxQEr|MaaM z0?~hXOSs0S>*Q@9;8G<@I_X9a!|u72pM5zWo$DUH21+zdzfwE7Zr7vT)eu03+?9S7 zwwvR+%&|lBa8oQUM6b)r5SChx2>!dvQZMiV4RUYSnSLq1zE%nDa`)D36jIuf_s>$h z*!F$sH5fl>Gru_Zp`RAOIWS!Kd*AP49g3XWp-fR`88gRj`#F|=yQ|~HfIZSoaVba| z2p`<^uE~fX=LrqbF%DWi(Fx-s=(}WrZ)iPHCNtl#EbZbuwc4fFPp&VA$B?$pSRZ`) z4|8`7BkVKzVM5179@=`+KM5($Ambx~n`P7O%G#JrvPUf2(m+vqq`Z$GuODfclxN{Lqd$RD*5hJy0rohf##)0L^6G3!!~9I8;MstSs0t zP;(e}5!{8MxbFK!nUS1H;R|=?v+BZ90;-4rK0~Nq)Pu z>^+WgJU$OitJYmDZz8~p#bQ?jusAr7K>tMi zqF^&mwD!inJ|p1kA*eS)5%Amj*ABfq+YPYZ;6)V^EE9e_lrI-5urohASQnf!>~mQX ztX&0~^8NLGyt^5T>+@US>j+pO+RMk$?zBIdUMXT64V@7FL}b1Cl3aSYuU3FrY2B^* z_hCt*p!=HNRII!!H(i4uPEE+o0=!GL#nWNpMUEDws>5ZyYy7E2xSj`Q`64~8wBCNQ zib+Q3H0~!;vIJZ*@oELP; z7tFHdRIpW}_^y@>Dn3Gr!eyF$Wpa~owzFI#X^RLV(_0xIYSki2#HL8Rr%>CON{d=? zAA0seCp5{^PdK~KECeT&G!QGr)gR>$RA4WP9sqZhR&XpxXvhXdP0o^H;`-U-5UT=C zSoIwse#2c15^xo$4n}ZB8ldmO)U#S+y#f|VxIz;tv7+klxZ;<^`WozCmy?55wWW(z z#bvuy_v%HiO?5le3POSZ?0fq2tIMyP2?z}u(EVAR^AyTHe9o~s(RBr*g@2s_dE^!g zLOb2+{xVx|MT1wp4VTi;z8~+~>54j?Ygalyo8W3i5JZA)&~b%Z7o8r?D(I$OLyDji zG|EqkTLP<#>O36pGCxoc-BurTYP11J`q4WxJmV)jmoKczmOAq<@;6pF5~}JKpnlan z1CCLVOqG#!cO@Gw0%KwlHyexZ@|CW^gg}&kj)lJruxRK_s(J3p@E}=OCpSsK_QwU9 zzce#!@a-Rt;Ot(4C4y*h5E?-3T=L&r|K^v$zO=p&ZqXezU6>m-S{zsZd`Q>Gd}N?91J6~T z0`5YQEa&3rw~Ka1$-2yzw@CqCx@7BXh~v5E!ApoNjSJSc{Ld{nKf#vc$c*ol1AAMX ze-*4F?X60e%%ZkjwS{bPSLJG?$z@B&Ods`bt8edDs!(h2*^fB`4^)Wc|)8eXwzzZzj~A zG4ODWFPG1|g{NC--MnjAf7W?E%sNZ4}{Qa5!yZQG1qn0~ldmLU{{Ks|n48h1_ z_1Ee5*EoUiV|g{d_t(7N=XlDs@B8tp=<-olEPaoJFq=X&BGIe32T=?ROY-=!8Pz$JzF+jMOiIr zCKFtpyoo<89y*uh>|5+U-rf3MUDo^z3%(F#aszgyuY+mYN3U()n3`^rQ|oiFxu{%u zqKK1}FK%GiHxLLo(@0^gWG=~xJ?><;xlD`8Q>o8RvC@wyg1>!*Nm;LpF&PY#25LHk zp1mID=3l&%KgZHOl-pRUaCNGkd-%&zy4L<;)3*m0ZdpzGVqWg| znD$%ouG-lSq8#1bcvWhIKfYTQ+K4q0B?XEr9>Quj?HN_Q+c?k3n=E!0vdNtmEdB@K z6+GaZ&o+6@cfpLOT<;4r?;{f5yC5s~aOvW)&>?mef~V5(GSoW4tsM<=DGG%ZIJNCb z$f4Em{xIr9u~{=JtIqqiE26t6ZPsDe8?TpjhU|yx zU(gJIT?F?HH|nT5R6WGPjxQZu`~5~YxRpRcc^EwFgyw-5LPXbep{15oz;04R)FGOu zJ6IG9sw$d=6oqgKNB10?u4 zS1&z~vfCum!3sae{1o4O*M@O=yuqK3DiiGp(&>hQ*|Qo*HYNRsPLabzL~2}M;w~G* z{#ZuzxSp^Te1og_@0v0-Qy=tbD)R%cw-q%V_l7;3vc>HDxJ;4=LS`}*5MngX5uz+? zpI0P-0-ZmACdDzzA(BPK+LjS#9Z6aP!X~pTgGrixy1*K8THRo)59d0w4Z7bW?LX+u z-4n@eW1yu$Sks&j${vsp*91$5*_5P^mx)vkL-noe+4mD&HM8THeY0Xay}&SqQZVfo z+ib4@7VZHh#2*$%L9VONgdq=W(nQfXC4PaXUZnQAwNz^^E~i!_p#hBJ+NU* zhbt{AXS5L-ySP6Qf`kb5FeK)=)k4T@BKl1wgWLqBDmRtfWTRujC_OGBJP|lj`L`Qs z3{6PT7mcQdA5daI5BUu~)tFNI&Bo?`4^y(&ei7K!ORA#Ej2~4E7`(AN9kJ3cn2pwo zC9Z5l`q+kZXJ{+V1e;{6v!=>PA!MvO+x=o(5AP=k2dDM>xC=}y4)f=7PVE)F;WyyO zTHTS-1*u`6MaR(}N(beZ5Pba)h!OsQ6g%E4QovZ5Atp$l8|JU*jAcOOPQ;ia2cN2v0&)Qt z1wN$S(DSA6&?^Tj(w}_}2*@fmN#OgakZa8x(rrR&Pt0(RjDpp?P#cu)j5-))NPgYS z!O%}lBEBil^E9|Q_(>z%{3YrkV46@xmC@AC>~Ty_g{!F)v93g9JCZ8eaSCPX$AUDETuF9 zoqQ%V>6$!Dr(7c(+-CNlP?X!D7>E4YD$tDb+g)vN*}dUr6;Y!Vjzl`KIa3y zWyMhgWWRZ$yjHy|8;5Xn)!*VR41@Z8pMQ_!M3(OFX z3tKnO#pb|E0BbHplI6Hbc%xdidZY5R@NwdNqm6|-T&*9tlWE}Jr47@jve%($bLayda!lh69-uULX!gnl-Bm&H9FjI@WOV=-GFzx zAw@m=Vn!|7i9e`A1~4*pAb^f>GePm5gA$6sONSUV5rYSA{d7UXgG3WX>r5cdM2bGG ziyH89iUwLZ&@dw09O@o{RieWz32&Hb@jai7ZCaEH`BO=n zM=Uq;)rCXkpBFOhgdNH34|lN0ZYUhn+E9}*9(e5EoPiGx1g@GU@X9_qQ2?J_~k|+s+&Is4=t?L*B6TZ2yoZIz7LNy6;yhQ#K2jxllMv>IBOiM z1jgf;^KQ2JHb7=z87S1-LX*=QVVWc$sbr4Q*9^)qI&io5tWPZw{*cEU08r$<)an`- zXBq6p=C0qTe;%#*Ud-n~(ZEX+2mE*_7U4C)3zQr%?wI{+e}RmchSQra;ZKGn(>H2d z3rOmz&kZq;w?PFOdZzP2DP#ev&d}b$9F}%x%JoAK)9j9L>_e z6;tXC+EZ=#Ovpvq`iyZl!p-#moP3cKByr=HM(t}APdCn|vS`WB>L7Y-IoArB)o*kV zJ&4uUi^D#UG{M0}Zn5gXSp|w3E~ujfhw#UT=m??uviicK+lmA8c^~!1uSn)*WNYfI z(%jp^a@fA++4i@W8q##qZ?F5OyM1JV3gab{KO=2>BrNL^wl#T^V6CcZ@h#R77%asV zXvjtBW*jrag9@I)T2kuw^A|ID4)=*6z9j;jXQ>?Jhz?e5C?Y;L;=`|8Bt>O)C4k5J zvI%OzARod_shOJG@Lm*F&yu;iU{o?81>1Bel$PKv9b{6M2%LRDn%;^7+DX=ql?V<0WdKN1&hJ)+Ol(E2?b7jO-_JE1+ej zhQ;A1y?ktmP*?nl#4XZ`2yveu71XUOLaRv~gJ+s)pXOzxof*`ln5ZdyT(>5=b_!%J zc}(1{V@JZS$Y(7nWd|_~6xt7m1Dy=O_ttT*Hw9JRhwFA{Jc6Pt)BWuKxV`a+V&Dqs zPR1j=^yPTp9QPuC*Z;2r-d6hmdH4TbczZZd@IMy{nSR1LAvT`tYnXDn90sGR%W*m! z2DAJhcQpp>r7oAM%e6a@gev#HPKRrEA*rCm|0f|&l!orY@4MlHbV? z+?1n$I5*3>Eq+yox@em9Tb6c@zSQ=>u|wXJss>ewyvOV-emd%PHlm+Z`~1%ntMbNI zhV^FZfp=3M4mY%OY*^P9TC~auVObQ6X*9mW?Fb6%pD9ii#( zR&dN|J9QiyjnR0D%uP1#?+(n;_EZfDHvjfX{ov^Sj>QIN&d8JXa#TyO_y`MhBFTW3 z2u^bW&`G!ePxZj<`zg{2fjlGhRw&^!C6Wr<1Cj<4k__DI45CeM>_AcOFi)TqxzGuu zV4x%%_YC4|$b&Q6$1SYSf;Ww4$+k?KJziIT&*j#N9ZwA>M<@D^rQBx9ZGNJk@1+GjA6TY&eBkRW51`N zsH46&LbY6#U{Vr>8g*L|opd6@FIAa9dD@8txwJF>w_Kx@AT_vH7G(4>&Y(xs#&tvV zouNpxGwMa=2`hZv^!+z=N*nOog{^0^#&!iVl4yk?Qc^(a805GHGKsrJJt?xTJcn21 z$ezg~<}JTDM3!RAl>CvK%ODM`M#fL?(>j6wPftLuM5g(WU*VHIQW7D7R}5-2@gBrB2LN?SMg*(sm&ng57bwwz z$Z+|A>~PJ2d!!KwWaQ0XEProgW{Y4`r(`h+Ax{!|sJIDl&^kOBbEc5pRhB_F;L0Jo z)IWe5MczI+(CGeb<+YwI6`V18Up4fDC=bg6JORtVB-q(X$Ax4U9{TQ_MEd1_&fDO` zdDmP|MWIxymv~;zBnw-$;?I(kF??+jA%6^`b|C1ea5LGPo`UwAf=h!xrxJsAm`C#7H2+BN zWm+CZmJ1(hSmk@G9IDbTlI>72Bj+o8|Lv5@>W@F47!0QAqfM)ItUt;KK z4m2b1uE|NM*K?VpBr*#^cQBu9n9ja&++5lQPHUnVEG}t0|+UXefcN}GNR)}+7a+5bk|n-;q|TtU&~sA_oR?!7NoCPqo_|H)$*e>2rJjpFmA zxedj0qIXKoAH?fQqD5+XE%^}Jiu5i=CyR|^Clo-Pn4HUb@8`a zw4;~#Jd$Ex@kKieopQbgCIh?;>>`pOSEG*s*Dbj?w+5xl*F+_dwLB>t(x17PF`MpC z;-3LFGU~)$E#dxR`96^C!W->W?zKEG#`Qc(SfW|^T}n4+Ij34NzxGD3&*E~u+Jg-K zGx7GI|Cw*nkhSrJAdg|Gfe1dELG}(1C7(=Fnu+6>iKkD*EU;d+Lb9w z7tpJ!+grMlE-jQ2s>w~n0NMy{yjgjaxbxN-dFB{-ZX{bpM2-WyMeum_ecxXF#8t1AzgqjDs1g0Uf#WpwlDnJv#jtAoL5^p!H``{*{K4 zH9ydJY826;Y6?NNYn~ICcY_1#GIAQZ>5FcQXZlU*M{g-l9_b+l2BW>5%~Ytobvf7u z0Z>kbOv0$oIjqA(Y3@{Bqu!rl0d(10OU-pk86i)laSzlNWOe~JDDLYiN3zqCF${nD zq5o}lppe!n(W?JNI!2pjN}a=dol*~FBT%dD&r<>AQ`Zxb8yF##F84^o3U4@^rJ}R? z2XU7rSa5_`W3yB$)T-IMfVZzjaP`0PI1p+wuVG4L=#QjY1)w)ye5GAbj#J@rHo2utSaxb4k2QHC;$!ur)ag{Q)C!P~kcc z{cP~ytx0^XQa%@biA`mEzNgb{z1=ty_OmpHw{g*DW(j-Bn*9K9^z&EJ&5<6+#3~P?E=)uT$E!Tg(I*&r zPkHTiL}uZs=BF1-z-qg)E6^QJF+HV&tHP+i2HV0tpHVH>ttv1+pkEeDdNMU`x95Xb zJU(VI`gtBtbL)XML!?z|p;8PX7pmyinJ~!c;dEXN$Ae8RNOqNXG%_VT(mIqfrLj^VOAEuuWM7NeOhYECUosBx(MG3h`&d2UL}K!$bF9jJM!% zm1$9UtV&TQ%|T*yXPT5>Vtx_lf}upI!39IGr}2yqzeg6J$ZZidh1z8*cqE35psB0S z1Yvvssi)`08qBHM5T@tO`BW+c#Zfd!eT7ZO>(D_0O{ft3RAST!BSo}b?x`J|qD(Ok zR7N8E`C+YpPLTWYW+@?fiM>VHY3H+Rmq>tPax`U0C=n`id8wRzn##rB(xmDTD`=U|_3g2gqT--i%EyQsY1y#D6VvLV!x z@z71*!6PWtf2DdJ!YRLMe3=6VQ5td#(dYo@$o8THy`B|#NU}5ds+f_iNCb6>_M_rO zl%K@R{}a8lKkQ?{NyN{~G8Dn0y*a=YNvPj72_w-C4*B8*iLS3)6nt3;#{SW1^Edxj z1m-*;7TmnYhcE|bQ9?kTBnxtDeJ~|1vz9E`3$UXb{EH3@qKrT$0r4)JUs77N3V{1$4{#|7q@4bgE@wGL}o!pbVsEc`z}LAZ@i5k zMivz>^B@Hj6Mss<%-NMI?jZ#L-^^F? z7}doz5pw+A2SX{d6X2eOQy z)%qa^MfrPEl{;$Z?~E3LJiU3Inc^?T2fDT2ZAeFEX+r`0e1F|LYYrbUVZ%q1xN;vM z<v&@^!c%-Te(vE!^VN!g`&8@>;QLrL^6iBr80 zX$_A+jyG+k5@$ltCgLU5&iOf0Kxd?CvG}j} zQQMlLWca@q9be|+UAQ~cYg<{kwNjJl+PHTAel@J!;+CS*+sbbHqDIwd~3R zPl*H%1Wib>ku_~Q@Y0lzB4lV`g7R0d~ z8CBK&El?Qo>x92{DW<-w)0wC)*M%3(N%3yI6fQQP23ELdVkZ9J+M!5;QD{uvF#fTS!3%L7zK)P~sGO z*69`l-qhq0J??8otkc>aH2uyPoXAWrE_jo~-#R!mtD=`Fj`&;(rW{hI5jO5^rKeI1 zTvN7XK8g8U@!ajfkIMhZSdntk*WuWjk>hGkPT_Ge_D?lv1r)dzEh_zNU>R<#?VrM1 z9!KDD(h-SrJ!+|QT}e|riwRA$X#52|IpLsv#mI7bQ~2f`wK-z-nH;#1R;wQ{m$NIa zv|&lb%|uKeJ~K?wu4xcds>E$N)z3>4?S3VB9S>H0ge|JjqEIo*@VE zfjP|*p-M&24i6gSEDf#)fdMZgZ9|aSwI)%cP*Vg#X6g3hY=QsWZK-879?Y?1k^`!! z$dKfBJyF_-wFv0zqoe`qPb4fDJw8tPV<@;Xs~>8is$lapz6MT|_=dPYh77x1#(Jt$ z-bTNC*1|h9%m_x)?2Saa_CG}_w zl@b)cKjE?lE(zn(-~c;k{FxDO9gXK)Nfmq`HD<$OHBn(!0~05njIV{%jf>`+1;5-{ z%c7SUx^fX@z7oMC-A8C6#13oAeOx!vjeB#}0yR&PwqF-+!cY9sDEa}YnYOaTd~S8qGye{vCB zpj>1HC>H?*%0;MwauF4vT*N1f)o0puZWO^+i$aGkun4wR{sU%QX6l*7t^UXe-8mm4 zgU9Zwy*!d5d_Dh?A~SOR>F=OT&2T5~#uf<0%q$4S3DB4#A%7Qpy zBk+Qv^fiI}(6j|$piaHzkeFw90h%s!Jxeu~Dm8twwqxc@Mi*NVIG8EY4*KTM|XADhbruDxIa`M>?rmB5n z>r;}jgsos?m_OdXm>dyhND5`yrD#MU*$u8+Rx%>hAtbGaW_>rrEcQ-%J`&Ah5#Sa} zQjDLLjzjV`e$}~207*1r2?*8)lw+$rHATkVef4g??V|E}-LWiUBnV2m@|8p8-b|!2 z2AQJWgt`7;dNNev4li^NoXM@bzvW>K8+E2M{RN}jirxRyg!H&i2$&T6&RU(0!#*R?0?2~-vseUOT9XeYZR>lCRQPKcvl#YNJCEWktf4Um+B!6Jw z#s*o@z5<$%nY&4leB`TgtzKwW*{vaQ9hBLk!qT1JJHnj%>U_1zO|8;~ar0)?Cfky{ zqnBXIN)@Rtdb+ftLEh<$hb(d0Yr|n_6WoaTOubfRn#$)RIq4B!BGNNqrqo1sfg@2x zV&M9*q%<4|>_+MS1~cgL9!ger#jb3AAGDOBvZTwbu*7evEZBO}(s?(TW}%&?ZJ%Cz zSt#i>4x2u94Ui;CAPk{8JE$+_b3eIpy~~K{ZW)wdwwdYojmy!H7Qo)Uu^s*CSBE$5 zLt>mHAt@IIr>%6}D96?6@Q505(LTAVH6F6O-MhlmRe1a}p;CTDK5Ss1{yFNe-3bN0 z@15aeLaq3dvR*;ACA~;d_lF1quN5tJ!tXlYRCs{FK zDQYdntJY;Bv{9y2&jjA{cVmd^cA3b(s=%gOmz-r-`FHE=-Z2-kgUAS)Xg#>9yVADy zVngMM)0*8CbT8{98RaG##L{3A478SxjK6RP-!sU>SB^$0+QA9`$F-MNO3ycga9t(59@h=)ZWAVMNzR6yn zDrOMVpTk;0@v&K+bn4^XD_(S&9PySOGbl#1gh;KDVbfQOXm0EYaa1_RlBU@Z$*xLo zlEYY6?R}w~(-y8yoMDzKkezsQ$hQ9$t1owyV@el39dy_dwDvmgbEYM##ZWc9hD}#n zDbPHL$W@q1=WDr;vxRNr$efQk=W4sCCDT^uNWhJWVULA&Ou4z_&y=fdd*xg_q4hZZ zG2SDRS(>}S|ByCgNVDXzcy!*&Vak#y&Bda+ec1GRH+e9tJLl;_HSZXCPBy>v;XYcD zQ;?YGCeTcFNnt8L>(whw-@0d`tm~>s$2@x4sRyeqWdhgN)@J9#!X{_$V5_x+?^S-a zt;L-?-Ew>3!YtgPU-zP6#e9cbXx5kTbac9N`c{a?@-G`X|Qwf3Qu@&e$Y$nfAzlPKfIM%SN?VkTwTp3NyV$^bL7rr z@zAQdObhD*v9*?0jQ$a4?!|7LdTZmgW^5nC48OFFO7o+%+n~VC>U)Cq_-g&ld~OU6 zi{)_)&)q9<3@_EfGC(}Lw2G>cztBR@uTH5zV3*p$6v2QEI4BSb0tXu4ERNN}R4&8h z{qO(1Y1<*eM#8r3z~xjni-4mY7gQsl8I~oI=$j;28L(kTLR|j~9qgrcvf}nsFQ@HR zOC7fM03KuDS*D01r(JK!S!1nO(-rLHA^5~B_hE4>+T59K?sci&IsZ{6(C7Hmcd_Mi z7Ji39n690@LeF*&Hz_2c1=ufe0o>0TCaA$I7Q3VadQ`$#_^&kJj0h^u0C3q0gYF7A z7lcoW1f1_8BIN=u15lD00p~WtDwJXWmSY1x$juSwN=hg+psS?8x{;i^Xd2Tjt1+D#BU}Y5|v}OpzFYk7zjmMP7CAz-XS2 zN}O`;SLSMRoT8W`B^R`s}?k5zm^jsN@PA_CFDQE zo;-cJ=_ai4V*j|12a43g2hyV5RQ3Dn>KN=!iu$Ey*o2AWM-*%5Rn_CwspH7FkpZ+x7FL~5Vm1`Wg zURB(0FyB*a9k(7{502W798T~~r`3bZpp2%~gU^_az5>^L1jy038}k^mT4S#Rywk7d z*~b${T+JXyIZe(|m9^x*_M*h!7)Wy*u|l!$sJNbSD3aro1I|B`aa=7zy`|{r)ieLG zTI=@eO7+v)YFw@U^?apu{ zqHulIU~z0WfOHEnKz^R?;jnJ-tZAoN*?dG7dNisxYiO75GIRT;h1a}~`TEV#dVIcB zop5L7^sJI3OiZDB$H}8Eb}?f^rF;Y0$A=QO+McsEJs>G1m>&5xx~8vYRRR7PAFa?_ zcwi+NM!f5s>7Qx;G?o7t*mb3kXO@(WPtBlKeOdjSUAEZX-`BVZmSv}qZNXi+;Gksz zgGNV$JYvoeF(5W>X|B-FD*~HaNxlYJ*_Nk1^Mwi@?3!;*-9Q;8C%mrQK(JPl=%1WP zsn}$ZfdL-HaeUfB+`r>s+JSUworbfvUk7N|7&e+6!fe=a5S1cc|7P)LOf0)I=Jm1J_A`Mwggk>LxbBZ&dyXn8}%s6&Q?FW?NBPdm-=~} z)Fx29kZ>=>$5p*B|9@P<{g?*()ek|WD|A89tFi#c4ZlZwz0!G)L$O}ot zIcaXZ)ejq?&$9!V>u%}VP$cFLQ*@u#>?W;V+cUV_hC+=Y6s)pof2&)vozwQ*s&6OT zI^GT22RMqqc_OG3#YCaDHoL9~el~hH@mt{5{90_deS7{NeX&S^j1XY+)&4E;qz-&`&6mWv(DDB;}XThIrRG}(tj zeU+lO6in~<`jbm|NbA+7`6w=$?I+A}G%CMt7q6f~`|R#Pw&y_qFJnQ36oh}c#DAsX zE`qQ0qI*Pe6HirPn#T^w1}2!;2Ap@kFI?I^{a`zK)LtlqI-O`W9{$UEq~!}e!ug{w>qMC-}EW{%M!6g z93R87+wAEJU(+Q|E3OJjPJRvJ8^;)$<-87|;)-*KLT|ehJ4|-r&;2TsD}l{Wugz=| zuKq*J@|1OX?tl(azkJ=Ct1{x(mra{rqWq&t%qhMd`I;}E+Iq={u+jz0*QSln}Zu-)vvaVDnX45 z&n)OEuYbx-L?(VXXN;3g?Nv?R#t9eWX-XQrS@3dj(<>PQWlbDLCyCJ9y4?Nqos(f^ zG4d!G9GFc;W(WxpsYF71m{iqiPtO{ry5R9FIzIdN?`XD!opo9%?OU^3+MK_ zqdYjD)i6BNuKvA4(q20_#@Vlty*m3CvhCE))NZ~jX1j6d8S-fKwwD0E?Sq8VM)vbY zv!KB0VI|PC29JM8m=xjq(xfS|A<%vT;ZGY0M>q`yBNr!Tm8+JMBYxo=U4VDjkvU7| zr|0n)#s38;9D4q+6*S3LhERP19Yg&op=4G^<$#i<8`)0u8Gp?-^`|4EmHO_##2LaH zY0aM)C^(2~2(<-G(D5@%|5n4z8hA9}8eO!6np$919SoRNR|aO)i*xv42Fo93RPqSc zBG}}_^KyhquYC~YPxIZ2>K=Zj-%@68zu!DSI4~d_VK83pb@`Y$=-(@vFE}DSH)ck> zukFoSpr|*7H~WM)Y7H>Ng4ST%?jR~^M!CO*NmQyDfl_)~C7tvl%{S(^AP$AM03~cK zh=QIJ4Zj0j)n|a`nIv*IeMk+)L2`c#_U8YRAw_2j*lN)VdNo6d!uEQyiqDGI;6MKm zL2Vcg3nqqdAki`Zc38>xInZHpS2_S7P~HLb`A8AvluXd*#Z0j2y(IWV;zq;;O@44u zQ^qC?Tn-?gu9>jJ$%}BJHbZ-nbHREUK%hVMuu@+HbpBcaBPpwa3{^Emtbp&sXAgk! zTA`)BFw_pH3HvPW!+$D;@migghkbWsIuYqauBQ_>?Cy~EqRLA->-Ev_sXcQ!*=FMD zU$*Mwx7TL-Rx|uAqY>2KrSe?scG!;n0iJC!PXF7@I_YboQlWf^z&ZPJ8A^$(zIjwQ zD$1sa;aCgCRGLvW*Q(z6v*!kT z48SfKP?Ylm8u1=;06Nt|>AR_+9H55$T+QFHU3ukmoz~(f&b<+A*nDFAV7K}Z>x15_ zQ(pIv{8ZpQeE`fmO?t_TJ5l&7qb&fj+E?MtqwXpe@vq%A$+jtll*LZ>_>$*DtXEUI z3)lVexPFSp{V@q0^nNg79$TJ*dpt>jQzhi!mXBx2rO$xy^T-~4;@J@~ok##J3b0hN zELEmGpQP7jZV>O$>zUDA4~HHGTv$#Qawka zP6v)}!XmRU&2XsZlHsS@0+Ka3yfEn#klIlZw``Zk_*Q(Rb6qgza=75F%-HodsiV6TX4IL@1 zLpeCDH9PR_MYuxgCB7;Suv>AL!dl4@>gkHg;oA>Aw!$!~@tdslKIG!wsCJ~J^B8AI z-YlRFiy1B`yfd>iN7}YcL2kZ&Rh~!4Oy!MAJ9|kVh1x6Oc3oSLv{xPO@?D^aziF`VHw3OdF#Ssx)IS>(EIbaQ_u=snx zIxYiQ7vbaNyClh8i_5V4V14%01#(_9`s~c9Q6qaH+<H9`fzVM${%iSuSw>y}2aeaG!uB%a4N3pU9^R-Ry zZ7zuI6+aXn1BEWgCdJ-Gp+)xWi8gThTH%T9G9-xozOm7vAWdh_v zGHMP|^m^h2x(^&u2Ck$~|7T3rpffpq)P?&<72<_Ee^dhI3Y55;)sp&%Ty?>EJw=f! zl5_du3fwIk8SritKaeZJLP6$%k0ULV47xO5MnviQ9EkiFq%a-d3$JUu-4uq}p%vBH zu@tG;X$u1pf{Q2-l8KZM&P3b|TR>)t0H9fnJ=hqflx`i+-v#kTc$1J2hy8IQVHl(R z``eUlWYc)F1rZ?Jq7PIK0t*Qo5Mf;Gt6|Vx)CK4~7`A5j9M>jVFLYt*RT(W-jehf~ z0AI(&@yj}fsrz~@pW6=wX_tpc%|ec{NXoC{o=})ln6DKTQK!bs0of5%>L(RiCyavV&tA_HHBsVTbCyXATEX{032HOwB|8}f2fUXX)OpetXenhH!aZoQ{D8`B zZAvv2(F#SN)k5~1+P#%ih@3J4&L1;w`ZTn^0b%KZ251?QHGsen*NuK)I*P)bN(*X< z#thvDaE@N@Zyxv*sYxaojH zA_5C#H8K?qJDQVV4yTmF@#hJ}UQX#c8u)w%70dyIhf)i9pMRgeuVi-vG zZvh)e&}9o7Vy2kcjvX^IW6aFVcFZv|Q*6f&Gcz+YGcz;On3=}-Cg1Kay(g{ouhi=5 z?z+=8x~e+2x^LGxt60@Ir$86>h|{t)sWF`24LhpT9{b`eSSr-hEB|Ne7`&&> z{ZbA83$>Dg6|W-$W;}!^XF^Bej?eEuU4(x(I$d0+m}AL;>K4y+UznG$eA1SduG4}$ zrN>a6U>O=`v(^-orzoQ!5OI#!d177ZRivJ?ipTLTv3u#pDXVIp7EralR3vgEbAR1u z7jZsV)AD`n9un(+tY9QZ%x-jW9zFKk8GHckZ2jDU`w`o}$`zTLZ%*!>7}KLmx0(#C z+iY@^D0UzJFZzSk1A;Sd5v49}K}IxSWw+8#mo^g3I~Qa@>DrmezI|-DNAA56rS*PX znuNyX?(sM{)-Ml>UI^|)u7c5Nw#?R3u=CquALovr)qb{K0BdQgGiu{(D%{9ofOrQN zu7RCSxO2fsk;x<2+wK!1`zG3E6QOO=@k6`#$R~^HJ{>lrp6P0}GH;g(jVs%q z;{d^iI3EyaeYx$6nHsekT1D$goU)65>hpRUy<`&&zZolu6bJ2U*+$AFb?G-sKm!f4 z*`0jdD%I+b4Yjdu1U7g>G9>MEGNiO3YrH0rInP2}5rV~BKtbMLuJG1ZqgY2t8ni*F zyb>;9x@keuwN;A=)dGrtg*t|CL;Y+@<#C9Gc|Nm_687wrI4^i!E;q>qIUb8?m~@j= z9*Is;$C6tRqhcolax|%(`bTncoXVr+ko2ta z&W%-A6PbH;!^yM4id_d$kKB5dOP$q)Ox&QJv|~(z4vdv13DF@}zcPHzZM;_X3w4`h8m|-9 zp+67%+`>{fEQil+?^+Wkx24^t58p0L=jGG!Ka$5+$z9`GtjcGqpSC-^ZyMz*QtUpS z^APqIn;T9r-Y20Hn(exLfXdYIzCN!<+Xi!HY)bH)F0V%hb_O(uTY&o(t#WFQ&u0V$ zAVM>Db(r^Q_j61)td4YS9Opas)hYIrmb9<@=kuhpte=6b&3sY@A$cQ7vUGZ5R>*0= zE{P~<-8({JcTGBJ^vUJEG*kq!yMbR$BW1XvvUceZQE~y94_04CxvT6z$ZwjiE?rK3 zWxtkcU-V5ZbBWi~^6avg%m~rVr=T)+9Q3eIi^`BEHLLjI+#|!*{5N+4p#0$9jzw2R z--=0tO8-S+eav|w%G=I>SlJhKaJP&TrQJ14%M7<$yy~hc0FuWXrzX;+kE!6 zrq(TNrf@i=f7)5rCq&BB7KmlhNu?_YP$-a3QeNFwn=~xp=qb}5dQvG7)jP%AENxn_ zE&$Ee=e==YFW)_y@M!FdvRG5|NbNUKJ;&j1^BaZrtz4AzKkK6;9%to-s;O zR|M@;Du}qmaug<#BOygJ;G(;S)HDmu9W}7hfP`Du0_SEaW~2(}+YCD(H^tWCB4+<; zM-7CqPdPi;qkU!z=a(AKDKG+6#)g8u!#L1&TZ|mSII2fcFe%qa0ppm>6me?_dCnqA zlC==`-`J=>D#okRJtc3d9jA)Km35p25aB5YFPK)%HrWa|j6;8%IpFcyG|@ZwtZo(9 zWgE<(k`X^gV1!03(n6yoVCCh9lO50LnK}E;B14B+p!S!Z;rCVHLg%R59?SWj2+CI0HDNY(un(OOT3vL{*gg!F zm7E!*)Vzr4zV}skS@^7a5Y^5#iQCL~2DnJiodBByIxNeT3Uxz(x6F|I(G;tRq=q43 z0_1SJ)hJrx3%17+`$y zg2|If=5n-0OsUvQ1RQalCrd0GakFMgoejBe10Rb5MX*``7!5rTP--=&$bu`9;4~QG zU`T_PGokQkF`{DdDS2bOr+E%vvU|M)_Xb;VFC#`-xAIvVGIrQ1h3pwi@Ca(z(FmI0 zAghp!MZU5@3D>ZR{m={;Bl$>k*b6`<&#MmX;)i*mD3TjY@LGbqPo_%Cf=Rk$&?H5- zHniO8My2!7F|;$;yJZd{uSequ3`)6UaGL=S8O#_^M-oAFIz>#%;0PiwzUYlpS$*RB zhE!Y|4e`w*d6+RU8?%keWk^~+VhKdI_hh4cZjGR|^%aZ;$Y_@Urzs6f&}>%5I6$z= z#c-;JZ<%0h%>2K^d zAp`~2mO}~^tawORJ;N3F%TNHk$9MxVaqs|_rWadV+&)#EhzomRqqBw`HKQ>M!WQX= z2pHRgP!1dW56OT&lE*a5jR3e!T8ZIZ0!7biPA4Wd{oJ4Ldk;*QybjTAXip_`k{kKq ztPX&JuokDdU0q0rXqxjsyv36Pne&eWnJScfQ&OPX20{nGKx&HwCW`~W55WPT0O?;XQr^8PIf$V^rwmQ!thTDzYUC!$c$RO(9iH2t2h1NLg&;52}0kb0v{m4Ylj0> zCi#WZumkteBA6X!+#|%zp$W9dH%KH#e>T_(uy(LFaH6>w_-APmHbV}7pPm3bX$TD~ z3-}6nd+cWo5sMv5#658V)j9o`uKKQw;=4Y5S@Rf8BS2cGWoEo9Dvy_#5%2Vc)rogY zc{QuKsxx3^^1r(EeNkY)zhP1wOc_P zVwGG)SilZS53761*kJ+H)mqt$)EA%Y;n@Fj5?yT%{H8jQRhK_T@=|8G7XVJ4#t6~1 zm<;!d_$>3qXY0I(-5kyfMmmMjolsGm>>P?}d>Ao72wJ-X#5`B?#TEPpfv-S}=Q=S2 zw&xcZuRkPv!ij2W0IEHWKfR#=(hiT53GBpqWluphJpruO)I7HlV`05SMfKgpR^60D zJ6L9GUPF8Ri1Rk08Cuv!vb)uB`vHz=Yx4!N$@V>~QpaGW?V)d}G8Le@22t1y~ zSV;HB#7Mu!wz*2h9)!!sAVyrqaJbQb@5J)@hGb`^GFXyW)y_8SlKkkLDe|k}jNp$~ z+vT79F=XdVll5n&kqMlh^*4#O%V!N5MCVNK0S9ZL?WlFsJ<(;ti<7qRIcNHCdQVn) zXK^SSV&Nj)rp^PpX8*CnmiZi#?ib$QH+TMr$ywXdtOKYHS1&E(5r6?AxRCvcOtZ;-WQ5}YzrPoZTuDu9!wK?!h8@({=R7}Bjuo<}vgwKkC z5V0i^0m=*R!@3QBb67PMm^xNCf_!S-#l7x>lhD13Fk!c#)IjWL;(^^9Mm_byzy1Ui zefyJGB>9I%k$b>^U5<|_XW&k4r1dt|t4R z=SwJ&orw@%&`u%CR<)rM8sNYVFh!x#))OF{Tc}a~u$JJ$y0S`gG3iP|B!B=wdV(6H zg_LA5kmj{uj8ERBgw+e4(DohrRH6pzfePn0-jzjg6RIxc8QdG@x>*h#*0c~@)eKAE zaKmj+bI#G_@5->9ayg7^tFL%(-K8*l1*NE@@EFLo8c6%d699cq7S|(E(`=^O0fvI* zfCQ*9B9p>%64?a)=gk+->-L9-o#>_Ipmo;AoySQ2mhVGE1QN{>Lqr>99k~HoP;Nad z|EYsFL6OJtvPU;Tu{AtbhG!YkCv=pv#Bo%%6s%ijpuW|eg}XJHC1e3qnf_c^B#<0P zpH*eHBtJj=26nLTBg1M0;Ftbx1bCP7>YM6(>FAnj%UE9a@SF4X;V+6bhcq&0Z)ZY# zOmXC;=p$0Gy%Ji{f+~H}Y4zNi3L*LmXW51kIJHm?Ssm}1>m>a;`?tN|_&N_A5pk9< zL~)trw>CTUKz>Sv_=Or154YbRw#?ATZnCtGf!bn0x%vF$S^&Peu^x_vC-mbjvj{I5 zm@r%c9HwlHg7bp#5y|s!L@|5BR#^$YpZtM;N20!n#7ej{hz*gqL{3CrEytns&9Qbt zPVe*ee9>X8Q)WNz|+OjT>^}kx?9981j zQ>Go5Fv&%;M-3H z!ipGkxC(GWgesQ19X!_Q9oUViJFr*lLNJBjFaAnRN#J+CAiyM`lmaF>3PDS}#vpwW zt)PkMA7Nq45Ttr)y(`+^z2w7K=xPQ?)i+GA(y3cM5&8VM4{1_I=~lAU`w>aPTH9$&?C%>Fc6 zA-fr}J+-0M2zuZ&%-+Pelx%k*rF2|6^HJySv&}oK{b#$CKsa_58b0xlnkONoY}OG1 zT>9z@6@TZEhjGrJAuJXjwk+Cbn{(jF*>{#4E;Jh9DtsT2JBf*!2PZ6sG+IWQ z&#%X=8M;=p;Nez*J>V-fz~M$w!1wX=O3I)-%x;LE=OqI`9gX8;n>otE9ArEmbeMc~ zMB(`ca2A?6iOE1vCKW^z6{8RfJ;*>F;fCWbmY=dD1+c|A{WFoA(wX=7;Xw5-o+IHd zhWvL20t_VGw8w)CXh-?K8Q3kM8A$XwJs~uT>^&%Kb>Nt=^I%8=(8rKa>@i=&IGCUk zAx{Gx@C4lM*fFMu=0{u)1hJBB~)ox@!1 zhgaL$ug0e&!cii9p*emXSM`B@M^ES3MoikJQ-i7T-k+2cAXQ^D)DnMZQ*q(RIc+FD z?F-nF zbf{`3atRNiqKhIcll7X43tkBidzpR?nqw1H5QGlfkHxReGb32L-(*D~zTz`MVl2!+ zVXP{`sv^5X4OxyXO)i7YU_V<%b_$t31!vW^%Q9B;VlQoU)Nt1FT4NWsv%_yf=9Cx1 zNNbp&P^-E}ciQ5)8UA=0o4px@%>A*Ukbj^v>}=nwTbKLw>F1l|M!ds+&rj#FS}0B2 z01MnU0>x97UVBre=%9&fYKzlaREyJ|>_&WTYRg@Ba0{rLv^YW3iBLm%{H#XCEoMVZ zEo~s?{*{ceT6O$ItM(Wf=(Nnja$$u`b}(sCmePRchEK6)+iy#lIX~p$EYF>D!Ew1X z%WWgEZo{|oJXOlOX1kx&wC*mtPM>dyw>0adoqxdrXVYw%cM*ru0gCm_pjiJYg)l28 zhUN^4^=+V7F9M47y`Wex42t!!pjdz7g__j&Fn$=<*iAS0(LtVX|KiyCGqa*(y&2pa zhas8vtAT)7j0DR!_ke=jKKQzbD8UhtFQqZnuz4i)Co7=@l8R`paXHj=Wl`-T-CuHJ zi*a=%y})1k&RFIk&p?2Q00PW!xj%N&K!7O)0!)2j&7D>dV1|MKlN$t>CjSkXC;tGm z;eQF3fjff@xTg`lHfdB|<8Tb~@LvFdWxYr`-+T4anRZsbar_oi`TAR0h3pGv2|-?U z8U+!KVjhrY$Dmu&7Wxea_5~w{&!?6E>=0i8Hh9;#^}m8J86=vWB%YNfY5Va_1fM7= zAu#+K1WS4p;Yh$2Q-2yb9FpSGn&5L8Fl5QJ+Ta@Ol>5eDNTX>FfAl70fBqjnJ*+z8 z{?Q!Z{;h!}Jr3#0{s^3h;MUOWklk2bzai^`$(XbR)<83w{~cT^^i-#C^#5dTk^8P^ zhudqU?Xd&;0Pd-GNz{Ik0-lQ<7U^<(0n%u00TvtzK6Io!!~y2WshR-OphMMGe1v$% zP!Z=*64%!#HX7$VZ6qnmk!9qIFGAj?wB0?H>Mb0@KI6(IXK}|JI1#_p1N=Kq(9t;G z>pWT|S7mcT!rn00T657>KC!OiM$}{Ql);Qy{Nllm_(zj;(StZci-qT11J*lc>4QmW z{8oeX)^X6yo8=-o#n4!PJj6@6=eA(%->JE8LVD)&e5$ic=UY665)bOs?m7MH{IO02 zHzz68iH=p}T((*F*W$vsA4Pm2q;JlRBzY+Xos z@n@=qn08>{sQB7LyE&AKB)XnYLQ$G~`uGU`|7r`**PeD5N4XP~aD z%fK5qGs2cGQ7LVuV*lc8$Cg6VkW{u7UxVN1-(&QxOf+`FwBsb+b36I^N0E!N9H*U) zU7qy2RRBn&oY|bABMi12z?dQ*XQ}~1ryOgeCg!2`8ky?=$>@#1&wv4Z%Hf{A!|QGl-D{~w@!kV z`&?&>@QlLPcwogb+Y*WMr0<@wsm93B-Ty+iup(b7_0|VT;7`3-Su)=5yGOR~qaxMQzauK);JZ;Pr1WDJp%J>Gf+U5?x=}bkd{wWq3mozSgP+8W zG;qTnZ&O!4Gr5wxE0{C`n%+*1LTYMWGKamYdfu4D|QE2a=JOJDy^4F4rj!s%(t8uDM`Q^P`#&X1d;M*;@iEmkp z=i8~=%=p!qfctuMBcU6%VR#2lZKn(y|dZ!ewaVC;rWaB zpsY^+u3(1AHuHGU(>WxHv%5E6%3w8_cJG#gD)$p3RjFQ~#@e*rA%UVA-Z%nlLf_Q; z#0U1(86)Yd15b<}bmW=Z@5G34-Vze4yb|JcrEZs+z(i+}eYCuZsI9?3AT znc|i|cl%Woqribf-1j@IzK@5!)|_Kh(TTX1Qa}t+WGw6AxM0%CAkhEqbnJoNxLdIR z4w{mo=B_^@v5xzJ8nXDX(PH4@AX*T(Is|3 zoT5bMo%bGc+cbnJEop30GKJF$>iRlt76g8Zdr7yLnuS@r*#58yA)GuvdS`Gmaa-{C z1aAv|wew7!7Ru z9U-=F65Wq)4OYo^z8Ft3Y_U&sgC&n=sVuiYZsJ#yc&zTbt%Y0}l3bs!9JfUa;9L;L z^e)zzv-g~#L>&0&6}_r>cqEMxL&!dV9CS z1c1e&wN;R3jw`J+QjCCsM$F1Vv9MMkJ*cMplC1LSdQI$5*rINlODs?`{y!yk!EM@s*3)W_8sn35$$XDhb(( zikZPO_J8u_)i08dE`QY8!g73`n-^4&&o%V0*?i8v(lk0nIteZc?9&|jf<9;J9hk3w zCB$Oqr@6mB_hoFzTF;fU7Wn2dQW-R^|x-RE;Xrb7CU=i2t5Wm%_8{VTAIRz8xpUt6XtzB~GEU-&!Gzyq6z zY_??ULI&M}{H&e^Oig*3^>g00mk_E@hPD}fZ^C<9etB$MP-;)5(wR>tZP;T%C%2yw zy9|#S%f7r%&+2bG)Dcluzbs0;;u4{3iLC3tK7`lt{n*%4-E*8CC}Y$f>!dre{GNZ- z?p<{kM4sN-d^%$uPjF@4NO`>QJz^u^eV$f{5cqnLUj9R&S~T-SzDnMR-(Dx)&828_ zY&5ZT-_2dP*AiO~N;qJV(f7&E?-Rh-{kFGR-2Jh9CFpk-`uViH{`tJ${XPv!{Q8Vz zuU;H{Dn6~gJ@$j2R@3N=JA3#T79P31<3w_AZ~CI}9v9 z)ZEW;lqJMq&lMgr?G6y=TUZDCQW*xL}4uQ@wfZ(;}mJAsp<-tX;|& zh|S9jXOA+NJ(uNlx!Ia3EPOaBG7*}lXq&(9NhDURsqsJWaHSfu8>kgLgqfAHM9q3S ztx-8r`jS4uUHH{i_yPyD<6INuW649!eJo2EEpNP;7&;z>Haw2ROCxINs^L#bVn1eWazH^Jq(l&^atO*roe@$_;dy^Z&OV@;R6~RRZO~+Hm(Ov zGbpB+4)6y>8ps6bN-gMT|})e@E89o88~Al)4{8UKZN_SCtdDr0QMlu!)^?X6X_K>J~($-_r! z^LFlyfZ1>xEqSR$T*gL3)C2jpo|tx0 z$40{zxupK(PYJDf#wj!*+EF(<)C=Z zT0ueR!CK2_YUqj-Bo#*SPzoMB0|7{-6}F*JVG9n~&IH1R{bw4{L?;gRx>kbi3S@XU zPZi}%$FQcKz-w$)GAJS&w3jZEgkRr6XB;!E} z-3JAbdJe>#;tj8$uNy{&BatUD>UT&{8jRYzA_yeNlkF|0t1lbvc|Vx(%XnP}8~Egc zC@mM?ACAs6qCAl?gaNiCG81lhbV;=*vrsN>j8XB{pIkE;oUfRf8U_^=iLxcu7f^fS z!;v@I?fjY+dP87KZi>4N-uZAy*ZrgCT|8jQ4y3QGLgpcC@&_@0zP~uINJLA6C1i{k zB|&^ETQX(JnFQ;~nCLy@+hLN*#lXkWxG$IrgFv-MsY%Q!=Ko=I0}bn_M|w!hMEJ!?*? zs*Y>(Cf?hmrN7&>d^jqq5$kfFAvl-kYAaM_@ODh!S1Pt2Q*iEn zS+Gk2*t#V%W7nRCxn2!42K3c_N7MkjwB=Cc$Z8mmpY+y|=8cU$kwqe^Xz+G^99a>?jE+kW}0Q6GXJT#VpOkHS$@STd{u z?>H=*%LKD6&qpV0?ZH@EF{ZLW(;B>fbs1l2R%MJcUH@`=iy2L1>!_>W+#X^JtJ5yV zLWIYpM-nwZr>&Kd9Oasp9MvRHir{21yHxCE)I`6QpL%lq$T~lJVP2Hao0b}7E67T? z>1)Q*mY-_rYi5y^%AkO<2(l?oJ$barMzRU+X`ohxL9eJZVnSK};t!|u71PW$UD*&C z^!EHHTzHbHd;@V08BwExby7}3WqYMhS=J*Qp`4YjDZQvDzpC0R7p$!dA|&thQ6Gm! zj5Xq}|J-@ub@ikq6}Qd7mB-4qn$WB`zv^*e{@nQkg5Za5MAba4Fy%bRWa*dlI>R@f zmJ$d^Vbu_l`NW7`waOUeNHJq+Gs5wJMqW;kAZ;Y-wkk8rmTE6_G$hOB^7O=!w=6uP z|ND$TNXfy+R|9ZkfBe$8Ef~DJ4VqBoe18akTg_tQGkK9tS_S%G+L7Met9{@+!;#Cm zqId6`=iEk0cr5U!c=_IjnTy}1FHyj-bw8;B6vxt+n2SSrHsiJ%2dFA3Bu2aefX?E1+WZTQa*%Yv#grb-gX84_SI(L5uD*+)84Njg=lQ_Eura z(@xvETsUZ#)zj!rXJ`}MT0xIW0o6KfIpaxK4?yhOp30z1`N6Wa6D2s5cv&W#>ZIMl zk}V8gs%ol&uu&WhIwO^<@&&!HqN1`X4-6*g@{@2PCAo^IMMgn^iS3b$bekQA?c6Hu z58yKpDpS}oZ(cHBPhVv6ICM_jUIP{Cy$#_n>bKKgNmO=e*}w3^JLvOMsU(P zCo2!l#wYNMp=+bu>YAYi3D{bV-Gy6SqbonIO1_V@b}H)%XA{$gw0340yf)?!>&qc7 zo9(|^EbX?D^J556-yl+hY$H|1%VTn|SW@9o%c3WQIfqKmtG;0E7OdL;EX1cJHd&Q1 za^1wiqSDkVM`p{R;ZVND4o1xoujS3l5B&0~6gwxDGv;L;I25Z7GeMcD!fbmv6h7+2 z88S8F7&zYm(c770Wk0YaX}>~&*uwD#Nq7e1OYa;8oDmdF=(F`u0GEw;!k?~<*xA;o z3A|>H3#aN&){7Be|K;sQbpQ{`c(g8U`tny|x1XutjUIFW)tT$_LE2@Kq-c%Gth_c( zqat?sl-Z8hco^5a-?%6U0612jjWH=09qtoDT1rCO!-62t<3mkiytf}-$8_{euey9+ zWd@twVZpn)JkQD)++uGA3gNH+GHXeUM{aVQ1KEJ?vHIV`ST5xz{c^(^sqk9AkInX| zpnozW;fb=yXed&)(1)s=JB|5!eKvD`(0c~x8FXUg+VhFNcs1bd);o!Y(D|F@W${?;URZocsk<{ z2C38Any`C?ck<<75kto-4|2($u#+cC3Y{A6k8!N)04oe zGUv<-jKL21Ig6w9-F`Z6%de?=IvB69v;Zl~N4GkDeTe(6FL$<=f#O#v%$Vy3*1N)y z=`4CQvcB)_{5YOzHW;ANeU_r0ch|+}Y}j*bm!V^KtsDhiwxOQ;ZDag8&lqpm-NEUt z$(<{Ama@wVIK&>g$m;24z@%%J$fdUNUTpQc7NXSQ^d;Lyx6BAf-g*GJp%QNV0gzAR z?p;H<6`6+ezB+^aKKj7X+U(X|F6zAHE#DxxTC|7-6een{f9$m@!+bjeVvzF5XjS{n zc)EoucRm??#+zyt5$4DMH>%P*{|+a4KYN?c1!a%$B&HhdYpVN6m?%^XHnA=yH4?k> z@FDlF_Q3((c?jTj7$N&ZN-W&u|xS2lN6NirvIhTD# zUHfsmCTyFt44=rq9c+wsxMMxbVonbmmn#1IDyC`m1!ACrv}S&V~#ZS-NRd-F7Kq>ZKj^s74s}~ zd#CB9^ek*#Gb=m3>Q@Y1j5zogxZRqij+Nft3U`0a4;o#IQAT+etG-ys?dLWR=1#p_ zKc6x+gc6SO1(`tZ3Ih-K^Ul(;T1s_M++cAUeFIl`(e0-r?7kU2rwHG^rYF4}C1g|3 zmNO2F*y$@Mls+PpQDYiT=i4!owB?|+)l@;^r&nxUy(IX=hzlmsl4ZsBX*9iVTv;Ao zpSwGvUe`q(Yz$GVjr=(If&N30D0^(lVA0^~bglLQ?L}nj5iom)-*Zq}LSFx!b!e7L zFfh4Ume)2ZX-}OkEy?>9&eqkQWrof6*X!n9Srqb-k1@UciKOp}nospf)oGb6ajAJ+jgi`#GyWp((DEkdLUTt#_d+k>4|PyK0owBY1w&0k`TYA+Ih;=lc)7Fb;5A zZ-%)O92$XT^z<^enm%+ZMRr-|8#S)I2=>vCxUQ^!Z%S*ZXQeT}G0V1_z2 zsh)s~I`W(sqfAm20Z%=*x!#&Ha3YnOd`V1EBPyfy<*ZHj^fs(s^K{pAQQJ5R4xsbL z9lR-t3g*NorchfWD!nkHp5cUNGI$XsTc5A=_J-B30%71^P?H$}58rLT=_pu)=Re_- zsm`^`P*1K-hXu9TCafu6DYGX>pP}yN&;H<`t+x#$=47?0wj>)j|Hr*vnKhGAg>GDs zd2lP+fQfS2{7wvCGf&E!5N2s&944cDfzF040n=VY3(*t`Q5iqZg<>I^)zsz z##DcfgGk*_a1*ntdVh~+$XJ?IZKc{Owei2O<^u|A(~<$ldYxAHB9>$?<*-3nn}b6* zU!jaD{*W@4wT&@XUsD+!_m31d%LJ1cWyY;D8D}Vd>tRVu)Z?qxvh`az;xHgr^lws z!oi|Ld3n2zpP}TOL(w&=gdSo79P}(IkBx`UFDVN+m|mq)LiMMLcvjoKo=GT+yPo{S zaov5i0siz*6wb}Gaq|XXUNz;fAon`q*^T9|M2$NsUu;q*S*vqFRM78(g&)ESBsTEr z=d8$|IcXDWU7Hzq?F}X`bPUHBx55u4HgsUeD!0<*Bxy>pCyYI?6crrZpcJ|y{jE>B zA{hO=-GnVX^_CIYI?wTl1}nba?pPN_#TWf`Rg~-_WscG{aVWWKGs4<*2-RHbYnJv~BJ40flMp=i8gXFw%+9DTIBX z9j@Pq@U9-dC5b)$h=(yWSce2t;96@SJ-fJ{w;?sVcx=2Wg#zzZd(kSf-ZHXJTG+T7rWip-&LXWELOtUrh&2Zjx(taR$VDDZT#}+rO6|&9nLxGz{qZP^iQqkx@JevG{r|7^QV`$HGVPNG!`zG9F9kFlFAueeG#@idK4qb zzdoO%r7YHpa&hq#<64-7pLE1dpJCik9<@Tk78PwK+#Je^#KEy!;DeX%ur!jM1gZu1 zvL&EIMXp0Zv&gGdwdTax7_%_#J7rtY!GHU26XZW>XRTQ1%=YoW|AYVNix}NjG55Yzp%nBP++$8D3R=r4P`92d$h!<`&$&mf8V3`iksa#@1w9ztEv|@drY_S-=MxT896wfk+g2 zW8W9b;P@^rYH*3PH)>+8Z#VqYiao#moO~l(76{Yrj(k)cpOS5S^&xK}aGuU#h4A(~ znwp*?AwD(J?reDDriEuT==l(0k`RURf|p1> zlb0yD)nbk-cG&VYDpUm!6*_;)JRfq&K*Jpa{|;7s+h!O@6f~c+Z4}e z=FIn|(bb6&zRM=w%cgpqxhA*our?tA>S8zcG$xHOjrMCBH}-gLd`60F#mZZaTXb>p zr=-O=Q@r$q3cwUzq6zAhU?}(|qeVif+StHks>mIh@J&=4Oft>C;TWLAgApMo5y4vvnl7aBomg2OC*Tr^@lSZuj&0lgi!hl9YKZGUsg`AuMipJ zKqLMO)u(a4_Vggmg3U+&q?qY%a~{tbu#?yrZ~8QzHpqL@UJuuM0%{2d5oAicG3a=LF!|W3 zFifv;E#2W}8D0ZMlkt4%>DO&XZSgx6{8)1?@Al0~S)CM3v^(EaN3>;f8cPoYIgjlg zyfR$V!;*}_!=QccRyvl&`If@Gbm~uU&#*G@mp3%EcCU2wJS#@Fh97w}0LOks13F%{ zxS%4jP5n>{Qqj$=STL=8TSj@d!hyQwuVlGbwWq<3x)5=lBV7lZb%87IfkR_PD+iaImiRDtjeAvxAx? zO|I4Pe6vx+eR})g`a5CgN6oQ6u^mYhwmg0e&?Ae3%CYmNL74hr%o1|7XG%fW%IUE| z*o!^}r6j=Y@2>;}?>4U|)!mbO-#I|TQG;pH4qry@?A6OCRd?_}wAZD)xSmo4auO%= zprN=+gWOhZbz<;3dIz64QAVS{`4q9i&7>mDxCB8sH;@FYl5YdNh7YH=J3+{p)(+j6C?ho?xi zg4w5Yl=({iFsr1U={F%1uOhrAOPSF#qfc-QI^XXg)JpZ~^)iA_R z`i$3WGZ-ub?%Jffs-|C?ZUj&8KglH^3vlG)2h;R(pWa&n*#6G{#F7^UL1gt=pJN$; z%hyKxvVtM zSgEnOfsS7J%iAAH2UCm~ZQIBpr_@h>5;O9Kyti@IF)_C6C`9H*2+a)nT2CrcI1GNP zBg)I}&tQ^Kwnbw6nOZCt=L8MucF>Ss0S#$zrLQ63RA@n#O4 z`p&GLG|22poBIl-pp?bm(F3jpr+3D2HUr$}Wc+--jRvhpW9G5(_QKa1%1)nM`}I*o zh=Ogm4bnx<{=9qyBzJeL{GA+vN>&INt{B?>w_=UqX)?Qu-#(Sm*Tl~6Wx9~+^5B4j zQ#yH=7595N6|wq}7I5graJ;PK5ZjOT6jux+4XU?bCHM9soPTC;d{|#zF7|1z?n}ta zcy`*B+f~hoNDxNcb%@EN%zM(3>atxdyDdC8Q>S0_Z7n$rYFJ+E;uG!QE4o9tEd9^Fs`47; z#wLt`r6rCz-rS2YHRo0pSlCr}$td$K*;j48SGg=r=I^g7?%H^zOZTcm_|#GGX^z?= z!6usCtlssYwN7jk*#OQL+Zk}2L2hykE126vDQEponHT@i=kax!w`!x`Tn;7vgU4#e zNKNmH;hp7j+)c%Zb_H9ex5W-V~5ZDOh4nHZFgkx;mf#ix)fp~l|+Z+RahhHdXgpabXRxq&wyw zbXK)o3G~_!Z+FU zc9-AFU3|TR41@lVpUtYQ^zNQCeL7sJzVCDYeD{0*p@M>+?`^tEZR3yvNRj(j(?7v( ztAB#s;~>HAUm(G5;PSRUNU;0k`F_yu{V@9T{eH0d(;av_&iHZC|M~J_%wXX2@NtHs z@Q7wYk9{^b*a+_ZbbpgAAX}~Nv3U65=rEqF=eL?p!x(xv-qlS|mYkg5)p4l2VM@z! zG_LM_Z{rHHgW`8S`SG!x{h31_x>c9!dN-)wai|WpGgc__(r``wk|;blYVGsmIjwn4 z8}3#+8@>z6imM~(HdnTI}L6j@d_VS8H1E_~RetSqtpzBB+ ztQVd4m>duH=7?<9f3bwSjV5I(@aC?{WOZkU+&rQj&Ij#P)(itz`|s!9@R4%pc$$ z&U(C()H+~1P85T3pK4&`RJ81RpSo>jk<$#44L7h(vGln-X6;^z5v#s9b|UayQ(z(l z+W3Y6;*sAtx(Dy1Bz)5i_JIZ8yC4c)=r@XiUe`N_r_FXWL33kJx9dH6Jb7qf!}pI46Y~JZL#W~! zipMzjs_NLYF`M~?dN?!n(oMN_cLIIzPigsmn04QhbjGcv9Q%FzxBX@x{l||E<<(!# z)Y1AjS@_%m85vF5Kbl@HaZfEnP}MFPUKnirMj zep83$xHtPoP~h_lAeHWKwknq6x}#k2Lg;b1E~V4zgpp(6U(N47e!cqYAv{jbs$@Lwmt}53~ImCZJB-$LHREaX4wN<4<#+?;*%Tm+rvOO4#Ro+JzNg z*&S7z0^{fG{kt+nH}Xbfc2}04L^sy`E~su}*e>~pfzq)h;UR@DLpnXTzHyxv*~i(G z;L?ybYh>KbA*YH-CD_yQu1}jKE%`FqroQp}kxxZqq?U*HGj{iD_4en*ot@|3$ zVp_t?sU_`@zLS?Tcw2SB0UG#J3=uj?i|&*`_>a`P-<^}_TSt@7@qBfn*nL3>NWY2_ z&I-V=!i~7E3n{en48t0r(yLNsj?sQpx!8-cbix1}E8)~>5p3+EgKZTDH;bg%9^usn z1kkM)b>(x+*st9pP?F->GESAR1rY9^^s?T{FFq*#&?O4K0sJEQW8-azfmkA4-rGdp zZG3`?EKXtS8P_h+C^SQK5jg6%28%cSPMsk)8f ztld;$0!^gg3;oKDY?c|G<*H4(fuaN2dy_@EeNWVeto4#sN`^kSVOI-{pA$^yHG-SdI*GD721NdjXjE~6d&&K zWBKt@B^8e4K83Ze%MeCPwB}DA+cnaU;h(~z7<(?j_xpRlHT8^-r|Ry`>weGp^S*+N z{lT=#fqj9QHTsYN8Nk;jyw3BK*R1b0v%J{n!ij`__NEUa+HZzur!bp{-D`R~q{ewf z6{;&0rCF$7UpJCHw?hWkjLx?VN~#8Vlk$$w9v3iN;U}>F4`c5XTuUE)i^jHX+qP}n zJ9e^T+qP}nw(acL$qsj%v%dd1Rp-{N`*0t|`c=>g9PO#4X{G6VRmTRP)zx*0{O&KnU14fu-X&J*U9zX&8as zp*)oKz

    $p?98Yaa#c474WsKMFVe*R(~(l7eQ3BYv{`M!c{UQXx@KiB~w*deT$aM zcc46T8mm8*C=r!P7sIqt=nEvOrLZOUSUrwG%4d@XPee~hEs-?soCAEh#{j|O%pi>jMZZu!{){x{YdK7DJ|e#hfwM3dA) zmJA&wt$C9N#^~ZqBsnh4BVJ{V)Kt59nSr-BuDQUkT z5R-!*^-;_`uhccGEPTqwDYQO0zr>rutIdKEGv@SplC#7pvG50_o}6&NNa>m7GXhE! z`3k~}t#8CesViUtE*i_W|J%<_~{xtxM%6pyjhnLSM1FR-B+H#z==?lqL_-F>zW#rPj8j-Bql(S!o?=&hWb znk({8JaPVg;H{YXh0T}12jdpZ@5Pol)4I$JXka7)2+gNWJ>4!9N4ERmMGP&z{aiNk z)4Z}Pb!|6-=J3-x8xIO@8tZAlTY%BKPjVeNVdpA;hEt1P3ej2+OA~OM(X**bscSZW z4rJ`A=np4k>}VDa;AHH&oPQC?*y*s7sL1f+M5tuv#j$3|@?$}Ptm?2P)#9)t-6X<; z^;AND;9Nt1@IZh9i>iSFt15#6CquvjpDV)xTdKhVLqWmP^>T`7_3$TsScL}exdX0%Q;TcfwVSH=sye*#pKd;`)2+Oce}g{ zaCeL2W+%Tp%#!pt%ioR;U)y28Pshs-du1bl$Oht|!ru*P*XdqU@aR&43n^jt+OB6; z5ozfL2gnd(H6Hf_Q(DgLp)09^krIrb)KPLg3+Jrp-y^4tK%_5#k=~o!c;B~0mBBah z_?L~3wdmt7=abDtZxL%LEY9+W&Dg8Jnv!O?P!|mc8Iid?+Cpc=$bAb)+n0!Jo-)zEf@^le?0^O`hy)XD zgfeRV2k#`_Dp-XEP0iC!?JVz!+xu4=E$v@`u~nN&wM8YrraZm>Yinh@<>i6En*7Pf zc1AijeI$gK>8RzsDXY$6M(|=0*UOw`>w>$hyGALP+b(X^J-?|mAZXMDZ()O0BD$ai zbm5-}(-Jy?X~GzLEsFypR2QcXSn!Q7n?a1mrD1YAJH-aUf}wY|IFm}DOE~pu@GQxO zpSKXxlK!JYM8SV`9q*&PD5Jx%!32pt2SgmpU(G6XCe5#nn{+-d9cGXA-U0Z9aL(mt&gn-1j-`q|`)Wd**_#j}SG-3b%TQxIHN`&YFqDPbIHcNsY=70s#57<%LGlVaQ>-GFrQ+h+l^V3(=U-)6Syp}p^j>vg#Sc2aYWa?c zRD#nMB-L!ap~Dfih5=jo`Sclboc=FBwuIZPe36+YF9r!)%_69V?=(h^u|xO(39SeV z-mJKXSy_oD)Rm++erqMU5bGDmBp=O%!}R0J_bi z>5=pZuDlyL7~1uPAd1C^?j7N;#Fg$tBXdbJUS~!KP~_TZh8F)>|Z|9IjKA9cUB%^q+iupNo6MJ%2#gcmiEV`m|X zH=~)s^f`=8v1!k5x5ZfA7oJ0CE}VIiW>|=QD7jAWP#=2!;zpi>)TjJws!R1J+r+Lx zxJ`QFzCoW$tkIbZy)lgI!k818-^3U>)+7@7VAz7xYNQMF-VA=A#4Z|~!b6vyh;|}- zf@O(_W&IowsR{vzR80m%sxC_)BY_oGK#?d{KujsWXRuKfiwLEjLaxIe*jB`Wz>>c@ z`wceiB=-)4cfKFESYFC&pnUJh425?o6C?|^rfA`oJG^6-ZW;XzFO5vM^LLx1;KKJ_ z)}qfYP8DhQ=ddRaIiE7F{OgQM*_f~pN6m&i9zQ$wJYGizO1}Q`lw2nZO}6+@=nCD{ zZV$Gt%NZnH;z#8Z)OG`&0TFalt6T6qHQ0r$)&xC5hYVMP%dFLIZ>-h6kn8%eg#L(8 zm(}h#+7nvWU(T(^?r;$039C7yYeY*rfhk8gtJ`6+H^k&%obf-$1bZgO?UvXK|92Lk zvf4xJH9`_XdrJSmPZYh3T!k6#W1h_R6}4F4476$yx2SKq>Si?=RR$Tpv<+xA-Xj8w zB1Xa(C5v92>x=vZw(DAP--?72wB9`Ap2n!zmt&|=QPgP*$8QjfgqJ?Em4a%`?V<*( zOJ69BS`%^3nd!{*4XNl8vgi8p`D zSmI|*?>B#cc16bLH}-WvP(ra#h$4yxSNGSs+%JaS>5<;b*T_P<+K4|!5>})}$-Vtm zq(_xv^sPlb`4qagy2MB8tD!>n-lI3FThG0#ZL&*lD%htJuLe09ueg>R{=zWTReSlj zdiaUyI%6gmVeQdyQxn5((R21osjh}EU9~10c&o`cFS?EhyzU|RKJ=T;I*2w+Oe$Wj zOjnOSaaw+UqeH@pLS&lRO&Uw4KAEiEtYztoU*W_(XFPLdX^n*g^*@l+U!t80jcKk% zg1}nhA4GEXL`d^DMYq}rAwS5k*WzHB@GYr{U zbBwf7|I)zj2*|{oXsy%xHfM|s>(eRMfi%(axOr`flbyAhp%r(R{nKZ0KS@~Qdo>P? z_wpupK7Q<89X9EpK5KYTm2Ur?ZrC0j_2=>`~K zowIh+;dyvCIpXg1$Jdr4FTJ0fB7M12)9(KIX+0tZFZ_$dB{H2oA8gZ$=W+x;YU-OV zOU9<;24h+_v=05FhWv~fD>n7`iTqYYH4qQMy!Cp2lEJcnWC4A#&!2MI!^WBZkM-jn zW{LAYU6zh2&3Nq@hF4CgaG!(DhEZfLS8y(HmOD)w&frDq}%hdakwkXv5* zgf`5g>^eN>LZ(9zYWhjk964&8)87tf!^@Iz__w6>A$jmuL_jW$T3eQ&fHBy@N}t!v4~=PEsvII^mx4 z?cgv!m*s~5l!vMa#JRw5^n1>KuJZhyoLF09d&`Cw3Z7_M$(F^_rSnHAP$W2zUk^+- zX|D!1qXc{GJ;bbxn27N%vo|Pz&eF%?6^H7&w5*3t!rsKKt>p(!7;ekA4+Z~(C%V1u zQNDKUYQj4kW~saVgvh=?K3(cEIBME@36?Y&(p!>D2Oeq4qVs3{eh8#8y31G ziA{I{qjLDE@8=0HPE1#lojI5o^ZJs9zuyH5aAojPpQ>N19{)W_JNg-<|6m>cd{mv3 zKNRv6!aMPydzSU$hVADw>?JBRAC?;yu?Npvx@=s|>ip9X(F!CtKkZVz64|cR*N+>H zvHR9>=e#OtBEcvypEv@1OFf>0H?{w7T(0wOPkZu}aZ?G$r`O|*tUAYtczF^a(9nV$ zEZNF+NvbqZDP{B6-@C@X0h``*ivF_296ZL$cX5V^DeyU*=jL7$W)i?Y?>XK@m77E2 zVZ?q1J6R5!lcf-hto!{*YCfe}i|*x9CdrK@1oYmVUcTrKwH94398b(c?OAL}s>OI# z=0c>!_zBTWPL;YH8Gsq2Ox+3fN~$HuH<9tO#91noxB;c_q{v#GhH71`#`VM^yLEjNb#Z87p;qMF_=|= zXed>AD^(xCP~c}Jh+lPYvlX1(zNvdG%EA&p1E=5y$|7t6e6q={8C#9?JmHI~ zxxHX8wo!zeZXhWQ&RomHQSezp|4CI$+hz3Enirct%(%3n`r}z8>oXbgkJ4sI_W9xG z``_8%o=$m*0ZFY}pTD#CG}$UzNgJPL$6n&Wj*U)`_(AIkr&#N zWc6D@OWW!zyR=>PB9tNL;mwZz%9e(yk+O|$EOd-)hGW$cN?Blv6ZEpsUPlP@A|Hb> zigO69nCaHS$7}W7iA4kaJm815{=~vjEABVJ@?ZQrrLssKdd^^~!cc~PtV-(`UB(hk z%g(Gq@axsHM2mXm7Ue$$>|a3FME`{qDuJQ&w9{{BnO}v*RMOAxGTFI{drffXFdAo03A`C46$M)VWJjmGxp; z#vq<>-yre$RM@Rped#<)HGlbwx!v?kp{7rfI>So}!p@a}+(0_7!;?W!h`McCj`kV& z7|3C(34YLI*t~}P3*(|gXKJ}#dEJXcsTG>2F$7K}OMS!{C+oL`C^PC=y;Nk#Jvrl3 z*r?rD67620&R+^l7rvvATK&>3Nq%XHS0C^Dr(tA zI=f@C7mPtKJY1L7)rr>iV15NxiJe#O#jQIylK(|0wwKQ$)oA_>L?}M$zJ!5`HR?5p zQ3y2ZZJNoT1@=yL8H5h(l58%XO!;NdNnqk=@ok4J7shm9lDhHFx>!!wn@TQuVE%5rKk7$A?$wqNcclL#%vW~kVS~pPcN&byE)X5%zn6f>yyV>G-o5yNlvJxoW251L~A!mzlx%) zCAAV|8V5{M!YnV&_imAv>IK7_UNLU+cLup~X;8TQt=2?VeXN>EU~{-Lzyg@t{~-XXW! zVZG-e6qZY^3%PA~7Rbe#b9@OO!SvxKN}JJ;HfzhSC2U_Uq|L@=I|AbNEl7794bRM) z^I)kKO-iO*Dr0ob3jN{Yk92baP}197xPP zI;V+Gq@F(35$V8bM5+W;(O{7sCbR59(clw=6|{pA`iz0P{xA{z*y=jF(UOr$xxOeZ zd{^`X`v$|*x=}clVeoB{58RcqKvgV{_}d@NNLpc1oPeyZWhHbtIZ+)ZV0b@y)m0{J zBJp9X06zF0dCN5@d?YeGVm#GfQIF)q?FYs=^@FEehM@R|K9hgVJ+RJf8uS4r1gAcT z-O)E3TTDQ~H>V!>x065+pc$v0TlWVFYxv;WUx8-H+#P>2+L&m2!8!v~DPn7@}cM z8^hsrbK|{KH$|OYy|u2BxPenExNvIpA;~Y-cLZC`(b2q*3#_$WA~1?fJB5g>3}EPu z2We1H+;WtJ5)M{5jhseqIet*wN7RTlmQK#ik`W07Z@cJB9{cEMeo+pVjJxRQ-P-N2 zEC!ATE-KAc$A2yLOwPqnU-JIXMb}#hgCm22T~89Qy;tW@6au!H5Q8Jz{HL-D24)7# zq74Qy2Fg+mB&tfbs4eO3m|bj2|2|;8dMf1%--}pQ^Yh2D!Opciw~T@pm*jcvktXj~ zi78Cw=ONZA*|2`WUzOm>)h%m0u~8X97F*gf^&vK~u;}YGH8ZdurDbng(K)D9SDq<0T_y=&}k5M@Ih<$?G>)ZY=fJY1=4l6+Y{30#175K(GgI%88l@~-7+1_%##Dp7>5?TBq*vG^8rvaC z0jW7;IBp%S)1> zKp4_AbPX9Qjag~>H2z(Ds??$4ITMe?ZT&fXI^qi3CiR=&rTAK*vIK$*EiLTE=s)oe zzx66sl5zD>GCi}qTiEJ*H=3g)*dw zH+PqfOZU8Z@p*HD@|-60=3tC&TKKOVm0gJ%XUldgSIYDpmTj`g59aaQ8b3%+#n zMSbevsPNL`&3o!VKz`~_00+Qp=_ra|;V4Q1fWOl5v{piZGzg*iW_w$Fj&_~pqhRbm z^5!^}%9}Qqy4c7Pm2j}l%4>P2wIV=RD#pNaRa){~ns2IrJSGru@jSwnqt!h4#N(Sw zgj-6kp|>!e&OCmzgs+XJDh-2OQFl@=Wqt`py$x~3or4gSV0p?EoMV~mp;6Q8qS_Sq z#^|;(o)Lzv%jpto_eBk>o4k#K0C!CVD)w_?_XCm<2EDCOhMn&a6gChAx8ElrC~$B) zPdvbm=fi4)&-GG)NP#4XLC^sf5j-8c(Bwoo%NCfOf0|$2qV)c1e{%gh70*>X;=xn4 zZV){m(&sK(DexiXIGlUNZA6|PCzXNsfYRq$pS*A{ggq-;2<637&f*a!NIoE9oN7q4 zsmD_WQ7gd1i=%QoCJ@1t33CqBQ;+Z@byprfYJ{ciWVYu5vE7n;pdRW>bpI*b!^bpX zD7$5$GW`uXf|VU}{X|;IbIijHv-Xx%&rRWY(y{cQwX)Pt>{esbRu&T9#m2l~doTi>av;l05e|#15NA zXeu#*0NMOtEQ>B$#mN+NFG=adX1D%VWMfw&!3;_?Km(c)e)%}8xu9weT_zCf;}q&& z!p|#7u5+p5ic>m)`7WD_)r%ce*)7WZw1_w^MTj%F61Y?@#N^g`ZU$ZDloc7(5DVcE2i&t<^TZh6BuuUO`G4hQg5(GF8-yLG!i_FB+tHNPz0;Vzrpxfp z4(SQlKZGS$VUdOhKU?~XA>aLK8mI0TkjT9xTC!`G5j9Fdt!Ns z5Q*I#S391nuK+st6F}$A0q9(80G(R{pmVDLbnYjQosvvw2+e%Fz1&h~Y$R==rkd>7 zNq_BeZ96Zz%Hw2*)YI1r0-dcNA7K6p+gGJ{AbytW)s+oKVDg}>FeoV}D9cry2M0XA zBn{oN|9C9T?|kxj?9`CW`oCfwHhBK0BVPo^+3-W>Hc0*o6`0{D0E1KuhV)iwS;Sc7 z=_cXC8Ga3pfIhn9i9{~YNU~UHp;wt`V~+|+&gTbo5iAueFf};uRHy@~1`FKJRswh* zEj9?=eKeRK5kAxuO+U;9IXAqSU<>*F=$R{z8w-5!)fSD%j-nW71yy~%#ZDrSdM^g# zAt(#+G*fF~ii}$~LPGd;q4)&EPaPIA2fhu-OsLiZ@OKlduurJ`Od6IKsVevctL{9dcQC^6 zrTLeJXCf?H{;v8Sd_zv{8o6UI>TTf0GbM6MO6RuJ>>HhHPi>4b3~qnfvF%eN=4IJm zxZIR<=mWCHJIv7{whh%ydyjK7f3U=P z4*@~Yhc)4S;-3)~5`0k*@d^7JGjbuH9E~ti0*wT6`uj&zCchGJS4e=@D-J-uaoi!e zm1Bt=YjEWM*fG@;fm=ri>#P_B>jhdt0;jM8O;j?Vixm;Ju ^8zaN?riWk83`ZIY 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 z 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%0A(lt#$cw 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 UqGdu|_z!NVwaYsJVNoB2+U@TRqdYS~1 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 ZFaLlb|FJ%1s0M~_!>nmjmtL-B{|j-V87lw) diff --git a/0x0017a_ctf/CTF-02.bin b/0x0017a_ctf/CTF-02.bin deleted file mode 100644 index b20d1cd78a9603ce09671903933f21494faf72f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62308 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 diff --git a/0x0017a_ctf/CTF-02_fixed.bin b/0x0017a_ctf/CTF-02_fixed.bin deleted file mode 100644 index 0918eacc6eddbace591ca323bb85f5e87488cea1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62308 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 q&g~gJF#GCvSLDJw=-=6_|Jdv=T**&wl}oCr*9< diff --git a/0x0017a_ctf/CTF-02_fixed.uf2 b/0x0017a_ctf/CTF-02_fixed.uf2 deleted file mode 100644 index 830dd27ec10e493395fcf3b81a9bb8e0e688415e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124928 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 R)@%E} -#include -#include - -/** - * @brief Onboard LED GPIO pin number. - * - * The RP2350 Pico 2 onboard LED is connected to GPIO 25. Driven high - * on successful authentication and low on failure or idle. - */ -#define AUTH_LED_PIN 25u - -/** - * @brief Maximum accepted terminal passphrase length in bytes. - * - * The CLI accepts interactive human-entered passphrases up to 512 bytes, - * matching the hardened host demo boundary before policy validation. - */ -#define AUTH_PASSPHRASE_MAX_LEN 512u - -/** - * @brief Required number of lowercase words in the hardened passphrase. - * - * The embedded hardened workflow matches the host-side policy exactly: - * twelve lowercase ASCII words separated by whitespace. - */ -#define AUTH_REQUIRED_WORDS 12u - -/** - * @brief Hardened Argon2id salt size in bytes. - * - * Every demo artifact carries a per-ciphertext random 128-bit salt. - */ -#define AUTH_SALT_SIZE 16u - -/** - * @brief Hardened XChaCha20 nonce size in bytes. - * - * XChaCha20-Poly1305 consumes a 192-bit nonce in the outer construction. - */ -#define AUTH_NONCE_SIZE 24u - -/** - * @brief Subkey size in bytes derived from Argon2id. - * - * The AEAD key size is 256 bits. - */ -#define AUTH_KEY_SIZE 32u - -/** - * @brief AEAD authentication tag size in bytes. - * - * XChaCha20-Poly1305 appends a 128-bit authentication tag. - */ -#define AUTH_TAG_SIZE 16u - -/** - * @brief Plaintext payload size in bytes. - * - * The fixed dispatch payload is 48 bytes: LED state, UART bytes, - * and trailing reserved bytes matching the Rust hardened demo layout. - */ -#define AUTH_PAYLOAD_SIZE 48u - -/** - * @brief Full ciphertext-plus-tag artifact size in bytes. - * - * The encrypted payload is 48 bytes followed by a 16-byte tag. - */ -#define AUTH_CIPHERTEXT_SIZE (AUTH_PAYLOAD_SIZE + AUTH_TAG_SIZE) - -/** - * @brief Authentication result codes returned by the hardened engine. - * - * These values let the CLI distinguish policy failures from - * cryptographic authentication failures without guessing. - */ -typedef enum auth_result { - AUTH_RESULT_SUCCESS = 0, - AUTH_RESULT_POLICY_VIOLATION = 1, - AUTH_RESULT_AUTHENTICATION_FAILED = 2, - AUTH_RESULT_INTERNAL_ERROR = 3, -} auth_result_t; - -/** - * @brief Initialize the Ouroboros authentication module. - * - * Configures the onboard LED GPIO and marks the hardened engine as ready - * for passphrase authentication. - * - * @param None. - * @return bool true when initialization is successful, else false. - */ -bool auth_init(void); - -/** - * @brief Execute the hardened Ouroboros authentication pipeline. - * - * Validates the strict 12-word lowercase passphrase policy, derives the - * 256-bit AEAD key with Argon2id using artifact parameters, decrypts the - * embedded XChaCha20-Poly1305 ciphertext, and dispatches GPIO25/UART - * payload bytes on success. - * - * @param passphrase Pointer to passphrase bytes. - * @param passphrase_len Number of passphrase bytes. - * @return auth_result_t Detailed authentication outcome for the caller. - */ -auth_result_t auth_execute(const uint8_t *passphrase, - size_t passphrase_len); - -#endif // AUTH_H diff --git a/0x0017a_ctf/include/cli.h b/0x0017a_ctf/include/cli.h deleted file mode 100644 index f14d375..0000000 --- a/0x0017a_ctf/include/cli.h +++ /dev/null @@ -1,59 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: cli.h -// Desc: Declares the CLI UART passphrase input interface for Ouroboros. -// Created: 2026 - -#ifndef CLI_H -#define CLI_H - -#include - -/** - * @brief Print the UART passphrase prompt. - * - * Emits a minimal shell-style prompt followed by a space so the - * terminal clearly indicates that hardened passphrase input is expected. - * - * @param None. - * @return None. - */ -void print_prompt(void); - -/** - * @brief Service one UART polling step for passphrase input. - * - * Polls stdio for a character, dispatches backspace or newline - * handling, and appends printable characters to the passphrase - * buffer. Call repeatedly from the main loop. - * - * @param buf Pointer to mutable passphrase buffer. - * @param idx Pointer to current buffer length. - * @return None. - */ -void service_uart(char *buf, size_t *idx); - -#endif // CLI_H diff --git a/0x0017a_ctf/include/demo_artifact.h b/0x0017a_ctf/include/demo_artifact.h deleted file mode 100644 index b7857a0..0000000 --- a/0x0017a_ctf/include/demo_artifact.h +++ /dev/null @@ -1,60 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// -// This file is generated by scripts/dec.py. Do not edit by hand. - -#ifndef DEMO_ARTIFACT_H -#define DEMO_ARTIFACT_H - -#include - -#define DEMO_ARTIFACT_FORMAT "ouroboros-hardened-demo-v1" -#define DEMO_MEMORY_KIB 64u -#define DEMO_ITERATIONS 3u -#define DEMO_PARALLELISM 1u - -static const uint8_t DEMO_SALT[16] = { - 0xF2u, 0xD5u, 0x18u, 0x63u, 0x9Au, 0x82u, 0x01u, 0x9Du, - 0xC2u, 0xD7u, 0xAFu, 0xA5u, 0xCDu, 0xB6u, 0xD8u, 0x71u -}; - -static const uint8_t DEMO_NONCE[24] = { - 0x1Cu, 0xEFu, 0x79u, 0x0Du, 0x77u, 0x9Eu, 0x7Cu, 0x04u, - 0xE7u, 0xF0u, 0x66u, 0xDDu, 0x90u, 0xD0u, 0x80u, 0x70u, - 0x87u, 0x97u, 0x67u, 0x1Fu, 0x79u, 0xEFu, 0xC4u, 0xE4u -}; - -static const uint8_t DEMO_CIPHERTEXT_AND_TAG[64] = { - 0x2Cu, 0x23u, 0xB2u, 0x7Eu, 0x95u, 0x62u, 0xB8u, 0xEDu, - 0x9Eu, 0x08u, 0xE0u, 0x6Du, 0xD9u, 0x9Du, 0xB4u, 0x91u, - 0x3Eu, 0x81u, 0x9Au, 0x77u, 0x8Bu, 0xB4u, 0x7Bu, 0x71u, - 0xBCu, 0x66u, 0x1Eu, 0x6Eu, 0x73u, 0x1Au, 0x81u, 0x54u, - 0xCDu, 0xB5u, 0x36u, 0xA4u, 0x76u, 0x7Eu, 0x9Bu, 0xF8u, - 0x53u, 0x3Eu, 0x03u, 0x1Du, 0xB8u, 0xE5u, 0xAEu, 0x7Au, - 0xADu, 0xB4u, 0x31u, 0xCFu, 0x12u, 0xD9u, 0xF9u, 0xC4u, - 0x5Fu, 0xA9u, 0xB9u, 0x4Bu, 0x80u, 0xDCu, 0xBBu, 0xDEu -}; - -#endif // DEMO_ARTIFACT_H diff --git a/0x0017a_ctf/include/mbedtls_config.h b/0x0017a_ctf/include/mbedtls_config.h deleted file mode 100644 index b27211e..0000000 --- a/0x0017a_ctf/include/mbedtls_config.h +++ /dev/null @@ -1,39 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: mbedtls_config.h -// Desc: Configures the minimal mbedTLS cryptographic features required by -// the Ouroboros AEAD engine on RP2350. -// Created: 2026 - -#ifndef MBEDTLS_CONFIG_H -#define MBEDTLS_CONFIG_H - -#define MBEDTLS_CHACHA20_C -#define MBEDTLS_CHACHAPOLY_C -#define MBEDTLS_POLY1305_C -#define MBEDTLS_PLATFORM_C - -#endif // MBEDTLS_CONFIG_H diff --git a/0x0017a_ctf/pico_sdk_import.cmake b/0x0017a_ctf/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0017a_ctf/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0017a_ctf/scripts/dec.py b/0x0017a_ctf/scripts/dec.py deleted file mode 100644 index 389efaf..0000000 --- a/0x0017a_ctf/scripts/dec.py +++ /dev/null @@ -1,944 +0,0 @@ -"""Generate hardened demo artifacts for the RP2350 Ouroboros firmware. - -This script writes the same JSON schema used by the Rust demo and also emits -the generated C header consumed by the embedded firmware. -""" - -import argparse -import json -import platform -import secrets -import sys -from pathlib import Path -from typing import Optional - - -DEFAULT_PASSPHRASE = ( - "orbit olive ladder marble quartz canyon " - "ripple saddle violet ember walnut falcon" -) -DEFAULT_TEXT = "hello" -DEFAULT_OUTPUT_JSON = "scripts/demo_artifact.json" -DEFAULT_OUTPUT_HEADER = "include/demo_artifact.h" -DEFAULT_MEMORY_KIB = 64 -DEFAULT_ITERATIONS = 3 -DEFAULT_PARALLELISM = 1 -ARTIFACT_FORMAT = "ouroboros-hardened-demo-v1" - -_KEY_HELP = "12-word lowercase passphrase" -_TEXT_HELP = "Text to place in payload bytes 1..7" -_OUT_HELP = "Output JSON artifact path" -_HEADER_OUT_HELP = "Output generated C header path" -_FROM_JSON_HELP = ( - "Load existing JSON artifact and emit header without re-encrypting" -) -_CHECK_HEADER_HELP = ( - "Optional path to compare against generated header and fail if stale" -) -_SALT_HEX_HELP = "Optional fixed 16-byte salt as hex" -_NONCE_HEX_HELP = "Optional fixed 24-byte nonce as hex" -_NO_CRLF_HELP = "Do not append CRLF to payload text" -_LED_OFF_HELP = "Encode LED off instead of on" -_MEMORY_HELP = "Argon2 memory cost in KiB" -_ITERATIONS_HELP = "Argon2 time cost" -_PARALLELISM_HELP = "Argon2 parallel lanes" - -_POLICY_ERROR = ( - "Hardened mode requires exactly 12 lowercase ASCII words in --key." -) -_PAYLOAD_TOO_LONG = ( - "Output text is too long for fixed dispatch " - "(max 7 bytes after CRLF handling)." -) -_INVALID_JSON = "Artifact JSON at {0} is invalid JSON." -_MISMATCH_PREFIX = "Detected a Python native-extension architecture mismatch. " -_REINSTALL_DEPS = ("Recreate this virtual environment with a native Python " - "and reinstall deps:") -_REINSTALL_LINES = ( - "rm -rf .venv", - "python3 -m venv .venv", - "source .venv/bin/activate", - "python3 -m pip install -U pip setuptools wheel", - "python3 -m pip install argon2-cffi pynacl", -) -_HEADER_TEMPLATE = """// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// -// This file is generated by scripts/dec.py. Do not edit by hand. - -#ifndef DEMO_ARTIFACT_H -#define DEMO_ARTIFACT_H - -#include - -#define DEMO_ARTIFACT_FORMAT "{artifact_format}" -#define DEMO_MEMORY_KIB {memory_kib}u -#define DEMO_ITERATIONS {iterations}u -#define DEMO_PARALLELISM {parallelism}u - -static const uint8_t DEMO_SALT[16] = {{ -{salt_body} -}}; - -static const uint8_t DEMO_NONCE[24] = {{ -{nonce_body} -}}; - -static const uint8_t DEMO_CIPHERTEXT_AND_TAG[64] = {{ -{cipher_body} -}}; - -#endif // DEMO_ARTIFACT_H -""" - - -def _raise_dependency_error(package_name, install_hint, exc): - """Raise a RuntimeError with environment-aware dependency diagnostics. - - Parameters - ---------- - package_name : str - Package common name for the error message. - install_hint : str - Pip install command in the error message. - exc : Exception - Import error observed while loading the native module. - - Returns - ------- - None - """ - message = "Hardened mode requires {0}. Install with: {1}".format( - package_name, install_hint) - message += _reinstall_message() if _is_arch_mismatch(exc) else "" - raise RuntimeError(message) from exc - - -def _is_arch_mismatch(exc): - """Report whether the interpreter likely has a native-extension mismatch. - - Parameters - ---------- - exc : Exception - Import error observed while loading the native module. - - Returns - ------- - bool - True when the error text matches a native architecture mismatch. - """ - detail = str(exc) - return ( - "incompatible architecture" in detail - or "_cffi_backend" in detail - or "mach-o file, but is an incompatible architecture" in detail - ) - - -def _reinstall_message(): - """Build the native-interpreter reinstall diagnostic text. - - Parameters - ---------- - None - - Returns - ------- - str - Newline-delimited machine and reinstall details, or an empty string. - """ - machine = platform.machine() - head = (_MISMATCH_PREFIX - + "Current interpreter reports machine=" + machine - + ", executable=" + sys.executable + ".") - lines = [" {0}".format(item) for item in _REINSTALL_LINES] - return ("\n" + head + "\n" + _REINSTALL_DEPS + "\n" - + "\n".join(lines)) - - -def _is_policy_compliant(passphrase): - """Return True when passphrase is exactly 12 lowercase ASCII words. - - Parameters - ---------- - passphrase : str - Candidate operator passphrase. - - Returns - ------- - bool - True when the passphrase satisfies the gate policy. - """ - words = passphrase.split() - if len(words) != 12: - return False - return all( - word and all(ch.isascii() and ch.islower() for ch in word) - for word in words - ) - - -def _build_payload(text_str, led_on=True, append_crlf=True): - """Build the fixed 48-byte payload dispatched by the firmware. - - Parameters - ---------- - text_str : str - Console text placed in payload bytes 1..7. - led_on : bool - True turns the LED byte on, False leaves it off. - append_crlf : bool - True appends CRLF to the console text. - - Returns - ------- - bytes - Fixed 48-byte dispatch payload. - """ - tx_bytes = text_str.encode() + (b"\r\n" if append_crlf else b"") - if len(tx_bytes) > 7: - raise ValueError(_PAYLOAD_TOO_LONG) - payload = bytearray(48) - payload[0] = 1 if led_on else 0 - payload[1:1 + len(tx_bytes)] = tx_bytes - return bytes(payload) - - -def _resolve_salt_nonce(salt, nonce): - """Confirm or generate the 16-byte salt and 24-byte nonce. - - Parameters - ---------- - salt : bytes or None - Optional fixed salt value. - nonce : bytes or None - Optional fixed nonce value. - - Returns - ------- - tuple - Confirmed (salt, nonce) byte values. - """ - salt_word = secrets.token_bytes(16) if salt is None else salt - nonce_word = secrets.token_bytes(24) if nonce is None else nonce - if len(salt_word) != 16: - raise ValueError("Hardened salt must be exactly 16 bytes.") - if len(nonce_word) != 24: - raise ValueError("Hardened nonce must be exactly 24 bytes.") - return salt_word, nonce_word - - -def _optional_hex(value, length, label): - """Decode an optional hex argument, leaving absent values as None. - - Parameters - ---------- - value : str or None - Hex string supplied on the command line. - length : int - Expected decoded byte length. - label : str - Field name used in validation errors. - - Returns - ------- - bytes or None - Decoded bytes, or None when value is absent. - """ - return _hex_decode(value, length, label) if value else None - - -def _load_argon2(): - """Load the Argon2 low-level binding with dependency diagnostics. - - Parameters - ---------- - None - - Returns - ------- - tuple - Argon2 Type enum and hash_secret_raw callable. - """ - try: - from argon2.low_level import Type, hash_secret_raw - except ImportError as exc: - install_hint = "python3 -m pip install argon2-cffi" - _raise_dependency_error("argon2-cffi", install_hint, exc) - return Type, hash_secret_raw - - -def _load_nacl_encrypt(): - """Load the XChaCha20-Poly1305 encrypt binding with diagnostics. - - Parameters - ---------- - None - - Returns - ------- - callable - PyNaCl crypto_aead_xchacha20poly1305_ietf_encrypt function. - """ - try: - from nacl.bindings import ( - crypto_aead_xchacha20poly1305_ietf_encrypt as encrypt, - ) - except ImportError as exc: - install_hint = "python3 -m pip install pynacl" - _raise_dependency_error("PyNaCl", install_hint, exc) - return encrypt - - -def _derive_hardened_key(passphrase, salt, memory_kib, iterations, - parallelism): - """Derive a 32-byte key with Argon2id. - - Parameters - ---------- - passphrase : str - Policy-compliant operator passphrase. - salt : bytes - 16-byte Argon2 salt. - memory_kib : int - Argon2 memory cost in KiB. - iterations : int - Argon2 time cost. - parallelism : int - Argon2 parallel lane count. - - Returns - ------- - bytes - Derived 32-byte key. - """ - arg2_type, hash_secret_raw = _load_argon2() - args = ( - passphrase.encode(), salt, iterations, memory_kib, - parallelism, 32, arg2_type, - ) - return hash_secret_raw(*args) - - -def _entry_key(phrase, seed, memory_kib, iterations, parallelism): - """Derive the entry key word for the hardened artifact. - - Parameters - ---------- - phrase : str - Policy-compliant operator passphrase. - seed : bytes - 16-byte Argon2 salt. - memory_kib : int - Argon2 memory cost in KiB. - iterations : int - Argon2 time cost. - parallelism : int - Argon2 parallel lane count. - - Returns - ------- - bytes - Derived 32-byte entry key. - """ - return _derive_hardened_key( - phrase, seed, memory_kib, iterations, parallelism - ) - - -def _build_key_material(phrase, salt, nonce, memory_kib, iterations, - parallelism): - """Resolve salt, nonce, and the entry key. - - Parameters - ---------- - phrase : str - Policy-compliant operator passphrase. - salt : bytes or None - Optional fixed salt value. - nonce : bytes or None - Optional fixed nonce value. - memory_kib : int - Argon2 memory cost in KiB. - iterations : int - Argon2 time cost. - parallelism : int - Argon2 parallel lane count. - - Returns - ------- - tuple - Resolved (salt, nonce, key) values. - """ - seed, nonce_word = _resolve_salt_nonce(salt, nonce) - key = _entry_key(phrase, seed, memory_kib, iterations, parallelism) - return seed, nonce_word, key - - -def build_hardened_entry( - key_str, - text_str, - led_on=True, - append_crlf=True, - salt: Optional[bytes] = None, - nonce: Optional[bytes] = None, - memory_kib=DEFAULT_MEMORY_KIB, - iterations=DEFAULT_ITERATIONS, - parallelism=DEFAULT_PARALLELISM, -): - """Build a hardened encrypted entry with Argon2id + XChaCha20-Poly1305. - - Parameters - ---------- - key_str : str - Policy-compliant 12-word operator passphrase. - text_str : str - Console text placed in payload bytes 1..7. - led_on : bool - True turns the LED byte on, False leaves it off. - append_crlf : bool - True appends CRLF to the console text. - salt : bytes or None - Optional fixed 16-byte salt. - nonce : bytes or None - Optional fixed 24-byte nonce. - memory_kib : int - Argon2 memory cost in KiB. - iterations : int - Argon2 time cost. - parallelism : int - Argon2 parallel lane count. - - Returns - ------- - tuple - Resulting (salt, nonce, ciphertext_and_tag) values. - """ - if not _is_policy_compliant(key_str): - raise ValueError(_POLICY_ERROR) - salt_word, nonce_word, key = _build_key_material( - key_str, salt, nonce, memory_kib, iterations, parallelism) - payload = _build_payload(text_str, led_on, append_crlf) - encrypt = _load_nacl_encrypt() - ciphertext_and_tag = encrypt(payload, b"", nonce_word, key) - return salt_word, nonce_word, ciphertext_and_tag - - -def _hex_decode(value, expected_len, label): - """Decode a hex string and validate the expected byte length. - - Parameters - ---------- - value : str - Hex string to decode. - expected_len : int - Required decoded byte length. - label : str - Field name used in validation errors. - - Returns - ------- - bytes - Decoded bytes of the expected length. - """ - try: - decoded = bytes.fromhex(value) - except ValueError as exc: - raise ValueError("{0} must be valid hex.".format(label)) from exc - if len(decoded) != expected_len: - message = "{0} must decode to exactly {1} bytes.".format( - label, expected_len) - raise ValueError(message) - return decoded - - -def _artifact_dict(memory_kib, iterations, parallelism, salt, nonce, cipher): - """Compose the canonical artifact dictionary. - - Parameters - ---------- - memory_kib : int - Argon2 memory cost in KiB. - iterations : int - Argon2 time cost. - parallelism : int - Argon2 parallel lane count. - salt : bytes - 16-byte salt. - nonce : bytes - 24-byte nonce. - cipher : bytes - 64-byte ciphertext and tag. - - Returns - ------- - dict - Canonical artifact fields with hex-encoded byte values. - """ - return { - "format": ARTIFACT_FORMAT, "memory_kib": memory_kib, - "iterations": iterations, "parallelism": parallelism, - "salt_hex": salt.hex(), "nonce_hex": nonce.hex(), - "ciphertext_and_tag_hex": cipher.hex(), - } - - -def _format_c_array(data, width=8): - """Format bytes as an indented C array literal body. - - Parameters - ---------- - data : bytes - Bytes to serialize as a C array. - width : int - Byte values emitted per source line. - - Returns - ------- - str - Indented, comma-joined C array body. - """ - items = [f"0x{value:02X}u" for value in data] - rows = [", ".join(items[offset:offset + width]) - for offset in range(0, len(items), width)] - return ",\n".join(" " + row for row in rows) - - -def _render_header(artifact): - """Render the generated firmware header text from the artifact. - - Parameters - ---------- - artifact : dict - Canonical artifact dictionary. - - Returns - ------- - str - Complete generated C header text. - """ - cipher = bytes.fromhex(artifact["ciphertext_and_tag_hex"]) - return _HEADER_TEMPLATE.format( - artifact_format=ARTIFACT_FORMAT, memory_kib=artifact["memory_kib"], - iterations=artifact["iterations"], parallelism=artifact["parallelism"], - salt_body=_format_c_array(bytes.fromhex(artifact["salt_hex"])), - nonce_body=_format_c_array(bytes.fromhex(artifact["nonce_hex"])), - cipher_body=_format_c_array(cipher), - ) - - -def _write_header(path, artifact): - """Write the generated firmware header from the hardened artifact. - - Parameters - ---------- - path : str - Destination header file path. - artifact : dict - Canonical artifact dictionary. - - Returns - ------- - Path - Resolved destination header path. - """ - output_path = Path(path) - output_path.parent.mkdir(parents=True, exist_ok=True) - output_path.write_text(_render_header(artifact), encoding="utf-8") - return output_path.resolve() - - -def _parse_json_file(path): - """Load and parse the artifact JSON file. - - Parameters - ---------- - path : str - Artifact JSON file path. - - Returns - ------- - dict - Parsed JSON document. - """ - raw = Path(path).read_text(encoding="utf-8") - try: - parsed = json.loads(raw) - except json.JSONDecodeError as exc: - raise ValueError(_INVALID_JSON.format(path)) from exc - return parsed - - -def _validate_artifact_format(parsed): - """Reject artifact JSON with an unexpected format marker. - - Parameters - ---------- - parsed : dict - Parsed JSON document. - - Returns - ------- - None - """ - actual = parsed.get("format") - if actual != ARTIFACT_FORMAT: - raise ValueError( - "Artifact format must be '{0}', got '{1}'.".format( - ARTIFACT_FORMAT, actual)) - - -def _parsed_ints(parsed): - """Parse the integer cost fields from artifact JSON. - - Parameters - ---------- - parsed : dict - Parsed JSON document. - - Returns - ------- - list - Parsed memory_kib, iterations, and parallelism integer values. - """ - try: - int_names = ("memory_kib", "iterations", "parallelism") - return [int(parsed[name]) for name in int_names] - except (KeyError, TypeError, ValueError) as exc: - raise ValueError( - "Artifact must include integer memory_kib, " - "iterations, and parallelism fields.") from exc - - -def _artifact_ints(parsed): - """Unpack the three integer cost fields from artifact JSON. - - Parameters - ---------- - parsed : dict - Parsed JSON document. - - Returns - ------- - tuple - (memory_kib, iterations, parallelism) integer values. - """ - values = _parsed_ints(parsed) - return values[0], values[1], values[2] - - -def _artifact_from_parsed(parsed): - """Reconstruct a canonical artifact dict from parsed JSON. - - Parameters - ---------- - parsed : dict - Parsed JSON document. - - Returns - ------- - dict - Canonical artifact dictionary. - """ - _validate_artifact_format(parsed) - memory_kib, iterations, parallelism = _artifact_ints(parsed) - cipher_field = "ciphertext_and_tag_hex" - salt = _hex_decode(parsed.get("salt_hex", ""), 16, "salt_hex") - nonce = _hex_decode(parsed.get("nonce_hex", ""), 24, "nonce_hex") - cipher = _hex_decode(parsed.get(cipher_field, ""), 64, cipher_field) - return _artifact_dict( - memory_kib, iterations, parallelism, salt, nonce, cipher) - - -def _load_artifact_json(path): - """Load and validate a hardened artifact JSON for header generation. - - Parameters - ---------- - path : str - Artifact JSON file path. - - Returns - ------- - dict - Canonical artifact dictionary. - """ - parsed = _parse_json_file(path) - return _artifact_from_parsed(parsed) - - -def _check_header_match(generated_path, expected_path): - """Fail when the generated header does not match an expected file. - - Parameters - ---------- - generated_path : str - Generated header file path. - expected_path : str - Expected committed header file path. - - Returns - ------- - None - """ - generated = Path(generated_path).read_text(encoding="utf-8") - expected = Path(expected_path).read_text(encoding="utf-8") - if generated != expected: - raise RuntimeError( - "Generated header does not match committed " - "include/demo_artifact.h. Regenerate and commit " - "updated artifacts with scripts/dec.py.") - - -def _print_header_check(header_path, expected_path): - """Print the verified header match result. - - Parameters - ---------- - header_path : str - Generated header file path. - expected_path : str - Expected committed header file path. - - Returns - ------- - None - """ - _check_header_match(header_path, expected_path) - print("Verified header matches: {0}".format(Path(expected_path).resolve())) - - -def _parse_args(): - """Parse command-line arguments. - - Parameters - ---------- - None - - Returns - ------- - argparse.Namespace - Parsed command-line arguments. - """ - parser = argparse.ArgumentParser(description=__doc__) - for argument_group in _ARGUMENT_GROUPS: - for name, kwargs in argument_group: - parser.add_argument(name, **kwargs) - return parser.parse_args() - - -def _build_from_args(args, salt, nonce): - """Build the hardened entry from parsed arguments. - - Parameters - ---------- - args : argparse.Namespace - Parsed command-line arguments. - salt : bytes or None - Optional fixed salt value. - nonce : bytes or None - Optional fixed nonce value. - - Returns - ------- - tuple - Resulting (salt, nonce, ciphertext_and_tag) values. - """ - return build_hardened_entry( - key_str=args.key, text_str=args.text, led_on=not args.led_off, - append_crlf=not args.no_crlf, salt=salt, nonce=nonce, - memory_kib=args.memory_kib, iterations=args.iterations, - parallelism=args.parallelism, - ) - - -def _flush_outputs(args, salt, nonce, cipher): - """Write the artifact JSON and header, then return the header path. - - Parameters - ---------- - args : argparse.Namespace - Parsed command-line arguments. - salt : bytes - 16-byte salt. - nonce : bytes - 24-byte nonce. - cipher : bytes - 64-byte ciphertext and tag. - - Returns - ------- - Path - Resolved generated header path. - """ - json_path, artifact = _write_demo_json( - args.out, args.memory_kib, args.iterations, args.parallelism, - salt, nonce, cipher) - header_path = _write_header(args.header_out, artifact) - print("Wrote hardened demo artifact JSON: {0}".format(json_path)) - print("Wrote generated firmware header: {0}".format(header_path)) - return header_path - - -def _write_demo_json(path, memory_kib, iterations, parallelism, salt, - nonce, ciphertext_and_tag): - """Write the hardened JSON artifact consumed by docs and validation. - - Parameters - ---------- - path : str - Destination JSON file path. - memory_kib : int - Argon2 memory cost in KiB. - iterations : int - Argon2 time cost. - parallelism : int - Argon2 parallel lane count. - salt : bytes - 16-byte salt. - nonce : bytes - 24-byte nonce. - ciphertext_and_tag : bytes - 64-byte ciphertext and tag. - - Returns - ------- - tuple - Resolved (path, artifact) values. - """ - output_path = Path(path) - output_path.parent.mkdir(parents=True, exist_ok=True) - artifact = _artifact_dict( - memory_kib, iterations, parallelism, salt, nonce, ciphertext_and_tag) - text = json.dumps(artifact, indent=2) + "\n" - output_path.write_text(text, encoding="utf-8") - return output_path.resolve(), artifact - - -def _flush_from_json(args): - """Write the header from an existing artifact JSON. - - Parameters - ---------- - args : argparse.Namespace - Parsed command-line arguments. - - Returns - ------- - Path - Resolved generated header path. - """ - artifact = _load_artifact_json(args.from_json) - header_path = _write_header(args.header_out, artifact) - print("Wrote generated firmware header: {0}".format(header_path)) - return header_path - - -def _run_from_json(args): - """Generate the header only from committed artifact JSON. - - Parameters - ---------- - args : argparse.Namespace - Parsed command-line arguments. - - Returns - ------- - None - """ - header_path = _flush_from_json(args) - if args.check_header_path: - _print_header_check(header_path, args.check_header_path) - - -def _run_from_generate(args): - """Encrypt fresh artifact material, then emit JSON and the header. - - Parameters - ---------- - args : argparse.Namespace - Parsed command-line arguments. - - Returns - ------- - None - """ - salt = _optional_hex(args.salt_hex, 16, "salt_hex") - nonce = _optional_hex(args.nonce_hex, 24, "nonce_hex") - header_path = _flush_outputs( - args, *_build_from_args(args, salt, nonce), - ) - if args.check_header_path: - _print_header_check(header_path, args.check_header_path) - - -def main(): - """Generate the hardened artifact JSON and C header. - - Parameters - ---------- - None - - Returns - ------- - None - """ - args = _parse_args() - if args.from_json: - _run_from_json(args) - else: - _run_from_generate(args) - - -_ARGUMENT_GROUPS = ( - ( - ("--key", dict(default=DEFAULT_PASSPHRASE, help=_KEY_HELP)), - ("--salt-hex", dict(help=_SALT_HEX_HELP)), - ("--nonce-hex", dict(help=_NONCE_HEX_HELP)), - ), - ( - ("--text", dict(default=DEFAULT_TEXT, help=_TEXT_HELP)), - ("--out", dict(default=DEFAULT_OUTPUT_JSON, help=_OUT_HELP)), - ("--header-out", - dict(default=DEFAULT_OUTPUT_HEADER, help=_HEADER_OUT_HELP)), - ("--from-json", dict(help=_FROM_JSON_HELP)), - ("--no-crlf", dict(action="store_true", help=_NO_CRLF_HELP)), - ("--led-off", dict(action="store_true", help=_LED_OFF_HELP)), - ), - ( - ("--memory-kib", - dict(type=int, default=DEFAULT_MEMORY_KIB, help=_MEMORY_HELP)), - ("--iterations", - dict(type=int, default=DEFAULT_ITERATIONS, help=_ITERATIONS_HELP)), - ("--parallelism", - dict(type=int, default=DEFAULT_PARALLELISM, - help=_PARALLELISM_HELP)), - ("--check-header-path", dict(help=_CHECK_HEADER_HELP)), - ), -) - - -if __name__ == "__main__": - main() diff --git a/0x0017a_ctf/scripts/demo_artifact.json b/0x0017a_ctf/scripts/demo_artifact.json deleted file mode 100644 index 5c61254..0000000 --- a/0x0017a_ctf/scripts/demo_artifact.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "format": "ouroboros-hardened-demo-v1", - "memory_kib": 64, - "iterations": 3, - "parallelism": 1, - "salt_hex": "f2d518639a82019dc2d7afa5cdb6d871", - "nonce_hex": "1cef790d779e7c04e7f066dd90d080708797671f79efc4e4", - "ciphertext_and_tag_hex": "2c23b27e9562b8ed9e08e06dd99db4913e819a778bb47b71bc661e6e731a8154cdb536a4767e9bf8533e031db8e5ae7aadb431cf12d9f9c45fa9b94b80dcbbde" -} diff --git a/0x0017a_ctf/scripts/verify_ctf.py b/0x0017a_ctf/scripts/verify_ctf.py deleted file mode 100644 index a5de5b1..0000000 --- a/0x0017a_ctf/scripts/verify_ctf.py +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env python3 -"""Verify every technical claim of Operation Copperhead against CTF-02.bin. - -Exits 0 only when every address, byte, hash, and derived value in CTF-R.md and -CTF-S.md matches the shipped image and the compiled ELF. -""" -import hashlib -import struct -import sys -from pathlib import Path - -BASE = 0x10000000 -ROOT = Path(__file__).resolve().parent.parent -BIN = ROOT / "CTF-02.bin" -UF2 = ROOT / "CTF-02.uf2" - -EXPECTED_BIN_SHA = "85330c37cd0897746b1af447e4bac371dde2042abd2d61d58a61fe2a8eef3537" -EXPECTED_UF2_SHA = "f3cd4840260db820d792758cecacc5297bef1971b9eacf7601279256d8af1eab" - -FRAME_THRESHOLD_A = 0x10000302 -FRAME_THRESHOLD_B = 0x10000312 -FRAME_TRACK = 0x1000C4B8 -FRAME_BLOCKLEN = 0x1000C4F0 -FRAME_SIGNALKEY = 0x1000C51C -FRAME_GATE = 0x1000C544 -FRAME_AUTH = 0x1000C57C -FRAME_OK = 0x1000C438 -FRAME_MISMATCH = 0x1000C43C -FRAME_SPEC_LITERAL = 0x100004FC -FRAME_DOUBLE = 0x1000EC60 -FRAME_SEED = 0x1000EC70 -FRAME_SALT = 0x1000CEEC -FRAME_NONCE = 0x1000CED4 -FRAME_CT = 0x1000CE94 - -DOUBLE_3_2 = bytes.fromhex("9A99999999990940") -DOUBLE_0_32 = bytes.fromhex("7B14AE47E17AD43F") -SEED_BAD = bytes.fromhex("0A0A0A0A") -SEED_GOOD = bytes.fromhex("7465206B") -SPEC_VALUE = 0x2D879291 -BUG_KEY = 0x915DCFF8 - -RESULTS = [] - - -def check(label, ok, detail=""): - """Record one verification result. - - Parameters - ---------- - label : str - Human-readable check name. - ok : bool - Whether the check passed. - detail : str - Extra context printed with the result. - - Returns - ------- - None - """ - RESULTS.append(ok) - print(f"[{'PASS' if ok else 'FAIL'}] {label} {detail}") - - -def rotl(v, s): - """Rotate a 32-bit value left.""" - return ((v << s) & 0xFFFFFFFF) | (v >> (32 - s)) - - -def qr_phase(a, b, c, d, s): - """Apply one ARX phase of a ChaCha quarter round.""" - a = (a + b) & 0xFFFFFFFF - d ^= a - d = rotl(d, s) - c = (c + d) & 0xFFFFFFFF - b ^= c - b = rotl(b, s) - return a, b, c, d - - -def derive(seed, iv): - """Derive the firmware signal key from a seed and IV.""" - a, b, c, d = seed, iv, 0x61707865, 0x3320646E - for _ in range(4): - for s in (16, 12, 8, 7): - a, b, c, d = qr_phase(a, b, c, d, s) - return (a ^ d) & 0xFFFFFFFF - - -def main(): - """Run all verification checks. - - Returns - ------- - int - Zero when every check passes, else one. - """ - data = BIN.read_bytes() - check("CTF-02.bin SHA-256", hashlib.sha256(data).hexdigest() == EXPECTED_BIN_SHA) - check("CTF-02.uf2 SHA-256", - hashlib.sha256(UF2.read_bytes()).hexdigest() == EXPECTED_UF2_SHA) - check("CTF-02.bin size", len(data) == 62308, f"({len(data)})") - check("vector table", data[0:32].hex() == - "002008205b0100101b0100101d01001011010010110100101101001011010010") - check("initial SP", struct.unpack(" - -// Non-zero once auth_init() has prepared the onboard LED GPIO. auth_execute() -// reports an internal error whenever this flag is not yet set, mirroring the -// reference construction from the encryption-c-rp2350 repository. -static bool g_auth_ready; - -/** - * @brief Clear a byte buffer. - * - * Writes zero to each byte in the caller-supplied buffer so derived keys - * and plaintext are not left resident in memory longer than needed. - * - * @param buf Pointer to mutable byte buffer. - * @param len Number of bytes to clear. - * @return None. - */ -static void clear_bytes(uint8_t *buf, size_t len) -{ - size_t i; - for (i = 0u; i < len; ++i) { - buf[i] = 0u; - } -} - -/** - * @brief Rotate a 32-bit value left. - * - * The HChaCha20 core uses 32-bit modular additions and left rotations in - * its quarter-round primitive. - * - * @param value Input 32-bit word. - * @param shift Rotation distance in bits. - * @return uint32_t Rotated result. - */ -static uint32_t rotl32(uint32_t value, uint8_t shift) -{ - return (value << shift) | (value >> (32u - shift)); -} - -/** - * @brief Load a 32-bit little-endian word from bytes. - * - * Converts four little-endian bytes into the word representation used by - * the HChaCha20 state machine. - * - * @param src Pointer to four readable bytes. - * @return uint32_t Parsed 32-bit word. - */ -static uint32_t load32_le(const uint8_t *src) -{ - return (uint32_t)src[0] | ((uint32_t)src[1] << 8u) | - ((uint32_t)src[2] << 16u) | ((uint32_t)src[3] << 24u); -} - -/** - * @brief Store a 32-bit word in little-endian byte order. - * - * Serializes one HChaCha20 state word into the caller-supplied output - * buffer. - * - * @param dst Pointer to four writable bytes. - * @param value 32-bit word to serialize. - * @return None. - */ -static void store32_le(uint8_t *dst, uint32_t value) -{ - dst[0] = (uint8_t)(value & 0xFFu); - dst[1] = (uint8_t)((value >> 8u) & 0xFFu); - dst[2] = (uint8_t)((value >> 16u) & 0xFFu); - dst[3] = (uint8_t)((value >> 24u) & 0xFFu); -} - -/** - * @brief Execute one ChaCha quarter-round. - * - * Mutates four state words in place according to the standard ChaCha20 - * ARX quarter-round used by the HChaCha20 subkey derivation. - * - * @param a Pointer to state word a. - * @param b Pointer to state word b. - * @param c Pointer to state word c. - * @param d Pointer to state word d. - * @return None. - */ -static void quarter_round(uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d) -{ - *a += *b; *d ^= *a; *d = rotl32(*d, 16u); - *c += *d; *b ^= *c; *b = rotl32(*b, 12u); - *a += *b; *d ^= *a; *d = rotl32(*d, 8u); - *c += *d; *b ^= *c; *b = rotl32(*b, 7u); -} - -/** - * @brief Derive a 256-bit XChaCha20 subkey from key and nonce prefix. - * - * Runs the HChaCha20 core over the first 16 bytes of the 24-byte XChaCha - * nonce and emits the derived 32-byte subkey. - * - * @param key Pointer to 32-byte AEAD key. - * @param nonce Pointer to 24-byte XChaCha20 nonce. - * @param subkey Output 32-byte subkey buffer. - * @return None. - */ -static void hchacha20(const uint8_t key[32], const uint8_t nonce[24], uint8_t subkey[32]) -{ - uint32_t state[16] = { - 0x61707865u, 0x3320646Eu, 0x79622D32u, 0x6B206574u, - load32_le(&key[0]), load32_le(&key[4]), load32_le(&key[8]), load32_le(&key[12]), - load32_le(&key[16]), load32_le(&key[20]), load32_le(&key[24]), load32_le(&key[28]), - load32_le(&nonce[0]), load32_le(&nonce[4]), load32_le(&nonce[8]), load32_le(&nonce[12]), - }; - uint8_t round; - for (round = 0u; round < 10u; ++round) { - quarter_round(&state[0], &state[4], &state[8], &state[12]); - quarter_round(&state[1], &state[5], &state[9], &state[13]); - quarter_round(&state[2], &state[6], &state[10], &state[14]); - quarter_round(&state[3], &state[7], &state[11], &state[15]); - quarter_round(&state[0], &state[5], &state[10], &state[15]); - quarter_round(&state[1], &state[6], &state[11], &state[12]); - quarter_round(&state[2], &state[7], &state[8], &state[13]); - quarter_round(&state[3], &state[4], &state[9], &state[14]); - } - store32_le(&subkey[0], state[0]); - store32_le(&subkey[4], state[1]); - store32_le(&subkey[8], state[2]); - store32_le(&subkey[12], state[3]); - store32_le(&subkey[16], state[12]); - store32_le(&subkey[20], state[13]); - store32_le(&subkey[24], state[14]); - store32_le(&subkey[28], state[15]); -} - -/** - * @brief Build the inner 96-bit nonce used by ChaCha20-Poly1305. - * - * XChaCha20 converts the last 8 bytes of the 24-byte outer nonce into the - * final 12-byte IETF ChaCha nonce by prefixing four zero bytes. - * - * @param nonce Pointer to 24-byte XChaCha20 nonce. - * @param out Output 12-byte nonce buffer. - * @return None. - */ -static void build_inner_nonce(const uint8_t nonce[24], uint8_t out[12]) -{ - memset(out, 0, 4u); - memcpy(&out[4], &nonce[16], 8u); -} - -/** - * @brief Return true when a byte is ASCII whitespace used by the CLI. - * - * The firmware normalizes spaces, carriage returns, tabs, and newlines in - * the same broad spirit as split-whitespace host parsing. - * - * @param ch Input byte. - * @return bool true when byte is treated as whitespace. - */ -static bool is_space(uint8_t ch) -{ - return (ch == ' ') || (ch == '\t') || (ch == '\r') || (ch == '\n'); -} - -/** - * @brief Return true when a byte is lowercase ASCII. - * - * Hardened passphrases accept only lowercase a-z characters in each word. - * - * @param ch Input byte. - * @return bool true when byte is in the lowercase ASCII range. - */ -static bool is_lowercase_ascii(uint8_t ch) -{ - return (ch >= 'a') && (ch <= 'z'); -} - -/** - * @brief Validate the strict hardened passphrase policy. - * - * Accepts only passphrases containing exactly 12 lowercase ASCII words - * separated by whitespace. - * - * @param passphrase Pointer to passphrase bytes. - * @param passphrase_len Number of passphrase bytes. - * @return bool true when the passphrase satisfies the policy. - */ -static bool validate_hardened_passphrase(const uint8_t *passphrase, size_t passphrase_len) -{ - size_t i = 0u; - uint8_t words = 0u; - if ((passphrase == NULL) || (passphrase_len == 0u) || (passphrase_len > AUTH_PASSPHRASE_MAX_LEN)) { - return false; - } - while (i < passphrase_len) { - while ((i < passphrase_len) && is_space(passphrase[i])) { - ++i; - } - if (i == passphrase_len) { - break; - } - ++words; - while ((i < passphrase_len) && !is_space(passphrase[i])) { - if (!is_lowercase_ascii(passphrase[i])) { - return false; - } - ++i; - } - } - return words == AUTH_REQUIRED_WORDS; -} - -/** - * @brief Derive the 32-byte hardened key with Argon2id. - * - * Uses the generated artifact parameters and salt to derive the AEAD key - * that protects the embedded ciphertext. - * - * @param passphrase Pointer to passphrase bytes. - * @param passphrase_len Number of passphrase bytes. - * @param key_out Output 32-byte key buffer. - * @return bool true when derivation succeeds. - */ -static bool derive_hardened_key(const uint8_t *passphrase, size_t passphrase_len, uint8_t key_out[32]) -{ - return argon2id_hash_raw( - DEMO_ITERATIONS, - DEMO_MEMORY_KIB, - DEMO_PARALLELISM, - passphrase, - passphrase_len, - DEMO_SALT, - AUTH_SALT_SIZE, - key_out, - AUTH_KEY_SIZE) == ARGON2_OK; -} - -/** - * @brief Decrypt the embedded artifact with XChaCha20-Poly1305. - * - * Derives the XChaCha20 subkey with HChaCha20, converts the outer nonce to - * the inner 96-bit nonce, and verifies/decrypts the payload in one shot. - * - * @param key Pointer to 32-byte Argon2id-derived key. - * @param payload_out Output 48-byte plaintext payload buffer. - * @return bool true when tag verification and decryption succeed. - */ -static bool decrypt_artifact(const uint8_t key[32], uint8_t payload_out[AUTH_PAYLOAD_SIZE]) -{ - bool ok; - int rc; - uint8_t subkey[32]; - uint8_t inner_nonce[12]; - mbedtls_chachapoly_context ctx; - hchacha20(key, DEMO_NONCE, subkey); - build_inner_nonce(DEMO_NONCE, inner_nonce); - mbedtls_chachapoly_init(&ctx); - rc = mbedtls_chachapoly_setkey(&ctx, subkey); - if (rc == 0) { - rc = mbedtls_chachapoly_auth_decrypt( - &ctx, - AUTH_PAYLOAD_SIZE, - inner_nonce, - NULL, - 0u, - &DEMO_CIPHERTEXT_AND_TAG[AUTH_PAYLOAD_SIZE], - DEMO_CIPHERTEXT_AND_TAG, - payload_out); - } - mbedtls_chachapoly_free(&ctx); - clear_bytes(subkey, sizeof(subkey)); - clear_bytes(inner_nonce, sizeof(inner_nonce)); - ok = (rc == 0); - if (!ok) { - clear_bytes(payload_out, AUTH_PAYLOAD_SIZE); - } - return ok; -} - -/** - * @brief Dispatch the decrypted payload to GPIO25 and UART. - * - * Mirrors the Rust demo payload contract: byte 0 controls the LED, and - * bytes 1..7 are transmitted verbatim over UART. - * - * @param payload Pointer to decrypted 48-byte payload. - * @return None. - */ -static void dispatch_payload(const uint8_t payload[AUTH_PAYLOAD_SIZE]) -{ - uint8_t i; - gpio_put(AUTH_LED_PIN, payload[0] ? 1 : 0); - for (i = 1u; i < 8u; ++i) { - putchar_raw((char)payload[i]); - } -} - -bool auth_init(void) -{ - g_auth_ready = true; - gpio_init(AUTH_LED_PIN); - gpio_set_dir(AUTH_LED_PIN, GPIO_OUT); - gpio_put(AUTH_LED_PIN, 0); - return true; -} - -auth_result_t auth_execute(const uint8_t *passphrase, size_t passphrase_len) -{ - uint8_t key[AUTH_KEY_SIZE]; - uint8_t payload[AUTH_PAYLOAD_SIZE]; - if (!g_auth_ready) { - return AUTH_RESULT_INTERNAL_ERROR; - } - if (!validate_hardened_passphrase(passphrase, passphrase_len)) { - return AUTH_RESULT_POLICY_VIOLATION; - } - if (!derive_hardened_key(passphrase, passphrase_len, key)) { - return AUTH_RESULT_INTERNAL_ERROR; - } - if (!decrypt_artifact(key, payload)) { - clear_bytes(key, sizeof(key)); - return AUTH_RESULT_AUTHENTICATION_FAILED; - } - dispatch_payload(payload); - clear_bytes(payload, sizeof(payload)); - clear_bytes(key, sizeof(key)); - return AUTH_RESULT_SUCCESS; -} \ No newline at end of file diff --git a/0x0017a_ctf/src/cli.c b/0x0017a_ctf/src/cli.c deleted file mode 100644 index cb6fc6c..0000000 --- a/0x0017a_ctf/src/cli.c +++ /dev/null @@ -1,149 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent/encryption-c-rp2350 -// File: cli.c -// Desc: Implements the CLI UART passphrase input interface for Ouroboros. -// Created: 2026 - -#include "cli.h" -#include "auth.h" -#include "pico/stdlib.h" -#include - -/** - * @brief Maximum number of passphrase characters accepted from UART. - * - * Limits the input buffer to the hardened engine boundary. A null - * terminator is written after the last character so the buffer must be - * declared with at least this many bytes. - */ -#define PASS_BUF_LEN AUTH_PASSPHRASE_MAX_LEN - -/** - * @brief Print the hardened passphrase policy hint. - * - * The firmware uses the same interactive policy as the host demo: - * exactly 12 lowercase words separated by spaces. - * - * @param None. - * @return None. - */ -static void print_policy_hint(void) -{ - printf("Enter exactly 12 lowercase words separated by spaces.\r\n"); -} - -/** - * @brief Append one received character to the passphrase buffer. - * - * Stores printable characters up to the buffer limit minus one to - * reserve room for a null terminator. Echoes the character back - * over UART for interactive typing feedback. - * - * @param ch Input character value. - * @param buf Pointer to mutable passphrase buffer. - * @param idx Pointer to current buffer length. - * @return None. - */ -static void append_char(int ch, char *buf, size_t *idx) -{ - if (*idx + 1u >= PASS_BUF_LEN) { - return; - } - buf[*idx] = (char)ch; - *idx += 1u; - putchar_raw((char)ch); -} - -/** - * @brief Remove one character from the passphrase buffer. - * - * Moves the index back by one and emits the backspace-escape - * sequence to erase the last echoed character on the terminal. - * - * @param idx Pointer to current buffer length. - * @return None. - */ -static void handle_backspace(size_t *idx) -{ - if (*idx == 0u) { - return; - } - *idx -= 1u; - printf("\b \b"); -} - -/** - * @brief Finalise and authenticate the current passphrase buffer. - * - * Null-terminates the input, runs the full Ouroboros authentication - * pipeline via auth_execute, prints policy guidance or authentication - * failure text as needed, and resets the buffer index for the next - * prompt cycle. - * - * @param buf Pointer to mutable passphrase buffer. - * @param idx Pointer to current buffer length. - * @return None. - */ -static void finish_passphrase(char *buf, size_t *idx) -{ - auth_result_t result; - putchar_raw('\r'); - putchar_raw('\n'); - buf[*idx] = '\0'; - result = auth_execute((const uint8_t *)buf, *idx); - if (result == AUTH_RESULT_POLICY_VIOLATION) { - gpio_put(AUTH_LED_PIN, 0); - print_policy_hint(); - } else if (result != AUTH_RESULT_SUCCESS) { - gpio_put(AUTH_LED_PIN, 0); - printf("Authentication failed.\r\n"); - } - *idx = 0u; - print_prompt(); -} - -void print_prompt(void) -{ - printf("\r\n> "); -} - -void service_uart(char *buf, size_t *idx) -{ - int ch = getchar_timeout_us(0); - if (ch == PICO_ERROR_TIMEOUT) { - tight_loop_contents(); - return; - } - if ((ch == '\b') || (ch == 127)) { - handle_backspace(idx); - return; - } - if ((ch == '\r') || (ch == '\n')) { - finish_passphrase(buf, idx); - return; - } - append_char(ch, buf, idx); -} diff --git a/0x0017a_ctf/src/main.c b/0x0017a_ctf/src/main.c deleted file mode 100644 index d672f92..0000000 --- a/0x0017a_ctf/src/main.c +++ /dev/null @@ -1,404 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: main.c -// Desc: DEEPLINE Metro interlocking host for the FINAL-PRACTICE exercise. -// Chains the strict Ouroboros operator gate (Argon2id plus -// XChaCha20-Poly1305) around the frozen relay telemetry puzzles. -// Created: 2026 - -#include -#include -#include -#include -#include "auth.h" -#include "pico/stdlib.h" - -// Block deviation classification ceiling below which an automated train -// release is permitted. BUG: PALLAS compiled in 95; the engineering limit -// is 60 (two redundant cmp sites in the ship image). -#define SAFE_THRESHOLD 95u - -// Number of 32-bit ARX state words used by the signal-key machinery. -#define ARX_WORDS 4u - -// Spec value of the derived signal key minted in the incident report. This is -// the key the honest build derives from GATE_SEED_GOOD and the derived IV. -#define SIGNAL_SPEC 0x2D879291u - -// ChaCha expand word used by the console-side derivation path. -#define GATE_SEED_GOOD 0x6B206574u - -// Track-circuit current deviation frozen by the dead pilot wire (amperes). -// A live reading is recalculated in the field; this image holds a wrong -// snapshot that engineers must decode from registers and SRAM. -static volatile uint32_t g_block_current = 87u; - -// Operator-facing block classification (drives the BLOCK STATE line). -static volatile uint32_t g_operator_state = 0u; - -// Automatic train release decision (drives the AUTO TRAIN line). -static volatile uint32_t g_dispatch_state = 0u; - -// Static per-cycle poll counter retained in .bss. Watch this from GDB. -static volatile uint32_t g_fault_polls = 0u; - -// ARX seed substituted by the poisoned build up to the signal derivation. -// BUG: 0x0A0A0A0A was fused in place of the "te k" expand word 0x6B206574. -static volatile uint32_t g_auth_seed = 0x0A0A0A0Au; - -// Derived signal key printed each cycle and checked against SIGNAL_SPEC. -static uint32_t g_signal_key = 0u; - -/** - * @brief Hold one track-block telemetry record for the interlocking. - * - * Stores the measured block length, the condition flag word, and the - * crossing identifier used by the automatic train protection logic. - */ -typedef struct telemetry_t { - double block_length_km; - uint32_t block_flags; - uint16_t crossing; -} telemetry_t; - -// Live telemetry record. BUG: block_length_km shipped as 3.2 km; the real -// BRIDGE-4 block is 0.32 km, far below the minimum release spacing. -static volatile telemetry_t g_telemetry = { 3.2, 0x3u, 7u }; - -// Interactive passphrase buffer and parser cursor for the operator gate. -static char g_linebuf[AUTH_PASSPHRASE_MAX_LEN]; -static size_t g_lineidx = 0u; - -/** - * @brief Rotate a 32-bit value left. - * - * @param value Input 32-bit word. - * @param shift Rotation distance in bits. - * @return uint32_t Rotated result. - */ -static uint32_t rotl32(uint32_t value, uint8_t shift) -{ - return (value << shift) | (value >> (32u - shift)); -} - -/** - * @brief Load a 32-bit little-endian word from bytes. - * - * @param src Pointer to four readable bytes. - * @return uint32_t Parsed 32-bit word. - */ -static uint32_t load32_le(const uint8_t *src) -{ - return (uint32_t)src[0] | ((uint32_t)src[1] << 8u) | - ((uint32_t)src[2] << 16u) | ((uint32_t)src[3] << 24u); -} - -/** - * @brief Store a 32-bit word in little-endian byte order. - * - * @param dst Pointer to four writable bytes. - * @param value 32-bit word to serialize. - * @return None. - */ -static void store32_le(uint8_t *dst, uint32_t value) -{ - dst[0] = (uint8_t)(value & 0xFFu); - dst[1] = (uint8_t)((value >> 8u) & 0xFFu); - dst[2] = (uint8_t)((value >> 16u) & 0xFFu); - dst[3] = (uint8_t)((value >> 24u) & 0xFFu); -} - -/** - * @brief Apply one additive-rotate-xor phase of a ChaCha quarter-round. - * - * @param a Pointer to state word A. - * @param b Pointer to state word B. - * @param c Pointer to state word C. - * @param d Pointer to state word D. - * @param shift Rotation distance in bits. - * @return None. - */ -static void qr_phase(uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d, uint8_t shift) -{ - *a += *b; - *d ^= *a; - *d = rotl32(*d, shift); - *c += *d; - *b ^= *c; - *b = rotl32(*b, shift); -} - -/** - * @brief Execute one full ChaCha ARX quarter-round. - * - * @param a Pointer to state word A. - * @param b Pointer to state word B. - * @param c Pointer to state word C. - * @param d Pointer to state word D. - * @return None. - */ -static void quarter_round(uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d) -{ - qr_phase(a, b, c, d, 16u); - qr_phase(a, b, c, d, 12u); - qr_phase(a, b, c, d, 8u); - qr_phase(a, b, c, d, 7u); -} - -/** - * @brief Run r full quarter-rounds over a four-word ARX state. - * - * @param a Pointer to state word A. - * @param b Pointer to state word B. - * @param c Pointer to state word C. - * @param d Pointer to state word D. - * @param rounds Number of full quarter-rounds to run. - * @return None. - */ -static void run_rounds(uint32_t *a, uint32_t *b, uint32_t *c, uint32_t *d, uint8_t rounds) -{ - uint8_t r; - for (r = 0u; r < rounds; ++r) { - quarter_round(a, b, c, d); - } -} - -/** - * @brief Derive a 32-bit ARX session key from a seed and IV. - * - * Runs four ChaCha quarter-rounds over the seed, the IV, and the ChaCha - * expand constants; returns state word A exclusive-or state word D. - * - * @param seed 32-bit seed word. - * @param iv 32-bit IV word. - * @return uint32_t Derived session key word. - */ -static uint32_t derive_session_key(uint32_t seed, uint32_t iv) -{ - uint32_t a = seed; - uint32_t b = iv; - uint32_t c = 0x61707865u; - uint32_t d = 0x3320646Eu; - run_rounds(&a, &b, &c, &d, 4u); - return a ^ d; -} - -/** - * @brief Derive the runtime IV from the good console seed word. - * - * @param None. - * @return uint32_t Derived IV word (0xC0F89829 in an honest image). - */ -static uint32_t derive_state_iv(void) -{ - return derive_session_key(GATE_SEED_GOOD, 0u); -} - -/** - * @brief Refresh the runtime signal key from the live seed and IV. - * - * Captures the freshly derived IV, then derives the final key word from - * the substituted seed. Break after each derivation to read the register. - * - * @param None. - * @return None. - */ -static void set_signal_state(void) -{ - uint32_t iv = derive_state_iv(); - g_signal_key = derive_session_key(g_auth_seed, iv); -} - -/** - * @brief Classify the frozen current reading against the compiled limit. - * - * Compares the frozen track-circuit current reading against SAFE_THRESHOLD - * and assigns the resulting boolean status to both g_operator_state and - * g_dispatch_state. - * - * @param None. - * @return None. - */ -static void classify_blocks(void) -{ - g_operator_state = (g_block_current < SAFE_THRESHOLD) ? 1u : 0u; - g_dispatch_state = (g_block_current < SAFE_THRESHOLD) ? 1u : 0u; -} - -/** - * @brief Print the relay boot identity and unconditional signal line. - * - * Emits the DEEPLINE authority banner, adaptive signal window, serial console - * configuration string, and nominal track status prompt over the console. - * - * @param None. - * @return None. - */ -static void print_identity(void) -{ - printf("DEEPLINE METRO AUTHORITY\r\n"); - printf("ADAPTIVE SIGNAL WINDOW: 38 MINUTES\r\n"); - printf("USB-CDC 115200 8N1 | AUTHORIZED LAB CONSOLE\r\n"); - printf("TRACK: NORMAL\r\n"); -} - -/** - * @brief Print the recurring interlocking status report once per cycle. - * - * Computes block length in meters, increments the fault poll counter, prints - * block state, train authorization status, fault poll tally, and signal key - * validation report, and re-emits the command prompt. - * - * @param None. - * @return None. - */ -static void print_status(void) -{ - uint32_t metres = (uint32_t)(g_telemetry.block_length_km * 1000.0); - g_fault_polls += 1u; - printf("BLOCK STATE: %s\r\n", g_operator_state ? "STABLE" : "CRITICAL"); - printf("AUTO TRAIN: %s\r\n", g_dispatch_state ? "AUTHORIZED" : "HELD"); - printf("BLOCK LENGTH: %u M\r\n", metres); - printf("FAULT POLLS: %u\r\n", g_fault_polls); - printf("SIGNAL KEY: 0x%08X %s\r\n", g_signal_key, - (g_signal_key == SIGNAL_SPEC) ? "OK" : "MISMATCH"); - printf("RESPONSE> "); -} - -/** - * @brief Append one received character to the passphrase buffer. - * - * Stores printable characters up to the maximum passphrase length boundary - * and echoes the character back to the console for interactive typing feedback. - * - * @param ch Input character value. - * @return None. - */ -static void append_char(int ch) -{ - if (g_lineidx + 1u >= AUTH_PASSPHRASE_MAX_LEN) { - return; - } - g_linebuf[g_lineidx] = (char)ch; - g_lineidx += 1u; - putchar_raw((char)ch); -} - -/** - * @brief Remove one character from the passphrase buffer. - * - * Decrements the buffer index and emits a backspace-space-backspace escape - * sequence to erase the character on the user's terminal. - * - * @param None. - * @return None. - */ -static void drop_char(void) -{ - if (g_lineidx == 0u) { - return; - } - g_lineidx -= 1u; - printf("\b \b"); -} - -/** - * @brief Authenticate the completed passphrase against the Ouroboros gate. - * - * Terminates the string buffer, invokes auth_execute, handles policy violation - * or authentication failure outputs, and resets the line buffer for the next input. - * - * @param None. - * @return None. - */ -static void submit_gate(void) -{ - auth_result_t result; - putchar_raw('\r'); - putchar_raw('\n'); - g_linebuf[g_lineidx] = '\0'; - result = auth_execute((const uint8_t *)g_linebuf, g_lineidx); - if (result == AUTH_RESULT_POLICY_VIOLATION) { - gpio_put(AUTH_LED_PIN, 0); - printf("Enter exactly 12 lowercase words separated by spaces.\r\n"); - } else if (result == AUTH_RESULT_SUCCESS) { - printf("AUTHORITY FRAME: VERIFIED\r\n"); - } else { - gpio_put(AUTH_LED_PIN, 0); - printf("Authentication failed.\r\n"); - } - g_lineidx = 0u; - printf("RESPONSE> "); -} - -/** - * @brief Poll the console for one passphrase input event. - * - * Reads a single character from standard input with zero timeout and routes - * backspace, newline/carriage return, or printable characters to their respective - * handlers. - * - * @param None. - * @return None. - */ -static void poll_console(void) -{ - int ch = getchar_timeout_us(0); - while (ch != PICO_ERROR_TIMEOUT) { - if ((ch == '\b') || (ch == 127)) { - drop_char(); - } else if ((ch == '\r') || (ch == '\n')) { - submit_gate(); - } else { - append_char(ch); - } - ch = getchar_timeout_us(0); - } -} - -/** - * @brief Drive the DEEPLINE relay console and operator gate forever. - * - * Initializes standard I/O and the authentication engine, classifies the track - * blocks, emits the initial system banner, and enters an infinite loop refreshing - * the signal state, reporting status, and servicing the console every two seconds. - * - * @param None. - * @return int Process exit code (never returns during normal operation). - */ -int main(void) -{ - stdio_init_all(); - auth_init(); - classify_blocks(); - print_identity(); - while (true) { - set_signal_state(); - print_status(); - poll_console(); - sleep_ms(2000u); - } -} \ No newline at end of file diff --git a/0x0017a_ctf/src/mbedtls_shims.c b/0x0017a_ctf/src/mbedtls_shims.c deleted file mode 100644 index 7c06a9d..0000000 --- a/0x0017a_ctf/src/mbedtls_shims.c +++ /dev/null @@ -1,49 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: mbedtls_shims.c -// Desc: Implements platform zeroization shims required by mbedTLS on RP2350. -// Created: 2026 - -#include "mbedtls/platform_util.h" - -/** - * @brief Securely clear a memory region. - * - * Provides the mbedTLS platform zeroization hook for this firmware build. - * The volatile pointer prevents the compiler from optimizing away the - * clearing loop. - * - * @param buf Pointer to mutable memory region to clear. - * @param len Number of bytes to clear. - * @return None. - */ -void mbedtls_platform_zeroize(void *buf, size_t len) -{ - volatile unsigned char *ptr = (volatile unsigned char *)buf; - while (len-- > 0u) { - *ptr++ = 0u; - } -} diff --git a/0x0017a_ctf/third_party/argon2/include/argon2.h b/0x0017a_ctf/third_party/argon2/include/argon2.h deleted file mode 100644 index 3980bb3..0000000 --- a/0x0017a_ctf/third_party/argon2/include/argon2.h +++ /dev/null @@ -1,437 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef ARGON2_H -#define ARGON2_H - -#include -#include -#include - -#if defined(__cplusplus) -extern "C" { -#endif - -/* Symbols visibility control */ -#ifdef A2_VISCTL -#define ARGON2_PUBLIC __attribute__((visibility("default"))) -#define ARGON2_LOCAL __attribute__ ((visibility ("hidden"))) -#elif defined(_MSC_VER) -#define ARGON2_PUBLIC __declspec(dllexport) -#define ARGON2_LOCAL -#else -#define ARGON2_PUBLIC -#define ARGON2_LOCAL -#endif - -/* - * Argon2 input parameter restrictions - */ - -/* Minimum and maximum number of lanes (degree of parallelism) */ -#define ARGON2_MIN_LANES UINT32_C(1) -#define ARGON2_MAX_LANES UINT32_C(0xFFFFFF) - -/* Minimum and maximum number of threads */ -#define ARGON2_MIN_THREADS UINT32_C(1) -#define ARGON2_MAX_THREADS UINT32_C(0xFFFFFF) - -/* Number of synchronization points between lanes per pass */ -#define ARGON2_SYNC_POINTS UINT32_C(4) - -/* Minimum and maximum digest size in bytes */ -#define ARGON2_MIN_OUTLEN UINT32_C(4) -#define ARGON2_MAX_OUTLEN UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum number of memory blocks (each of BLOCK_SIZE bytes) */ -#define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */ - -#define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b)) -/* Max memory size is addressing-space/2, topping at 2^32 blocks (4 TB) */ -#define ARGON2_MAX_MEMORY_BITS \ - ARGON2_MIN(UINT32_C(32), (sizeof(void *) * CHAR_BIT - 10 - 1)) -#define ARGON2_MAX_MEMORY \ - ARGON2_MIN(UINT32_C(0xFFFFFFFF), UINT64_C(1) << ARGON2_MAX_MEMORY_BITS) - -/* Minimum and maximum number of passes */ -#define ARGON2_MIN_TIME UINT32_C(1) -#define ARGON2_MAX_TIME UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum password length in bytes */ -#define ARGON2_MIN_PWD_LENGTH UINT32_C(0) -#define ARGON2_MAX_PWD_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum associated data length in bytes */ -#define ARGON2_MIN_AD_LENGTH UINT32_C(0) -#define ARGON2_MAX_AD_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum salt length in bytes */ -#define ARGON2_MIN_SALT_LENGTH UINT32_C(8) -#define ARGON2_MAX_SALT_LENGTH UINT32_C(0xFFFFFFFF) - -/* Minimum and maximum key length in bytes */ -#define ARGON2_MIN_SECRET UINT32_C(0) -#define ARGON2_MAX_SECRET UINT32_C(0xFFFFFFFF) - -/* Flags to determine which fields are securely wiped (default = no wipe). */ -#define ARGON2_DEFAULT_FLAGS UINT32_C(0) -#define ARGON2_FLAG_CLEAR_PASSWORD (UINT32_C(1) << 0) -#define ARGON2_FLAG_CLEAR_SECRET (UINT32_C(1) << 1) - -/* Global flag to determine if we are wiping internal memory buffers. This flag - * is defined in core.c and defaults to 1 (wipe internal memory). */ -extern int FLAG_clear_internal_memory; - -/* Error codes */ -typedef enum Argon2_ErrorCodes { - ARGON2_OK = 0, - - ARGON2_OUTPUT_PTR_NULL = -1, - - ARGON2_OUTPUT_TOO_SHORT = -2, - ARGON2_OUTPUT_TOO_LONG = -3, - - ARGON2_PWD_TOO_SHORT = -4, - ARGON2_PWD_TOO_LONG = -5, - - ARGON2_SALT_TOO_SHORT = -6, - ARGON2_SALT_TOO_LONG = -7, - - ARGON2_AD_TOO_SHORT = -8, - ARGON2_AD_TOO_LONG = -9, - - ARGON2_SECRET_TOO_SHORT = -10, - ARGON2_SECRET_TOO_LONG = -11, - - ARGON2_TIME_TOO_SMALL = -12, - ARGON2_TIME_TOO_LARGE = -13, - - ARGON2_MEMORY_TOO_LITTLE = -14, - ARGON2_MEMORY_TOO_MUCH = -15, - - ARGON2_LANES_TOO_FEW = -16, - ARGON2_LANES_TOO_MANY = -17, - - ARGON2_PWD_PTR_MISMATCH = -18, /* NULL ptr with non-zero length */ - ARGON2_SALT_PTR_MISMATCH = -19, /* NULL ptr with non-zero length */ - ARGON2_SECRET_PTR_MISMATCH = -20, /* NULL ptr with non-zero length */ - ARGON2_AD_PTR_MISMATCH = -21, /* NULL ptr with non-zero length */ - - ARGON2_MEMORY_ALLOCATION_ERROR = -22, - - ARGON2_FREE_MEMORY_CBK_NULL = -23, - ARGON2_ALLOCATE_MEMORY_CBK_NULL = -24, - - ARGON2_INCORRECT_PARAMETER = -25, - ARGON2_INCORRECT_TYPE = -26, - - ARGON2_OUT_PTR_MISMATCH = -27, - - ARGON2_THREADS_TOO_FEW = -28, - ARGON2_THREADS_TOO_MANY = -29, - - ARGON2_MISSING_ARGS = -30, - - ARGON2_ENCODING_FAIL = -31, - - ARGON2_DECODING_FAIL = -32, - - ARGON2_THREAD_FAIL = -33, - - ARGON2_DECODING_LENGTH_FAIL = -34, - - ARGON2_VERIFY_MISMATCH = -35 -} argon2_error_codes; - -/* Memory allocator types --- for external allocation */ -typedef int (*allocate_fptr)(uint8_t **memory, size_t bytes_to_allocate); -typedef void (*deallocate_fptr)(uint8_t *memory, size_t bytes_to_allocate); - -/* Argon2 external data structures */ - -/* - ***** - * Context: structure to hold Argon2 inputs: - * output array and its length, - * password and its length, - * salt and its length, - * secret and its length, - * associated data and its length, - * number of passes, amount of used memory (in KBytes, can be rounded up a bit) - * number of parallel threads that will be run. - * All the parameters above affect the output hash value. - * Additionally, two function pointers can be provided to allocate and - * deallocate the memory (if NULL, memory will be allocated internally). - * Also, three flags indicate whether to erase password, secret as soon as they - * are pre-hashed (and thus not needed anymore), and the entire memory - ***** - * Simplest situation: you have output array out[8], password is stored in - * pwd[32], salt is stored in salt[16], you do not have keys nor associated - * data. You need to spend 1 GB of RAM and you run 5 passes of Argon2d with - * 4 parallel lanes. - * You want to erase the password, but you're OK with last pass not being - * erased. You want to use the default memory allocator. - * Then you initialize: - Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false) - */ -typedef struct Argon2_Context { - uint8_t *out; /* output array */ - uint32_t outlen; /* digest length */ - - uint8_t *pwd; /* password array */ - uint32_t pwdlen; /* password length */ - - uint8_t *salt; /* salt array */ - uint32_t saltlen; /* salt length */ - - uint8_t *secret; /* key array */ - uint32_t secretlen; /* key length */ - - uint8_t *ad; /* associated data array */ - uint32_t adlen; /* associated data length */ - - uint32_t t_cost; /* number of passes */ - uint32_t m_cost; /* amount of memory requested (KB) */ - uint32_t lanes; /* number of lanes */ - uint32_t threads; /* maximum number of threads */ - - uint32_t version; /* version number */ - - allocate_fptr allocate_cbk; /* pointer to memory allocator */ - deallocate_fptr free_cbk; /* pointer to memory deallocator */ - - uint32_t flags; /* array of bool options */ -} argon2_context; - -/* Argon2 primitive type */ -typedef enum Argon2_type { - Argon2_d = 0, - Argon2_i = 1, - Argon2_id = 2 -} argon2_type; - -/* Version of the algorithm */ -typedef enum Argon2_version { - ARGON2_VERSION_10 = 0x10, - ARGON2_VERSION_13 = 0x13, - ARGON2_VERSION_NUMBER = ARGON2_VERSION_13 -} argon2_version; - -/* - * Function that gives the string representation of an argon2_type. - * @param type The argon2_type that we want the string for - * @param uppercase Whether the string should have the first letter uppercase - * @return NULL if invalid type, otherwise the string representation. - */ -ARGON2_PUBLIC const char *argon2_type2string(argon2_type type, int uppercase); - -/* - * Function that performs memory-hard hashing with certain degree of parallelism - * @param context Pointer to the Argon2 internal structure - * @return Error code if smth is wrong, ARGON2_OK otherwise - */ -ARGON2_PUBLIC int argon2_ctx(argon2_context *context, argon2_type type); - -/** - * Hashes a password with Argon2i, producing an encoded hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hashlen Desired length of the hash in bytes - * @param encoded Buffer where to write the encoded hash - * @param encodedlen Size of the buffer (thus max size of the encoded hash) - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -ARGON2_PUBLIC int argon2i_hash_encoded(const uint32_t t_cost, - const uint32_t m_cost, - const uint32_t parallelism, - const void *pwd, const size_t pwdlen, - const void *salt, const size_t saltlen, - const size_t hashlen, char *encoded, - const size_t encodedlen); - -/** - * Hashes a password with Argon2i, producing a raw hash at @hash - * @param t_cost Number of iterations - * @param m_cost Sets memory usage to m_cost kibibytes - * @param parallelism Number of threads and compute lanes - * @param pwd Pointer to password - * @param pwdlen Password size in bytes - * @param salt Pointer to salt - * @param saltlen Salt size in bytes - * @param hash Buffer where to write the raw hash - updated by the function - * @param hashlen Desired length of the hash in bytes - * @pre Different parallelism levels will give different results - * @pre Returns ARGON2_OK if successful - */ -ARGON2_PUBLIC int argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, - const size_t hashlen); - -ARGON2_PUBLIC int argon2d_hash_encoded(const uint32_t t_cost, - const uint32_t m_cost, - const uint32_t parallelism, - const void *pwd, const size_t pwdlen, - const void *salt, const size_t saltlen, - const size_t hashlen, char *encoded, - const size_t encodedlen); - -ARGON2_PUBLIC int argon2d_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, - const size_t hashlen); - -ARGON2_PUBLIC int argon2id_hash_encoded(const uint32_t t_cost, - const uint32_t m_cost, - const uint32_t parallelism, - const void *pwd, const size_t pwdlen, - const void *salt, const size_t saltlen, - const size_t hashlen, char *encoded, - const size_t encodedlen); - -ARGON2_PUBLIC int argon2id_hash_raw(const uint32_t t_cost, - const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, - const size_t hashlen); - -/* generic function underlying the above ones */ -ARGON2_PUBLIC int argon2_hash(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, - const size_t hashlen, char *encoded, - const size_t encodedlen, argon2_type type, - const uint32_t version); - -/** - * Verifies a password against an encoded string - * Encoded string is restricted as in validate_inputs() - * @param encoded String encoding parameters, salt, hash - * @param pwd Pointer to password - * @pre Returns ARGON2_OK if successful - */ -ARGON2_PUBLIC int argon2i_verify(const char *encoded, const void *pwd, - const size_t pwdlen); - -ARGON2_PUBLIC int argon2d_verify(const char *encoded, const void *pwd, - const size_t pwdlen); - -ARGON2_PUBLIC int argon2id_verify(const char *encoded, const void *pwd, - const size_t pwdlen); - -/* generic function underlying the above ones */ -ARGON2_PUBLIC int argon2_verify(const char *encoded, const void *pwd, - const size_t pwdlen, argon2_type type); - -/** - * Argon2d: Version of Argon2 that picks memory blocks depending - * on the password and salt. Only for side-channel-free - * environment!! - ***** - * @param context Pointer to current Argon2 context - * @return Zero if successful, a non zero error code otherwise - */ -ARGON2_PUBLIC int argon2d_ctx(argon2_context *context); - -/** - * Argon2i: Version of Argon2 that picks memory blocks - * independent on the password and salt. Good for side-channels, - * but worse w.r.t. tradeoff attacks if only one pass is used. - ***** - * @param context Pointer to current Argon2 context - * @return Zero if successful, a non zero error code otherwise - */ -ARGON2_PUBLIC int argon2i_ctx(argon2_context *context); - -/** - * Argon2id: Version of Argon2 where the first half-pass over memory is - * password-independent, the rest are password-dependent (on the password and - * salt). OK against side channels (they reduce to 1/2-pass Argon2i), and - * better with w.r.t. tradeoff attacks (similar to Argon2d). - ***** - * @param context Pointer to current Argon2 context - * @return Zero if successful, a non zero error code otherwise - */ -ARGON2_PUBLIC int argon2id_ctx(argon2_context *context); - -/** - * Verify if a given password is correct for Argon2d hashing - * @param context Pointer to current Argon2 context - * @param hash The password hash to verify. The length of the hash is - * specified by the context outlen member - * @return Zero if successful, a non zero error code otherwise - */ -ARGON2_PUBLIC int argon2d_verify_ctx(argon2_context *context, const char *hash); - -/** - * Verify if a given password is correct for Argon2i hashing - * @param context Pointer to current Argon2 context - * @param hash The password hash to verify. The length of the hash is - * specified by the context outlen member - * @return Zero if successful, a non zero error code otherwise - */ -ARGON2_PUBLIC int argon2i_verify_ctx(argon2_context *context, const char *hash); - -/** - * Verify if a given password is correct for Argon2id hashing - * @param context Pointer to current Argon2 context - * @param hash The password hash to verify. The length of the hash is - * specified by the context outlen member - * @return Zero if successful, a non zero error code otherwise - */ -ARGON2_PUBLIC int argon2id_verify_ctx(argon2_context *context, - const char *hash); - -/* generic function underlying the above ones */ -ARGON2_PUBLIC int argon2_verify_ctx(argon2_context *context, const char *hash, - argon2_type type); - -/** - * Get the associated error message for given error code - * @return The error message associated with the given error code - */ -ARGON2_PUBLIC const char *argon2_error_message(int error_code); - -/** - * Returns the encoded hash length for the given input parameters - * @param t_cost Number of iterations - * @param m_cost Memory usage in kibibytes - * @param parallelism Number of threads; used to compute lanes - * @param saltlen Salt size in bytes - * @param hashlen Hash size in bytes - * @param type The argon2_type that we want the encoded length for - * @return The encoded hash length in bytes - */ -ARGON2_PUBLIC size_t argon2_encodedlen(uint32_t t_cost, uint32_t m_cost, - uint32_t parallelism, uint32_t saltlen, - uint32_t hashlen, argon2_type type); - -#if defined(__cplusplus) -} -#endif - -#endif diff --git a/0x0017a_ctf/third_party/argon2/src/argon2.c b/0x0017a_ctf/third_party/argon2/src/argon2.c deleted file mode 100644 index 34da3d6..0000000 --- a/0x0017a_ctf/third_party/argon2/src/argon2.c +++ /dev/null @@ -1,452 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#include -#include -#include - -#include "argon2.h" -#include "encoding.h" -#include "core.h" - -const char *argon2_type2string(argon2_type type, int uppercase) { - switch (type) { - case Argon2_d: - return uppercase ? "Argon2d" : "argon2d"; - case Argon2_i: - return uppercase ? "Argon2i" : "argon2i"; - case Argon2_id: - return uppercase ? "Argon2id" : "argon2id"; - } - - return NULL; -} - -int argon2_ctx(argon2_context *context, argon2_type type) { - /* 1. Validate all inputs */ - int result = validate_inputs(context); - uint32_t memory_blocks, segment_length; - argon2_instance_t instance; - - if (ARGON2_OK != result) { - return result; - } - - if (Argon2_d != type && Argon2_i != type && Argon2_id != type) { - return ARGON2_INCORRECT_TYPE; - } - - /* 2. Align memory size */ - /* Minimum memory_blocks = 8L blocks, where L is the number of lanes */ - memory_blocks = context->m_cost; - - if (memory_blocks < 2 * ARGON2_SYNC_POINTS * context->lanes) { - memory_blocks = 2 * ARGON2_SYNC_POINTS * context->lanes; - } - - segment_length = memory_blocks / (context->lanes * ARGON2_SYNC_POINTS); - /* Ensure that all segments have equal length */ - memory_blocks = segment_length * (context->lanes * ARGON2_SYNC_POINTS); - - instance.version = context->version; - instance.memory = NULL; - instance.passes = context->t_cost; - instance.memory_blocks = memory_blocks; - instance.segment_length = segment_length; - instance.lane_length = segment_length * ARGON2_SYNC_POINTS; - instance.lanes = context->lanes; - instance.threads = context->threads; - instance.type = type; - - if (instance.threads > instance.lanes) { - instance.threads = instance.lanes; - } - - /* 3. Initialization: Hashing inputs, allocating memory, filling first - * blocks - */ - result = initialize(&instance, context); - - if (ARGON2_OK != result) { - return result; - } - - /* 4. Filling memory */ - result = fill_memory_blocks(&instance); - - if (ARGON2_OK != result) { - return result; - } - /* 5. Finalization */ - finalize(context, &instance); - - return ARGON2_OK; -} - -int argon2_hash(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, const size_t saltlen, - void *hash, const size_t hashlen, char *encoded, - const size_t encodedlen, argon2_type type, - const uint32_t version){ - - argon2_context context; - int result; - uint8_t *out; - - if (pwdlen > ARGON2_MAX_PWD_LENGTH) { - return ARGON2_PWD_TOO_LONG; - } - - if (saltlen > ARGON2_MAX_SALT_LENGTH) { - return ARGON2_SALT_TOO_LONG; - } - - if (hashlen > ARGON2_MAX_OUTLEN) { - return ARGON2_OUTPUT_TOO_LONG; - } - - if (hashlen < ARGON2_MIN_OUTLEN) { - return ARGON2_OUTPUT_TOO_SHORT; - } - - out = malloc(hashlen); - if (!out) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - context.out = (uint8_t *)out; - context.outlen = (uint32_t)hashlen; - context.pwd = CONST_CAST(uint8_t *)pwd; - context.pwdlen = (uint32_t)pwdlen; - context.salt = CONST_CAST(uint8_t *)salt; - context.saltlen = (uint32_t)saltlen; - context.secret = NULL; - context.secretlen = 0; - context.ad = NULL; - context.adlen = 0; - context.t_cost = t_cost; - context.m_cost = m_cost; - context.lanes = parallelism; - context.threads = parallelism; - context.allocate_cbk = NULL; - context.free_cbk = NULL; - context.flags = ARGON2_DEFAULT_FLAGS; - context.version = version; - - result = argon2_ctx(&context, type); - - if (result != ARGON2_OK) { - clear_internal_memory(out, hashlen); - free(out); - return result; - } - - /* if raw hash requested, write it */ - if (hash) { - memcpy(hash, out, hashlen); - } - - /* if encoding requested, write it */ - if (encoded && encodedlen) { - if (encode_string(encoded, encodedlen, &context, type) != ARGON2_OK) { - clear_internal_memory(out, hashlen); /* wipe buffers if error */ - clear_internal_memory(encoded, encodedlen); - free(out); - return ARGON2_ENCODING_FAIL; - } - } - clear_internal_memory(out, hashlen); - free(out); - - return ARGON2_OK; -} - -int argon2i_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, - char *encoded, const size_t encodedlen) { - - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - NULL, hashlen, encoded, encodedlen, Argon2_i, - ARGON2_VERSION_NUMBER); -} - -int argon2i_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, const size_t hashlen) { - - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - hash, hashlen, NULL, 0, Argon2_i, ARGON2_VERSION_NUMBER); -} - -int argon2d_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, - char *encoded, const size_t encodedlen) { - - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - NULL, hashlen, encoded, encodedlen, Argon2_d, - ARGON2_VERSION_NUMBER); -} - -int argon2d_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, const size_t hashlen) { - - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - hash, hashlen, NULL, 0, Argon2_d, ARGON2_VERSION_NUMBER); -} - -int argon2id_hash_encoded(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, const size_t hashlen, - char *encoded, const size_t encodedlen) { - - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - NULL, hashlen, encoded, encodedlen, Argon2_id, - ARGON2_VERSION_NUMBER); -} - -int argon2id_hash_raw(const uint32_t t_cost, const uint32_t m_cost, - const uint32_t parallelism, const void *pwd, - const size_t pwdlen, const void *salt, - const size_t saltlen, void *hash, const size_t hashlen) { - return argon2_hash(t_cost, m_cost, parallelism, pwd, pwdlen, salt, saltlen, - hash, hashlen, NULL, 0, Argon2_id, - ARGON2_VERSION_NUMBER); -} - -static int argon2_compare(const uint8_t *b1, const uint8_t *b2, size_t len) { - size_t i; - uint8_t d = 0U; - - for (i = 0U; i < len; i++) { - d |= b1[i] ^ b2[i]; - } - return (int)((1 & ((d - 1) >> 8)) - 1); -} - -int argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen, - argon2_type type) { - - argon2_context ctx; - uint8_t *desired_result = NULL; - - int ret = ARGON2_OK; - - size_t encoded_len; - uint32_t max_field_len; - - if (pwdlen > ARGON2_MAX_PWD_LENGTH) { - return ARGON2_PWD_TOO_LONG; - } - - if (encoded == NULL) { - return ARGON2_DECODING_FAIL; - } - - encoded_len = strlen(encoded); - if (encoded_len > UINT32_MAX) { - return ARGON2_DECODING_FAIL; - } - - /* No field can be longer than the encoded length */ - max_field_len = (uint32_t)encoded_len; - - ctx.saltlen = max_field_len; - ctx.outlen = max_field_len; - - ctx.salt = malloc(ctx.saltlen); - ctx.out = malloc(ctx.outlen); - if (!ctx.salt || !ctx.out) { - ret = ARGON2_MEMORY_ALLOCATION_ERROR; - goto fail; - } - - ctx.pwd = (uint8_t *)pwd; - ctx.pwdlen = (uint32_t)pwdlen; - - ret = decode_string(&ctx, encoded, type); - if (ret != ARGON2_OK) { - goto fail; - } - - /* Set aside the desired result, and get a new buffer. */ - desired_result = ctx.out; - ctx.out = malloc(ctx.outlen); - if (!ctx.out) { - ret = ARGON2_MEMORY_ALLOCATION_ERROR; - goto fail; - } - - ret = argon2_verify_ctx(&ctx, (char *)desired_result, type); - if (ret != ARGON2_OK) { - goto fail; - } - -fail: - free(ctx.salt); - free(ctx.out); - free(desired_result); - - return ret; -} - -int argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen) { - - return argon2_verify(encoded, pwd, pwdlen, Argon2_i); -} - -int argon2d_verify(const char *encoded, const void *pwd, const size_t pwdlen) { - - return argon2_verify(encoded, pwd, pwdlen, Argon2_d); -} - -int argon2id_verify(const char *encoded, const void *pwd, const size_t pwdlen) { - - return argon2_verify(encoded, pwd, pwdlen, Argon2_id); -} - -int argon2d_ctx(argon2_context *context) { - return argon2_ctx(context, Argon2_d); -} - -int argon2i_ctx(argon2_context *context) { - return argon2_ctx(context, Argon2_i); -} - -int argon2id_ctx(argon2_context *context) { - return argon2_ctx(context, Argon2_id); -} - -int argon2_verify_ctx(argon2_context *context, const char *hash, - argon2_type type) { - int ret = argon2_ctx(context, type); - if (ret != ARGON2_OK) { - return ret; - } - - if (argon2_compare((uint8_t *)hash, context->out, context->outlen)) { - return ARGON2_VERIFY_MISMATCH; - } - - return ARGON2_OK; -} - -int argon2d_verify_ctx(argon2_context *context, const char *hash) { - return argon2_verify_ctx(context, hash, Argon2_d); -} - -int argon2i_verify_ctx(argon2_context *context, const char *hash) { - return argon2_verify_ctx(context, hash, Argon2_i); -} - -int argon2id_verify_ctx(argon2_context *context, const char *hash) { - return argon2_verify_ctx(context, hash, Argon2_id); -} - -const char *argon2_error_message(int error_code) { - switch (error_code) { - case ARGON2_OK: - return "OK"; - case ARGON2_OUTPUT_PTR_NULL: - return "Output pointer is NULL"; - case ARGON2_OUTPUT_TOO_SHORT: - return "Output is too short"; - case ARGON2_OUTPUT_TOO_LONG: - return "Output is too long"; - case ARGON2_PWD_TOO_SHORT: - return "Password is too short"; - case ARGON2_PWD_TOO_LONG: - return "Password is too long"; - case ARGON2_SALT_TOO_SHORT: - return "Salt is too short"; - case ARGON2_SALT_TOO_LONG: - return "Salt is too long"; - case ARGON2_AD_TOO_SHORT: - return "Associated data is too short"; - case ARGON2_AD_TOO_LONG: - return "Associated data is too long"; - case ARGON2_SECRET_TOO_SHORT: - return "Secret is too short"; - case ARGON2_SECRET_TOO_LONG: - return "Secret is too long"; - case ARGON2_TIME_TOO_SMALL: - return "Time cost is too small"; - case ARGON2_TIME_TOO_LARGE: - return "Time cost is too large"; - case ARGON2_MEMORY_TOO_LITTLE: - return "Memory cost is too small"; - case ARGON2_MEMORY_TOO_MUCH: - return "Memory cost is too large"; - case ARGON2_LANES_TOO_FEW: - return "Too few lanes"; - case ARGON2_LANES_TOO_MANY: - return "Too many lanes"; - case ARGON2_PWD_PTR_MISMATCH: - return "Password pointer is NULL, but password length is not 0"; - case ARGON2_SALT_PTR_MISMATCH: - return "Salt pointer is NULL, but salt length is not 0"; - case ARGON2_SECRET_PTR_MISMATCH: - return "Secret pointer is NULL, but secret length is not 0"; - case ARGON2_AD_PTR_MISMATCH: - return "Associated data pointer is NULL, but ad length is not 0"; - case ARGON2_MEMORY_ALLOCATION_ERROR: - return "Memory allocation error"; - case ARGON2_FREE_MEMORY_CBK_NULL: - return "The free memory callback is NULL"; - case ARGON2_ALLOCATE_MEMORY_CBK_NULL: - return "The allocate memory callback is NULL"; - case ARGON2_INCORRECT_PARAMETER: - return "Argon2_Context context is NULL"; - case ARGON2_INCORRECT_TYPE: - return "There is no such version of Argon2"; - case ARGON2_OUT_PTR_MISMATCH: - return "Output pointer mismatch"; - case ARGON2_THREADS_TOO_FEW: - return "Not enough threads"; - case ARGON2_THREADS_TOO_MANY: - return "Too many threads"; - case ARGON2_MISSING_ARGS: - return "Missing arguments"; - case ARGON2_ENCODING_FAIL: - return "Encoding failed"; - case ARGON2_DECODING_FAIL: - return "Decoding failed"; - case ARGON2_THREAD_FAIL: - return "Threading failure"; - case ARGON2_DECODING_LENGTH_FAIL: - return "Some of encoded parameters are too long or too short"; - case ARGON2_VERIFY_MISMATCH: - return "The password does not match the supplied hash"; - default: - return "Unknown error code"; - } -} - -size_t argon2_encodedlen(uint32_t t_cost, uint32_t m_cost, uint32_t parallelism, - uint32_t saltlen, uint32_t hashlen, argon2_type type) { - return strlen("$$v=$m=,t=,p=$$") + strlen(argon2_type2string(type, 0)) + - numlen(t_cost) + numlen(m_cost) + numlen(parallelism) + - b64len(saltlen) + b64len(hashlen) + numlen(ARGON2_VERSION_NUMBER) + 1; -} diff --git a/0x0017a_ctf/third_party/argon2/src/blake2/blake2-impl.h b/0x0017a_ctf/third_party/argon2/src/blake2/blake2-impl.h deleted file mode 100644 index 86d0d5c..0000000 --- a/0x0017a_ctf/third_party/argon2/src/blake2/blake2-impl.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef PORTABLE_BLAKE2_IMPL_H -#define PORTABLE_BLAKE2_IMPL_H - -#include -#include - -#ifdef _WIN32 -#define BLAKE2_INLINE __inline -#elif defined(__GNUC__) || defined(__clang__) -#define BLAKE2_INLINE __inline__ -#else -#define BLAKE2_INLINE -#endif - -/* Argon2 Team - Begin Code */ -/* - Not an exhaustive list, but should cover the majority of modern platforms - Additionally, the code will always be correct---this is only a performance - tweak. -*/ -#if (defined(__BYTE_ORDER__) && \ - (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) || \ - defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || defined(__MIPSEL__) || \ - defined(__AARCH64EL__) || defined(__amd64__) || defined(__i386__) || \ - defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \ - defined(_M_ARM) -#define NATIVE_LITTLE_ENDIAN -#endif -/* Argon2 Team - End Code */ - -static BLAKE2_INLINE uint32_t load32(const void *src) { -#if defined(NATIVE_LITTLE_ENDIAN) - uint32_t w; - memcpy(&w, src, sizeof w); - return w; -#else - const uint8_t *p = (const uint8_t *)src; - uint32_t w = *p++; - w |= (uint32_t)(*p++) << 8; - w |= (uint32_t)(*p++) << 16; - w |= (uint32_t)(*p++) << 24; - return w; -#endif -} - -static BLAKE2_INLINE uint64_t load64(const void *src) { -#if defined(NATIVE_LITTLE_ENDIAN) - uint64_t w; - memcpy(&w, src, sizeof w); - return w; -#else - const uint8_t *p = (const uint8_t *)src; - uint64_t w = *p++; - w |= (uint64_t)(*p++) << 8; - w |= (uint64_t)(*p++) << 16; - w |= (uint64_t)(*p++) << 24; - w |= (uint64_t)(*p++) << 32; - w |= (uint64_t)(*p++) << 40; - w |= (uint64_t)(*p++) << 48; - w |= (uint64_t)(*p++) << 56; - return w; -#endif -} - -static BLAKE2_INLINE void store32(void *dst, uint32_t w) { -#if defined(NATIVE_LITTLE_ENDIAN) - memcpy(dst, &w, sizeof w); -#else - uint8_t *p = (uint8_t *)dst; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; -#endif -} - -static BLAKE2_INLINE void store64(void *dst, uint64_t w) { -#if defined(NATIVE_LITTLE_ENDIAN) - memcpy(dst, &w, sizeof w); -#else - uint8_t *p = (uint8_t *)dst; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; -#endif -} - -static BLAKE2_INLINE uint64_t load48(const void *src) { - const uint8_t *p = (const uint8_t *)src; - uint64_t w = *p++; - w |= (uint64_t)(*p++) << 8; - w |= (uint64_t)(*p++) << 16; - w |= (uint64_t)(*p++) << 24; - w |= (uint64_t)(*p++) << 32; - w |= (uint64_t)(*p++) << 40; - return w; -} - -static BLAKE2_INLINE void store48(void *dst, uint64_t w) { - uint8_t *p = (uint8_t *)dst; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; - w >>= 8; - *p++ = (uint8_t)w; -} - -static BLAKE2_INLINE uint32_t rotr32(const uint32_t w, const unsigned c) { - return (w >> c) | (w << (32 - c)); -} - -static BLAKE2_INLINE uint64_t rotr64(const uint64_t w, const unsigned c) { - return (w >> c) | (w << (64 - c)); -} - -void clear_internal_memory(void *v, size_t n); - -#endif diff --git a/0x0017a_ctf/third_party/argon2/src/blake2/blake2.h b/0x0017a_ctf/third_party/argon2/src/blake2/blake2.h deleted file mode 100644 index 501c6a3..0000000 --- a/0x0017a_ctf/third_party/argon2/src/blake2/blake2.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef PORTABLE_BLAKE2_H -#define PORTABLE_BLAKE2_H - -#include - -#if defined(__cplusplus) -extern "C" { -#endif - -enum blake2b_constant { - BLAKE2B_BLOCKBYTES = 128, - BLAKE2B_OUTBYTES = 64, - BLAKE2B_KEYBYTES = 64, - BLAKE2B_SALTBYTES = 16, - BLAKE2B_PERSONALBYTES = 16 -}; - -#pragma pack(push, 1) -typedef struct __blake2b_param { - uint8_t digest_length; /* 1 */ - uint8_t key_length; /* 2 */ - uint8_t fanout; /* 3 */ - uint8_t depth; /* 4 */ - uint32_t leaf_length; /* 8 */ - uint64_t node_offset; /* 16 */ - uint8_t node_depth; /* 17 */ - uint8_t inner_length; /* 18 */ - uint8_t reserved[14]; /* 32 */ - uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */ - uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */ -} blake2b_param; -#pragma pack(pop) - -typedef struct __blake2b_state { - uint64_t h[8]; - uint64_t t[2]; - uint64_t f[2]; - uint8_t buf[BLAKE2B_BLOCKBYTES]; - unsigned buflen; - unsigned outlen; - uint8_t last_node; -} blake2b_state; - -/* Ensure param structs have not been wrongly padded */ -/* Poor man's static_assert */ -enum { - blake2_size_check_0 = 1 / !!(CHAR_BIT == 8), - blake2_size_check_2 = - 1 / !!(sizeof(blake2b_param) == sizeof(uint64_t) * CHAR_BIT) -}; - -/* Streaming API */ -ARGON2_LOCAL int blake2b_init(blake2b_state *S, size_t outlen); -ARGON2_LOCAL int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key, - size_t keylen); -ARGON2_LOCAL int blake2b_init_param(blake2b_state *S, const blake2b_param *P); -ARGON2_LOCAL int blake2b_update(blake2b_state *S, const void *in, size_t inlen); -ARGON2_LOCAL int blake2b_final(blake2b_state *S, void *out, size_t outlen); - -/* Simple API */ -ARGON2_LOCAL int blake2b(void *out, size_t outlen, const void *in, size_t inlen, - const void *key, size_t keylen); - -/* Argon2 Team - Begin Code */ -ARGON2_LOCAL int blake2b_long(void *out, size_t outlen, const void *in, size_t inlen); -/* Argon2 Team - End Code */ - -#if defined(__cplusplus) -} -#endif - -#endif diff --git a/0x0017a_ctf/third_party/argon2/src/blake2/blake2b.c b/0x0017a_ctf/third_party/argon2/src/blake2/blake2b.c deleted file mode 100644 index 3b519dd..0000000 --- a/0x0017a_ctf/third_party/argon2/src/blake2/blake2b.c +++ /dev/null @@ -1,390 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#include -#include -#include - -#include "blake2.h" -#include "blake2-impl.h" - -static const uint64_t blake2b_IV[8] = { - UINT64_C(0x6a09e667f3bcc908), UINT64_C(0xbb67ae8584caa73b), - UINT64_C(0x3c6ef372fe94f82b), UINT64_C(0xa54ff53a5f1d36f1), - UINT64_C(0x510e527fade682d1), UINT64_C(0x9b05688c2b3e6c1f), - UINT64_C(0x1f83d9abfb41bd6b), UINT64_C(0x5be0cd19137e2179)}; - -static const unsigned int blake2b_sigma[12][16] = { - {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, - {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3}, - {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4}, - {7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8}, - {9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13}, - {2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9}, - {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11}, - {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10}, - {6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5}, - {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0}, - {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, - {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3}, -}; - -static BLAKE2_INLINE void blake2b_set_lastnode(blake2b_state *S) { - S->f[1] = (uint64_t)-1; -} - -static BLAKE2_INLINE void blake2b_set_lastblock(blake2b_state *S) { - if (S->last_node) { - blake2b_set_lastnode(S); - } - S->f[0] = (uint64_t)-1; -} - -static BLAKE2_INLINE void blake2b_increment_counter(blake2b_state *S, - uint64_t inc) { - S->t[0] += inc; - S->t[1] += (S->t[0] < inc); -} - -static BLAKE2_INLINE void blake2b_invalidate_state(blake2b_state *S) { - clear_internal_memory(S, sizeof(*S)); /* wipe */ - blake2b_set_lastblock(S); /* invalidate for further use */ -} - -static BLAKE2_INLINE void blake2b_init0(blake2b_state *S) { - memset(S, 0, sizeof(*S)); - memcpy(S->h, blake2b_IV, sizeof(S->h)); -} - -int blake2b_init_param(blake2b_state *S, const blake2b_param *P) { - const unsigned char *p = (const unsigned char *)P; - unsigned int i; - - if (NULL == P || NULL == S) { - return -1; - } - - blake2b_init0(S); - /* IV XOR Parameter Block */ - for (i = 0; i < 8; ++i) { - S->h[i] ^= load64(&p[i * sizeof(S->h[i])]); - } - S->outlen = P->digest_length; - return 0; -} - -/* Sequential blake2b initialization */ -int blake2b_init(blake2b_state *S, size_t outlen) { - blake2b_param P; - - if (S == NULL) { - return -1; - } - - if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) { - blake2b_invalidate_state(S); - return -1; - } - - /* Setup Parameter Block for unkeyed BLAKE2 */ - P.digest_length = (uint8_t)outlen; - P.key_length = 0; - P.fanout = 1; - P.depth = 1; - P.leaf_length = 0; - P.node_offset = 0; - P.node_depth = 0; - P.inner_length = 0; - memset(P.reserved, 0, sizeof(P.reserved)); - memset(P.salt, 0, sizeof(P.salt)); - memset(P.personal, 0, sizeof(P.personal)); - - return blake2b_init_param(S, &P); -} - -int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key, - size_t keylen) { - blake2b_param P; - - if (S == NULL) { - return -1; - } - - if ((outlen == 0) || (outlen > BLAKE2B_OUTBYTES)) { - blake2b_invalidate_state(S); - return -1; - } - - if ((key == 0) || (keylen == 0) || (keylen > BLAKE2B_KEYBYTES)) { - blake2b_invalidate_state(S); - return -1; - } - - /* Setup Parameter Block for keyed BLAKE2 */ - P.digest_length = (uint8_t)outlen; - P.key_length = (uint8_t)keylen; - P.fanout = 1; - P.depth = 1; - P.leaf_length = 0; - P.node_offset = 0; - P.node_depth = 0; - P.inner_length = 0; - memset(P.reserved, 0, sizeof(P.reserved)); - memset(P.salt, 0, sizeof(P.salt)); - memset(P.personal, 0, sizeof(P.personal)); - - if (blake2b_init_param(S, &P) < 0) { - blake2b_invalidate_state(S); - return -1; - } - - { - uint8_t block[BLAKE2B_BLOCKBYTES]; - memset(block, 0, BLAKE2B_BLOCKBYTES); - memcpy(block, key, keylen); - blake2b_update(S, block, BLAKE2B_BLOCKBYTES); - /* Burn the key from stack */ - clear_internal_memory(block, BLAKE2B_BLOCKBYTES); - } - return 0; -} - -static void blake2b_compress(blake2b_state *S, const uint8_t *block) { - uint64_t m[16]; - uint64_t v[16]; - unsigned int i, r; - - for (i = 0; i < 16; ++i) { - m[i] = load64(block + i * sizeof(m[i])); - } - - for (i = 0; i < 8; ++i) { - v[i] = S->h[i]; - } - - v[8] = blake2b_IV[0]; - v[9] = blake2b_IV[1]; - v[10] = blake2b_IV[2]; - v[11] = blake2b_IV[3]; - v[12] = blake2b_IV[4] ^ S->t[0]; - v[13] = blake2b_IV[5] ^ S->t[1]; - v[14] = blake2b_IV[6] ^ S->f[0]; - v[15] = blake2b_IV[7] ^ S->f[1]; - -#define G(r, i, a, b, c, d) \ - do { \ - a = a + b + m[blake2b_sigma[r][2 * i + 0]]; \ - d = rotr64(d ^ a, 32); \ - c = c + d; \ - b = rotr64(b ^ c, 24); \ - a = a + b + m[blake2b_sigma[r][2 * i + 1]]; \ - d = rotr64(d ^ a, 16); \ - c = c + d; \ - b = rotr64(b ^ c, 63); \ - } while ((void)0, 0) - -#define ROUND(r) \ - do { \ - G(r, 0, v[0], v[4], v[8], v[12]); \ - G(r, 1, v[1], v[5], v[9], v[13]); \ - G(r, 2, v[2], v[6], v[10], v[14]); \ - G(r, 3, v[3], v[7], v[11], v[15]); \ - G(r, 4, v[0], v[5], v[10], v[15]); \ - G(r, 5, v[1], v[6], v[11], v[12]); \ - G(r, 6, v[2], v[7], v[8], v[13]); \ - G(r, 7, v[3], v[4], v[9], v[14]); \ - } while ((void)0, 0) - - for (r = 0; r < 12; ++r) { - ROUND(r); - } - - for (i = 0; i < 8; ++i) { - S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; - } - -#undef G -#undef ROUND -} - -int blake2b_update(blake2b_state *S, const void *in, size_t inlen) { - const uint8_t *pin = (const uint8_t *)in; - - if (inlen == 0) { - return 0; - } - - /* Sanity check */ - if (S == NULL || in == NULL) { - return -1; - } - - /* Is this a reused state? */ - if (S->f[0] != 0) { - return -1; - } - - if (S->buflen + inlen > BLAKE2B_BLOCKBYTES) { - /* Complete current block */ - size_t left = S->buflen; - size_t fill = BLAKE2B_BLOCKBYTES - left; - memcpy(&S->buf[left], pin, fill); - blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); - blake2b_compress(S, S->buf); - S->buflen = 0; - inlen -= fill; - pin += fill; - /* Avoid buffer copies when possible */ - while (inlen > BLAKE2B_BLOCKBYTES) { - blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); - blake2b_compress(S, pin); - inlen -= BLAKE2B_BLOCKBYTES; - pin += BLAKE2B_BLOCKBYTES; - } - } - memcpy(&S->buf[S->buflen], pin, inlen); - S->buflen += (unsigned int)inlen; - return 0; -} - -int blake2b_final(blake2b_state *S, void *out, size_t outlen) { - uint8_t buffer[BLAKE2B_OUTBYTES] = {0}; - unsigned int i; - - /* Sanity checks */ - if (S == NULL || out == NULL || outlen < S->outlen) { - return -1; - } - - /* Is this a reused state? */ - if (S->f[0] != 0) { - return -1; - } - - blake2b_increment_counter(S, S->buflen); - blake2b_set_lastblock(S); - memset(&S->buf[S->buflen], 0, BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */ - blake2b_compress(S, S->buf); - - for (i = 0; i < 8; ++i) { /* Output full hash to temp buffer */ - store64(buffer + sizeof(S->h[i]) * i, S->h[i]); - } - - memcpy(out, buffer, S->outlen); - clear_internal_memory(buffer, sizeof(buffer)); - clear_internal_memory(S->buf, sizeof(S->buf)); - clear_internal_memory(S->h, sizeof(S->h)); - return 0; -} - -int blake2b(void *out, size_t outlen, const void *in, size_t inlen, - const void *key, size_t keylen) { - blake2b_state S; - int ret = -1; - - /* Verify parameters */ - if (NULL == in && inlen > 0) { - goto fail; - } - - if (NULL == out || outlen == 0 || outlen > BLAKE2B_OUTBYTES) { - goto fail; - } - - if ((NULL == key && keylen > 0) || keylen > BLAKE2B_KEYBYTES) { - goto fail; - } - - if (keylen > 0) { - if (blake2b_init_key(&S, outlen, key, keylen) < 0) { - goto fail; - } - } else { - if (blake2b_init(&S, outlen) < 0) { - goto fail; - } - } - - if (blake2b_update(&S, in, inlen) < 0) { - goto fail; - } - ret = blake2b_final(&S, out, outlen); - -fail: - clear_internal_memory(&S, sizeof(S)); - return ret; -} - -/* Argon2 Team - Begin Code */ -int blake2b_long(void *pout, size_t outlen, const void *in, size_t inlen) { - uint8_t *out = (uint8_t *)pout; - blake2b_state blake_state; - uint8_t outlen_bytes[sizeof(uint32_t)] = {0}; - int ret = -1; - - if (outlen > UINT32_MAX) { - goto fail; - } - - /* Ensure little-endian byte order! */ - store32(outlen_bytes, (uint32_t)outlen); - -#define TRY(statement) \ - do { \ - ret = statement; \ - if (ret < 0) { \ - goto fail; \ - } \ - } while ((void)0, 0) - - if (outlen <= BLAKE2B_OUTBYTES) { - TRY(blake2b_init(&blake_state, outlen)); - TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes))); - TRY(blake2b_update(&blake_state, in, inlen)); - TRY(blake2b_final(&blake_state, out, outlen)); - } else { - uint32_t toproduce; - uint8_t out_buffer[BLAKE2B_OUTBYTES]; - uint8_t in_buffer[BLAKE2B_OUTBYTES]; - TRY(blake2b_init(&blake_state, BLAKE2B_OUTBYTES)); - TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes))); - TRY(blake2b_update(&blake_state, in, inlen)); - TRY(blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES)); - memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2); - out += BLAKE2B_OUTBYTES / 2; - toproduce = (uint32_t)outlen - BLAKE2B_OUTBYTES / 2; - - while (toproduce > BLAKE2B_OUTBYTES) { - memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES); - TRY(blake2b(out_buffer, BLAKE2B_OUTBYTES, in_buffer, - BLAKE2B_OUTBYTES, NULL, 0)); - memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2); - out += BLAKE2B_OUTBYTES / 2; - toproduce -= BLAKE2B_OUTBYTES / 2; - } - - memcpy(in_buffer, out_buffer, BLAKE2B_OUTBYTES); - TRY(blake2b(out_buffer, toproduce, in_buffer, BLAKE2B_OUTBYTES, NULL, - 0)); - memcpy(out, out_buffer, toproduce); - } -fail: - clear_internal_memory(&blake_state, sizeof(blake_state)); - return ret; -#undef TRY -} -/* Argon2 Team - End Code */ diff --git a/0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-opt.h b/0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-opt.h deleted file mode 100644 index 3127f2a..0000000 --- a/0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-opt.h +++ /dev/null @@ -1,471 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef BLAKE_ROUND_MKA_OPT_H -#define BLAKE_ROUND_MKA_OPT_H - -#include "blake2-impl.h" - -#include -#if defined(__SSSE3__) -#include /* for _mm_shuffle_epi8 and _mm_alignr_epi8 */ -#endif - -#if defined(__XOP__) && (defined(__GNUC__) || defined(__clang__)) -#include -#endif - -#if !defined(__AVX512F__) -#if !defined(__AVX2__) -#if !defined(__XOP__) -#if defined(__SSSE3__) -#define r16 \ - (_mm_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9)) -#define r24 \ - (_mm_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10)) -#define _mm_roti_epi64(x, c) \ - (-(c) == 32) \ - ? _mm_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) \ - : (-(c) == 24) \ - ? _mm_shuffle_epi8((x), r24) \ - : (-(c) == 16) \ - ? _mm_shuffle_epi8((x), r16) \ - : (-(c) == 63) \ - ? _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_add_epi64((x), (x))) \ - : _mm_xor_si128(_mm_srli_epi64((x), -(c)), \ - _mm_slli_epi64((x), 64 - (-(c)))) -#else /* defined(__SSE2__) */ -#define _mm_roti_epi64(r, c) \ - _mm_xor_si128(_mm_srli_epi64((r), -(c)), _mm_slli_epi64((r), 64 - (-(c)))) -#endif -#else -#endif - -static BLAKE2_INLINE __m128i fBlaMka(__m128i x, __m128i y) { - const __m128i z = _mm_mul_epu32(x, y); - return _mm_add_epi64(_mm_add_epi64(x, y), _mm_add_epi64(z, z)); -} - -#define G1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = fBlaMka(A0, B0); \ - A1 = fBlaMka(A1, B1); \ - \ - D0 = _mm_xor_si128(D0, A0); \ - D1 = _mm_xor_si128(D1, A1); \ - \ - D0 = _mm_roti_epi64(D0, -32); \ - D1 = _mm_roti_epi64(D1, -32); \ - \ - C0 = fBlaMka(C0, D0); \ - C1 = fBlaMka(C1, D1); \ - \ - B0 = _mm_xor_si128(B0, C0); \ - B1 = _mm_xor_si128(B1, C1); \ - \ - B0 = _mm_roti_epi64(B0, -24); \ - B1 = _mm_roti_epi64(B1, -24); \ - } while ((void)0, 0) - -#define G2(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = fBlaMka(A0, B0); \ - A1 = fBlaMka(A1, B1); \ - \ - D0 = _mm_xor_si128(D0, A0); \ - D1 = _mm_xor_si128(D1, A1); \ - \ - D0 = _mm_roti_epi64(D0, -16); \ - D1 = _mm_roti_epi64(D1, -16); \ - \ - C0 = fBlaMka(C0, D0); \ - C1 = fBlaMka(C1, D1); \ - \ - B0 = _mm_xor_si128(B0, C0); \ - B1 = _mm_xor_si128(B1, C1); \ - \ - B0 = _mm_roti_epi64(B0, -63); \ - B1 = _mm_roti_epi64(B1, -63); \ - } while ((void)0, 0) - -#if defined(__SSSE3__) -#define DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0 = _mm_alignr_epi8(B1, B0, 8); \ - __m128i t1 = _mm_alignr_epi8(B0, B1, 8); \ - B0 = t0; \ - B1 = t1; \ - \ - t0 = C0; \ - C0 = C1; \ - C1 = t0; \ - \ - t0 = _mm_alignr_epi8(D1, D0, 8); \ - t1 = _mm_alignr_epi8(D0, D1, 8); \ - D0 = t1; \ - D1 = t0; \ - } while ((void)0, 0) - -#define UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0 = _mm_alignr_epi8(B0, B1, 8); \ - __m128i t1 = _mm_alignr_epi8(B1, B0, 8); \ - B0 = t0; \ - B1 = t1; \ - \ - t0 = C0; \ - C0 = C1; \ - C1 = t0; \ - \ - t0 = _mm_alignr_epi8(D0, D1, 8); \ - t1 = _mm_alignr_epi8(D1, D0, 8); \ - D0 = t1; \ - D1 = t0; \ - } while ((void)0, 0) -#else /* SSE2 */ -#define DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0 = D0; \ - __m128i t1 = B0; \ - D0 = C0; \ - C0 = C1; \ - C1 = D0; \ - D0 = _mm_unpackhi_epi64(D1, _mm_unpacklo_epi64(t0, t0)); \ - D1 = _mm_unpackhi_epi64(t0, _mm_unpacklo_epi64(D1, D1)); \ - B0 = _mm_unpackhi_epi64(B0, _mm_unpacklo_epi64(B1, B1)); \ - B1 = _mm_unpackhi_epi64(B1, _mm_unpacklo_epi64(t1, t1)); \ - } while ((void)0, 0) - -#define UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - __m128i t0, t1; \ - t0 = C0; \ - C0 = C1; \ - C1 = t0; \ - t0 = B0; \ - t1 = D0; \ - B0 = _mm_unpackhi_epi64(B1, _mm_unpacklo_epi64(B0, B0)); \ - B1 = _mm_unpackhi_epi64(t0, _mm_unpacklo_epi64(B1, B1)); \ - D0 = _mm_unpackhi_epi64(D0, _mm_unpacklo_epi64(D1, D1)); \ - D1 = _mm_unpackhi_epi64(D1, _mm_unpacklo_epi64(t1, t1)); \ - } while ((void)0, 0) -#endif - -#define BLAKE2_ROUND(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ - \ - UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - } while ((void)0, 0) -#else /* __AVX2__ */ - -#include - -#define rotr32(x) _mm256_shuffle_epi32(x, _MM_SHUFFLE(2, 3, 0, 1)) -#define rotr24(x) _mm256_shuffle_epi8(x, _mm256_setr_epi8(3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10, 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10)) -#define rotr16(x) _mm256_shuffle_epi8(x, _mm256_setr_epi8(2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9, 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9)) -#define rotr63(x) _mm256_xor_si256(_mm256_srli_epi64((x), 63), _mm256_add_epi64((x), (x))) - -#define G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i ml = _mm256_mul_epu32(A0, B0); \ - ml = _mm256_add_epi64(ml, ml); \ - A0 = _mm256_add_epi64(A0, _mm256_add_epi64(B0, ml)); \ - D0 = _mm256_xor_si256(D0, A0); \ - D0 = rotr32(D0); \ - \ - ml = _mm256_mul_epu32(C0, D0); \ - ml = _mm256_add_epi64(ml, ml); \ - C0 = _mm256_add_epi64(C0, _mm256_add_epi64(D0, ml)); \ - \ - B0 = _mm256_xor_si256(B0, C0); \ - B0 = rotr24(B0); \ - \ - ml = _mm256_mul_epu32(A1, B1); \ - ml = _mm256_add_epi64(ml, ml); \ - A1 = _mm256_add_epi64(A1, _mm256_add_epi64(B1, ml)); \ - D1 = _mm256_xor_si256(D1, A1); \ - D1 = rotr32(D1); \ - \ - ml = _mm256_mul_epu32(C1, D1); \ - ml = _mm256_add_epi64(ml, ml); \ - C1 = _mm256_add_epi64(C1, _mm256_add_epi64(D1, ml)); \ - \ - B1 = _mm256_xor_si256(B1, C1); \ - B1 = rotr24(B1); \ - } while((void)0, 0); - -#define G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i ml = _mm256_mul_epu32(A0, B0); \ - ml = _mm256_add_epi64(ml, ml); \ - A0 = _mm256_add_epi64(A0, _mm256_add_epi64(B0, ml)); \ - D0 = _mm256_xor_si256(D0, A0); \ - D0 = rotr16(D0); \ - \ - ml = _mm256_mul_epu32(C0, D0); \ - ml = _mm256_add_epi64(ml, ml); \ - C0 = _mm256_add_epi64(C0, _mm256_add_epi64(D0, ml)); \ - B0 = _mm256_xor_si256(B0, C0); \ - B0 = rotr63(B0); \ - \ - ml = _mm256_mul_epu32(A1, B1); \ - ml = _mm256_add_epi64(ml, ml); \ - A1 = _mm256_add_epi64(A1, _mm256_add_epi64(B1, ml)); \ - D1 = _mm256_xor_si256(D1, A1); \ - D1 = rotr16(D1); \ - \ - ml = _mm256_mul_epu32(C1, D1); \ - ml = _mm256_add_epi64(ml, ml); \ - C1 = _mm256_add_epi64(C1, _mm256_add_epi64(D1, ml)); \ - B1 = _mm256_xor_si256(B1, C1); \ - B1 = rotr63(B1); \ - } while((void)0, 0); - -#define DIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm256_permute4x64_epi64(B0, _MM_SHUFFLE(0, 3, 2, 1)); \ - C0 = _mm256_permute4x64_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - D0 = _mm256_permute4x64_epi64(D0, _MM_SHUFFLE(2, 1, 0, 3)); \ - \ - B1 = _mm256_permute4x64_epi64(B1, _MM_SHUFFLE(0, 3, 2, 1)); \ - C1 = _mm256_permute4x64_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ - D1 = _mm256_permute4x64_epi64(D1, _MM_SHUFFLE(2, 1, 0, 3)); \ - } while((void)0, 0); - -#define DIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i tmp1 = _mm256_blend_epi32(B0, B1, 0xCC); \ - __m256i tmp2 = _mm256_blend_epi32(B0, B1, 0x33); \ - B1 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - B0 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - \ - tmp1 = C0; \ - C0 = C1; \ - C1 = tmp1; \ - \ - tmp1 = _mm256_blend_epi32(D0, D1, 0xCC); \ - tmp2 = _mm256_blend_epi32(D0, D1, 0x33); \ - D0 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - D1 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - } while(0); - -#define UNDIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm256_permute4x64_epi64(B0, _MM_SHUFFLE(2, 1, 0, 3)); \ - C0 = _mm256_permute4x64_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - D0 = _mm256_permute4x64_epi64(D0, _MM_SHUFFLE(0, 3, 2, 1)); \ - \ - B1 = _mm256_permute4x64_epi64(B1, _MM_SHUFFLE(2, 1, 0, 3)); \ - C1 = _mm256_permute4x64_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ - D1 = _mm256_permute4x64_epi64(D1, _MM_SHUFFLE(0, 3, 2, 1)); \ - } while((void)0, 0); - -#define UNDIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - __m256i tmp1 = _mm256_blend_epi32(B0, B1, 0xCC); \ - __m256i tmp2 = _mm256_blend_epi32(B0, B1, 0x33); \ - B0 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - B1 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - \ - tmp1 = C0; \ - C0 = C1; \ - C1 = tmp1; \ - \ - tmp1 = _mm256_blend_epi32(D0, D1, 0x33); \ - tmp2 = _mm256_blend_epi32(D0, D1, 0xCC); \ - D0 = _mm256_permute4x64_epi64(tmp1, _MM_SHUFFLE(2,3,0,1)); \ - D1 = _mm256_permute4x64_epi64(tmp2, _MM_SHUFFLE(2,3,0,1)); \ - } while((void)0, 0); - -#define BLAKE2_ROUND_1(A0, A1, B0, B1, C0, C1, D0, D1) \ - do{ \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - DIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - UNDIAGONALIZE_1(A0, B0, C0, D0, A1, B1, C1, D1) \ - } while((void)0, 0); - -#define BLAKE2_ROUND_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do{ \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - DIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - G1_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - G2_AVX2(A0, A1, B0, B1, C0, C1, D0, D1) \ - \ - UNDIAGONALIZE_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - } while((void)0, 0); - -#endif /* __AVX2__ */ - -#else /* __AVX512F__ */ - -#include - -#define ror64(x, n) _mm512_ror_epi64((x), (n)) - -static __m512i muladd(__m512i x, __m512i y) -{ - __m512i z = _mm512_mul_epu32(x, y); - return _mm512_add_epi64(_mm512_add_epi64(x, y), _mm512_add_epi64(z, z)); -} - -#define G1(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = muladd(A0, B0); \ - A1 = muladd(A1, B1); \ -\ - D0 = _mm512_xor_si512(D0, A0); \ - D1 = _mm512_xor_si512(D1, A1); \ -\ - D0 = ror64(D0, 32); \ - D1 = ror64(D1, 32); \ -\ - C0 = muladd(C0, D0); \ - C1 = muladd(C1, D1); \ -\ - B0 = _mm512_xor_si512(B0, C0); \ - B1 = _mm512_xor_si512(B1, C1); \ -\ - B0 = ror64(B0, 24); \ - B1 = ror64(B1, 24); \ - } while ((void)0, 0) - -#define G2(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - A0 = muladd(A0, B0); \ - A1 = muladd(A1, B1); \ -\ - D0 = _mm512_xor_si512(D0, A0); \ - D1 = _mm512_xor_si512(D1, A1); \ -\ - D0 = ror64(D0, 16); \ - D1 = ror64(D1, 16); \ -\ - C0 = muladd(C0, D0); \ - C1 = muladd(C1, D1); \ -\ - B0 = _mm512_xor_si512(B0, C0); \ - B1 = _mm512_xor_si512(B1, C1); \ -\ - B0 = ror64(B0, 63); \ - B1 = ror64(B1, 63); \ - } while ((void)0, 0) - -#define DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm512_permutex_epi64(B0, _MM_SHUFFLE(0, 3, 2, 1)); \ - B1 = _mm512_permutex_epi64(B1, _MM_SHUFFLE(0, 3, 2, 1)); \ -\ - C0 = _mm512_permutex_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - C1 = _mm512_permutex_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ -\ - D0 = _mm512_permutex_epi64(D0, _MM_SHUFFLE(2, 1, 0, 3)); \ - D1 = _mm512_permutex_epi64(D1, _MM_SHUFFLE(2, 1, 0, 3)); \ - } while ((void)0, 0) - -#define UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - B0 = _mm512_permutex_epi64(B0, _MM_SHUFFLE(2, 1, 0, 3)); \ - B1 = _mm512_permutex_epi64(B1, _MM_SHUFFLE(2, 1, 0, 3)); \ -\ - C0 = _mm512_permutex_epi64(C0, _MM_SHUFFLE(1, 0, 3, 2)); \ - C1 = _mm512_permutex_epi64(C1, _MM_SHUFFLE(1, 0, 3, 2)); \ -\ - D0 = _mm512_permutex_epi64(D0, _MM_SHUFFLE(0, 3, 2, 1)); \ - D1 = _mm512_permutex_epi64(D1, _MM_SHUFFLE(0, 3, 2, 1)); \ - } while ((void)0, 0) - -#define BLAKE2_ROUND(A0, B0, C0, D0, A1, B1, C1, D1) \ - do { \ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ -\ - DIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ -\ - G1(A0, B0, C0, D0, A1, B1, C1, D1); \ - G2(A0, B0, C0, D0, A1, B1, C1, D1); \ -\ - UNDIAGONALIZE(A0, B0, C0, D0, A1, B1, C1, D1); \ - } while ((void)0, 0) - -#define SWAP_HALVES(A0, A1) \ - do { \ - __m512i t0, t1; \ - t0 = _mm512_shuffle_i64x2(A0, A1, _MM_SHUFFLE(1, 0, 1, 0)); \ - t1 = _mm512_shuffle_i64x2(A0, A1, _MM_SHUFFLE(3, 2, 3, 2)); \ - A0 = t0; \ - A1 = t1; \ - } while((void)0, 0) - -#define SWAP_QUARTERS(A0, A1) \ - do { \ - SWAP_HALVES(A0, A1); \ - A0 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A0); \ - A1 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A1); \ - } while((void)0, 0) - -#define UNSWAP_QUARTERS(A0, A1) \ - do { \ - A0 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A0); \ - A1 = _mm512_permutexvar_epi64(_mm512_setr_epi64(0, 1, 4, 5, 2, 3, 6, 7), A1); \ - SWAP_HALVES(A0, A1); \ - } while((void)0, 0) - -#define BLAKE2_ROUND_1(A0, C0, B0, D0, A1, C1, B1, D1) \ - do { \ - SWAP_HALVES(A0, B0); \ - SWAP_HALVES(C0, D0); \ - SWAP_HALVES(A1, B1); \ - SWAP_HALVES(C1, D1); \ - BLAKE2_ROUND(A0, B0, C0, D0, A1, B1, C1, D1); \ - SWAP_HALVES(A0, B0); \ - SWAP_HALVES(C0, D0); \ - SWAP_HALVES(A1, B1); \ - SWAP_HALVES(C1, D1); \ - } while ((void)0, 0) - -#define BLAKE2_ROUND_2(A0, A1, B0, B1, C0, C1, D0, D1) \ - do { \ - SWAP_QUARTERS(A0, A1); \ - SWAP_QUARTERS(B0, B1); \ - SWAP_QUARTERS(C0, C1); \ - SWAP_QUARTERS(D0, D1); \ - BLAKE2_ROUND(A0, B0, C0, D0, A1, B1, C1, D1); \ - UNSWAP_QUARTERS(A0, A1); \ - UNSWAP_QUARTERS(B0, B1); \ - UNSWAP_QUARTERS(C0, C1); \ - UNSWAP_QUARTERS(D0, D1); \ - } while ((void)0, 0) - -#endif /* __AVX512F__ */ -#endif /* BLAKE_ROUND_MKA_OPT_H */ diff --git a/0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-ref.h b/0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-ref.h deleted file mode 100644 index 16cfc1c..0000000 --- a/0x0017a_ctf/third_party/argon2/src/blake2/blamka-round-ref.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef BLAKE_ROUND_MKA_H -#define BLAKE_ROUND_MKA_H - -#include "blake2.h" -#include "blake2-impl.h" - -/* designed by the Lyra PHC team */ -static BLAKE2_INLINE uint64_t fBlaMka(uint64_t x, uint64_t y) { - const uint64_t m = UINT64_C(0xFFFFFFFF); - const uint64_t xy = (x & m) * (y & m); - return x + y + 2 * xy; -} - -#define G(a, b, c, d) \ - do { \ - a = fBlaMka(a, b); \ - d = rotr64(d ^ a, 32); \ - c = fBlaMka(c, d); \ - b = rotr64(b ^ c, 24); \ - a = fBlaMka(a, b); \ - d = rotr64(d ^ a, 16); \ - c = fBlaMka(c, d); \ - b = rotr64(b ^ c, 63); \ - } while ((void)0, 0) - -#define BLAKE2_ROUND_NOMSG(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, \ - v12, v13, v14, v15) \ - do { \ - G(v0, v4, v8, v12); \ - G(v1, v5, v9, v13); \ - G(v2, v6, v10, v14); \ - G(v3, v7, v11, v15); \ - G(v0, v5, v10, v15); \ - G(v1, v6, v11, v12); \ - G(v2, v7, v8, v13); \ - G(v3, v4, v9, v14); \ - } while ((void)0, 0) - -#endif diff --git a/0x0017a_ctf/third_party/argon2/src/core.c b/0x0017a_ctf/third_party/argon2/src/core.c deleted file mode 100644 index e697882..0000000 --- a/0x0017a_ctf/third_party/argon2/src/core.c +++ /dev/null @@ -1,648 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -/*For memory wiping*/ -#ifdef _WIN32 -#include -#include /* For SecureZeroMemory */ -#endif -#if defined __STDC_LIB_EXT1__ -#define __STDC_WANT_LIB_EXT1__ 1 -#endif -#define VC_GE_2005(version) (version >= 1400) - -/* for explicit_bzero() on glibc */ -#define _DEFAULT_SOURCE - -#include -#include -#include - -#include "core.h" -#include "thread.h" -#include "blake2/blake2.h" -#include "blake2/blake2-impl.h" - -#ifdef GENKAT -#include "genkat.h" -#endif - -#if defined(__clang__) -#if __has_attribute(optnone) -#define NOT_OPTIMIZED __attribute__((optnone)) -#endif -#elif defined(__GNUC__) -#define GCC_VERSION \ - (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#if GCC_VERSION >= 40400 -#define NOT_OPTIMIZED __attribute__((optimize("O0"))) -#endif -#endif -#ifndef NOT_OPTIMIZED -#define NOT_OPTIMIZED -#endif - -/***************Instance and Position constructors**********/ -void init_block_value(block *b, uint8_t in) { memset(b->v, in, sizeof(b->v)); } - -void copy_block(block *dst, const block *src) { - memcpy(dst->v, src->v, sizeof(uint64_t) * ARGON2_QWORDS_IN_BLOCK); -} - -void xor_block(block *dst, const block *src) { - int i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - dst->v[i] ^= src->v[i]; - } -} - -static void load_block(block *dst, const void *input) { - unsigned i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - dst->v[i] = load64((const uint8_t *)input + i * sizeof(dst->v[i])); - } -} - -static void store_block(void *output, const block *src) { - unsigned i; - for (i = 0; i < ARGON2_QWORDS_IN_BLOCK; ++i) { - store64((uint8_t *)output + i * sizeof(src->v[i]), src->v[i]); - } -} - -/***************Memory functions*****************/ - -int allocate_memory(const argon2_context *context, uint8_t **memory, - size_t num, size_t size) { - size_t memory_size = num*size; - if (memory == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - /* 1. Check for multiplication overflow */ - if (size != 0 && memory_size / size != num) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - /* 2. Try to allocate with appropriate allocator */ - if (context->allocate_cbk) { - (context->allocate_cbk)(memory, memory_size); - } else { - *memory = malloc(memory_size); - } - - if (*memory == NULL) { - return ARGON2_MEMORY_ALLOCATION_ERROR; - } - - return ARGON2_OK; -} - -void free_memory(const argon2_context *context, uint8_t *memory, - size_t num, size_t size) { - size_t memory_size = num*size; - clear_internal_memory(memory, memory_size); - if (context->free_cbk) { - (context->free_cbk)(memory, memory_size); - } else { - free(memory); - } -} - -#if defined(__OpenBSD__) -#define HAVE_EXPLICIT_BZERO 1 -#elif defined(__GLIBC__) && defined(__GLIBC_PREREQ) -#if __GLIBC_PREREQ(2,25) -#define HAVE_EXPLICIT_BZERO 1 -#endif -#endif - -void NOT_OPTIMIZED secure_wipe_memory(void *v, size_t n) { -#if defined(_MSC_VER) && VC_GE_2005(_MSC_VER) || defined(__MINGW32__) - SecureZeroMemory(v, n); -#elif defined memset_s - memset_s(v, n, 0, n); -#elif defined(HAVE_EXPLICIT_BZERO) - explicit_bzero(v, n); -#else - static void *(*const volatile memset_sec)(void *, int, size_t) = &memset; - memset_sec(v, 0, n); -#endif -} - -/* Memory clear flag defaults to true. */ -int FLAG_clear_internal_memory = 1; -void clear_internal_memory(void *v, size_t n) { - if (FLAG_clear_internal_memory && v) { - secure_wipe_memory(v, n); - } -} - -void finalize(const argon2_context *context, argon2_instance_t *instance) { - if (context != NULL && instance != NULL) { - block blockhash; - uint32_t l; - - copy_block(&blockhash, instance->memory + instance->lane_length - 1); - - /* XOR the last blocks */ - for (l = 1; l < instance->lanes; ++l) { - uint32_t last_block_in_lane = - l * instance->lane_length + (instance->lane_length - 1); - xor_block(&blockhash, instance->memory + last_block_in_lane); - } - - /* Hash the result */ - { - uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE]; - store_block(blockhash_bytes, &blockhash); - blake2b_long(context->out, context->outlen, blockhash_bytes, - ARGON2_BLOCK_SIZE); - /* clear blockhash and blockhash_bytes */ - clear_internal_memory(blockhash.v, ARGON2_BLOCK_SIZE); - clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE); - } - -#ifdef GENKAT - print_tag(context->out, context->outlen); -#endif - - free_memory(context, (uint8_t *)instance->memory, - instance->memory_blocks, sizeof(block)); - } -} - -uint32_t index_alpha(const argon2_instance_t *instance, - const argon2_position_t *position, uint32_t pseudo_rand, - int same_lane) { - /* - * Pass 0: - * This lane : all already finished segments plus already constructed - * blocks in this segment - * Other lanes : all already finished segments - * Pass 1+: - * This lane : (SYNC_POINTS - 1) last segments plus already constructed - * blocks in this segment - * Other lanes : (SYNC_POINTS - 1) last segments - */ - uint32_t reference_area_size; - uint64_t relative_position; - uint32_t start_position, absolute_position; - - if (0 == position->pass) { - /* First pass */ - if (0 == position->slice) { - /* First slice */ - reference_area_size = - position->index - 1; /* all but the previous */ - } else { - if (same_lane) { - /* The same lane => add current segment */ - reference_area_size = - position->slice * instance->segment_length + - position->index - 1; - } else { - reference_area_size = - position->slice * instance->segment_length + - ((position->index == 0) ? (-1) : 0); - } - } - } else { - /* Second pass */ - if (same_lane) { - reference_area_size = instance->lane_length - - instance->segment_length + position->index - - 1; - } else { - reference_area_size = instance->lane_length - - instance->segment_length + - ((position->index == 0) ? (-1) : 0); - } - } - - /* 1.2.4. Mapping pseudo_rand to 0.. and produce - * relative position */ - relative_position = pseudo_rand; - relative_position = relative_position * relative_position >> 32; - relative_position = reference_area_size - 1 - - (reference_area_size * relative_position >> 32); - - /* 1.2.5 Computing starting position */ - start_position = 0; - - if (0 != position->pass) { - start_position = (position->slice == ARGON2_SYNC_POINTS - 1) - ? 0 - : (position->slice + 1) * instance->segment_length; - } - - /* 1.2.6. Computing absolute position */ - absolute_position = (start_position + relative_position) % - instance->lane_length; /* absolute position */ - return absolute_position; -} - -/* Single-threaded version for p=1 case */ -static int fill_memory_blocks_st(argon2_instance_t *instance) { - uint32_t r, s, l; - - for (r = 0; r < instance->passes; ++r) { - for (s = 0; s < ARGON2_SYNC_POINTS; ++s) { - for (l = 0; l < instance->lanes; ++l) { - argon2_position_t position = {r, l, (uint8_t)s, 0}; - fill_segment(instance, position); - } - } -#ifdef GENKAT - internal_kat(instance, r); /* Print all memory blocks */ -#endif - } - return ARGON2_OK; -} - -#if !defined(ARGON2_NO_THREADS) - -#ifdef _WIN32 -static unsigned __stdcall fill_segment_thr(void *thread_data) -#else -static void *fill_segment_thr(void *thread_data) -#endif -{ - argon2_thread_data *my_data = thread_data; - fill_segment(my_data->instance_ptr, my_data->pos); - argon2_thread_exit(); - return 0; -} - -/* Multi-threaded version for p > 1 case */ -static int fill_memory_blocks_mt(argon2_instance_t *instance) { - uint32_t r, s; - argon2_thread_handle_t *thread = NULL; - argon2_thread_data *thr_data = NULL; - int rc = ARGON2_OK; - - /* 1. Allocating space for threads */ - thread = calloc(instance->lanes, sizeof(argon2_thread_handle_t)); - if (thread == NULL) { - rc = ARGON2_MEMORY_ALLOCATION_ERROR; - goto fail; - } - - thr_data = calloc(instance->lanes, sizeof(argon2_thread_data)); - if (thr_data == NULL) { - rc = ARGON2_MEMORY_ALLOCATION_ERROR; - goto fail; - } - - for (r = 0; r < instance->passes; ++r) { - for (s = 0; s < ARGON2_SYNC_POINTS; ++s) { - uint32_t l, ll; - - /* 2. Calling threads */ - for (l = 0; l < instance->lanes; ++l) { - argon2_position_t position; - - /* 2.1 Join a thread if limit is exceeded */ - if (l >= instance->threads) { - if (argon2_thread_join(thread[l - instance->threads])) { - rc = ARGON2_THREAD_FAIL; - goto fail; - } - } - - /* 2.2 Create thread */ - position.pass = r; - position.lane = l; - position.slice = (uint8_t)s; - position.index = 0; - thr_data[l].instance_ptr = - instance; /* preparing the thread input */ - memcpy(&(thr_data[l].pos), &position, - sizeof(argon2_position_t)); - if (argon2_thread_create(&thread[l], &fill_segment_thr, - (void *)&thr_data[l])) { - /* Wait for already running threads */ - for (ll = 0; ll < l; ++ll) - argon2_thread_join(thread[ll]); - rc = ARGON2_THREAD_FAIL; - goto fail; - } - - /* fill_segment(instance, position); */ - /*Non-thread equivalent of the lines above */ - } - - /* 3. Joining remaining threads */ - for (l = instance->lanes - instance->threads; l < instance->lanes; - ++l) { - if (argon2_thread_join(thread[l])) { - rc = ARGON2_THREAD_FAIL; - goto fail; - } - } - } - -#ifdef GENKAT - internal_kat(instance, r); /* Print all memory blocks */ -#endif - } - -fail: - if (thread != NULL) { - free(thread); - } - if (thr_data != NULL) { - free(thr_data); - } - return rc; -} - -#endif /* ARGON2_NO_THREADS */ - -int fill_memory_blocks(argon2_instance_t *instance) { - if (instance == NULL || instance->lanes == 0) { - return ARGON2_INCORRECT_PARAMETER; - } -#if defined(ARGON2_NO_THREADS) - return fill_memory_blocks_st(instance); -#else - return instance->threads == 1 ? - fill_memory_blocks_st(instance) : fill_memory_blocks_mt(instance); -#endif -} - -int validate_inputs(const argon2_context *context) { - if (NULL == context) { - return ARGON2_INCORRECT_PARAMETER; - } - - if (NULL == context->out) { - return ARGON2_OUTPUT_PTR_NULL; - } - - /* Validate output length */ - if (ARGON2_MIN_OUTLEN > context->outlen) { - return ARGON2_OUTPUT_TOO_SHORT; - } - - if (ARGON2_MAX_OUTLEN < context->outlen) { - return ARGON2_OUTPUT_TOO_LONG; - } - - /* Validate password (required param) */ - if (NULL == context->pwd) { - if (0 != context->pwdlen) { - return ARGON2_PWD_PTR_MISMATCH; - } - } - - if (ARGON2_MIN_PWD_LENGTH > context->pwdlen) { - return ARGON2_PWD_TOO_SHORT; - } - - if (ARGON2_MAX_PWD_LENGTH < context->pwdlen) { - return ARGON2_PWD_TOO_LONG; - } - - /* Validate salt (required param) */ - if (NULL == context->salt) { - if (0 != context->saltlen) { - return ARGON2_SALT_PTR_MISMATCH; - } - } - - if (ARGON2_MIN_SALT_LENGTH > context->saltlen) { - return ARGON2_SALT_TOO_SHORT; - } - - if (ARGON2_MAX_SALT_LENGTH < context->saltlen) { - return ARGON2_SALT_TOO_LONG; - } - - /* Validate secret (optional param) */ - if (NULL == context->secret) { - if (0 != context->secretlen) { - return ARGON2_SECRET_PTR_MISMATCH; - } - } else { - if (ARGON2_MIN_SECRET > context->secretlen) { - return ARGON2_SECRET_TOO_SHORT; - } - if (ARGON2_MAX_SECRET < context->secretlen) { - return ARGON2_SECRET_TOO_LONG; - } - } - - /* Validate associated data (optional param) */ - if (NULL == context->ad) { - if (0 != context->adlen) { - return ARGON2_AD_PTR_MISMATCH; - } - } else { - if (ARGON2_MIN_AD_LENGTH > context->adlen) { - return ARGON2_AD_TOO_SHORT; - } - if (ARGON2_MAX_AD_LENGTH < context->adlen) { - return ARGON2_AD_TOO_LONG; - } - } - - /* Validate memory cost */ - if (ARGON2_MIN_MEMORY > context->m_cost) { - return ARGON2_MEMORY_TOO_LITTLE; - } - - if (ARGON2_MAX_MEMORY < context->m_cost) { - return ARGON2_MEMORY_TOO_MUCH; - } - - if (context->m_cost < 8 * context->lanes) { - return ARGON2_MEMORY_TOO_LITTLE; - } - - /* Validate time cost */ - if (ARGON2_MIN_TIME > context->t_cost) { - return ARGON2_TIME_TOO_SMALL; - } - - if (ARGON2_MAX_TIME < context->t_cost) { - return ARGON2_TIME_TOO_LARGE; - } - - /* Validate lanes */ - if (ARGON2_MIN_LANES > context->lanes) { - return ARGON2_LANES_TOO_FEW; - } - - if (ARGON2_MAX_LANES < context->lanes) { - return ARGON2_LANES_TOO_MANY; - } - - /* Validate threads */ - if (ARGON2_MIN_THREADS > context->threads) { - return ARGON2_THREADS_TOO_FEW; - } - - if (ARGON2_MAX_THREADS < context->threads) { - return ARGON2_THREADS_TOO_MANY; - } - - if (NULL != context->allocate_cbk && NULL == context->free_cbk) { - return ARGON2_FREE_MEMORY_CBK_NULL; - } - - if (NULL == context->allocate_cbk && NULL != context->free_cbk) { - return ARGON2_ALLOCATE_MEMORY_CBK_NULL; - } - - return ARGON2_OK; -} - -void fill_first_blocks(uint8_t *blockhash, const argon2_instance_t *instance) { - uint32_t l; - /* Make the first and second block in each lane as G(H0||0||i) or - G(H0||1||i) */ - uint8_t blockhash_bytes[ARGON2_BLOCK_SIZE]; - for (l = 0; l < instance->lanes; ++l) { - - store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 0); - store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH + 4, l); - blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash, - ARGON2_PREHASH_SEED_LENGTH); - load_block(&instance->memory[l * instance->lane_length + 0], - blockhash_bytes); - - store32(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, 1); - blake2b_long(blockhash_bytes, ARGON2_BLOCK_SIZE, blockhash, - ARGON2_PREHASH_SEED_LENGTH); - load_block(&instance->memory[l * instance->lane_length + 1], - blockhash_bytes); - } - clear_internal_memory(blockhash_bytes, ARGON2_BLOCK_SIZE); -} - -void initial_hash(uint8_t *blockhash, argon2_context *context, - argon2_type type) { - blake2b_state BlakeHash; - uint8_t value[sizeof(uint32_t)]; - - if (NULL == context || NULL == blockhash) { - return; - } - - blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH); - - store32(&value, context->lanes); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - store32(&value, context->outlen); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - store32(&value, context->m_cost); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - store32(&value, context->t_cost); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - store32(&value, context->version); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - store32(&value, (uint32_t)type); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - store32(&value, context->pwdlen); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - if (context->pwd != NULL) { - blake2b_update(&BlakeHash, (const uint8_t *)context->pwd, - context->pwdlen); - - if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) { - secure_wipe_memory(context->pwd, context->pwdlen); - context->pwdlen = 0; - } - } - - store32(&value, context->saltlen); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - if (context->salt != NULL) { - blake2b_update(&BlakeHash, (const uint8_t *)context->salt, - context->saltlen); - } - - store32(&value, context->secretlen); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - if (context->secret != NULL) { - blake2b_update(&BlakeHash, (const uint8_t *)context->secret, - context->secretlen); - - if (context->flags & ARGON2_FLAG_CLEAR_SECRET) { - secure_wipe_memory(context->secret, context->secretlen); - context->secretlen = 0; - } - } - - store32(&value, context->adlen); - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value)); - - if (context->ad != NULL) { - blake2b_update(&BlakeHash, (const uint8_t *)context->ad, - context->adlen); - } - - blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH); -} - -int initialize(argon2_instance_t *instance, argon2_context *context) { - uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; - int result = ARGON2_OK; - - if (instance == NULL || context == NULL) - return ARGON2_INCORRECT_PARAMETER; - instance->context_ptr = context; - - /* 1. Memory allocation */ - result = allocate_memory(context, (uint8_t **)&(instance->memory), - instance->memory_blocks, sizeof(block)); - if (result != ARGON2_OK) { - return result; - } - - /* 2. Initial hashing */ - /* H_0 + 8 extra bytes to produce the first blocks */ - /* uint8_t blockhash[ARGON2_PREHASH_SEED_LENGTH]; */ - /* Hashing all inputs */ - initial_hash(blockhash, context, instance->type); - /* Zeroing 8 extra bytes */ - clear_internal_memory(blockhash + ARGON2_PREHASH_DIGEST_LENGTH, - ARGON2_PREHASH_SEED_LENGTH - - ARGON2_PREHASH_DIGEST_LENGTH); - -#ifdef GENKAT - initial_kat(blockhash, context, instance->type); -#endif - - /* 3. Creating first blocks, we always have at least two blocks in a slice - */ - fill_first_blocks(blockhash, instance); - /* Clearing the hash */ - clear_internal_memory(blockhash, ARGON2_PREHASH_SEED_LENGTH); - - return ARGON2_OK; -} diff --git a/0x0017a_ctf/third_party/argon2/src/core.h b/0x0017a_ctf/third_party/argon2/src/core.h deleted file mode 100644 index 59e2564..0000000 --- a/0x0017a_ctf/third_party/argon2/src/core.h +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef ARGON2_CORE_H -#define ARGON2_CORE_H - -#include "argon2.h" - -#define CONST_CAST(x) (x)(uintptr_t) - -/**********************Argon2 internal constants*******************************/ - -enum argon2_core_constants { - /* Memory block size in bytes */ - ARGON2_BLOCK_SIZE = 1024, - ARGON2_QWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 8, - ARGON2_OWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 16, - ARGON2_HWORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 32, - ARGON2_512BIT_WORDS_IN_BLOCK = ARGON2_BLOCK_SIZE / 64, - - /* Number of pseudo-random values generated by one call to Blake in Argon2i - to - generate reference block positions */ - ARGON2_ADDRESSES_IN_BLOCK = 128, - - /* Pre-hashing digest length and its extension*/ - ARGON2_PREHASH_DIGEST_LENGTH = 64, - ARGON2_PREHASH_SEED_LENGTH = 72 -}; - -/*************************Argon2 internal data types***********************/ - -/* - * Structure for the (1KB) memory block implemented as 128 64-bit words. - * Memory blocks can be copied, XORed. Internal words can be accessed by [] (no - * bounds checking). - */ -typedef struct block_ { uint64_t v[ARGON2_QWORDS_IN_BLOCK]; } block; - -/*****************Functions that work with the block******************/ - -/* Initialize each byte of the block with @in */ -void init_block_value(block *b, uint8_t in); - -/* Copy block @src to block @dst */ -void copy_block(block *dst, const block *src); - -/* XOR @src onto @dst bytewise */ -void xor_block(block *dst, const block *src); - -/* - * Argon2 instance: memory pointer, number of passes, amount of memory, type, - * and derived values. - * Used to evaluate the number and location of blocks to construct in each - * thread - */ -typedef struct Argon2_instance_t { - block *memory; /* Memory pointer */ - uint32_t version; - uint32_t passes; /* Number of passes */ - uint32_t memory_blocks; /* Number of blocks in memory */ - uint32_t segment_length; - uint32_t lane_length; - uint32_t lanes; - uint32_t threads; - argon2_type type; - int print_internals; /* whether to print the memory blocks */ - argon2_context *context_ptr; /* points back to original context */ -} argon2_instance_t; - -/* - * Argon2 position: where we construct the block right now. Used to distribute - * work between threads. - */ -typedef struct Argon2_position_t { - uint32_t pass; - uint32_t lane; - uint8_t slice; - uint32_t index; -} argon2_position_t; - -/*Struct that holds the inputs for thread handling FillSegment*/ -typedef struct Argon2_thread_data { - argon2_instance_t *instance_ptr; - argon2_position_t pos; -} argon2_thread_data; - -/*************************Argon2 core functions********************************/ - -/* Allocates memory to the given pointer, uses the appropriate allocator as - * specified in the context. Total allocated memory is num*size. - * @param context argon2_context which specifies the allocator - * @param memory pointer to the pointer to the memory - * @param size the size in bytes for each element to be allocated - * @param num the number of elements to be allocated - * @return ARGON2_OK if @memory is a valid pointer and memory is allocated - */ -int allocate_memory(const argon2_context *context, uint8_t **memory, - size_t num, size_t size); - -/* - * Frees memory at the given pointer, uses the appropriate deallocator as - * specified in the context. Also cleans the memory using clear_internal_memory. - * @param context argon2_context which specifies the deallocator - * @param memory pointer to buffer to be freed - * @param size the size in bytes for each element to be deallocated - * @param num the number of elements to be deallocated - */ -void free_memory(const argon2_context *context, uint8_t *memory, - size_t num, size_t size); - -/* Function that securely cleans the memory. This ignores any flags set - * regarding clearing memory. Usually one just calls clear_internal_memory. - * @param mem Pointer to the memory - * @param s Memory size in bytes - */ -void secure_wipe_memory(void *v, size_t n); - -/* Function that securely clears the memory if FLAG_clear_internal_memory is - * set. If the flag isn't set, this function does nothing. - * @param mem Pointer to the memory - * @param s Memory size in bytes - */ -void clear_internal_memory(void *v, size_t n); - -/* - * Computes absolute position of reference block in the lane following a skewed - * distribution and using a pseudo-random value as input - * @param instance Pointer to the current instance - * @param position Pointer to the current position - * @param pseudo_rand 32-bit pseudo-random value used to determine the position - * @param same_lane Indicates if the block will be taken from the current lane. - * If so we can reference the current segment - * @pre All pointers must be valid - */ -uint32_t index_alpha(const argon2_instance_t *instance, - const argon2_position_t *position, uint32_t pseudo_rand, - int same_lane); - -/* - * Function that validates all inputs against predefined restrictions and return - * an error code - * @param context Pointer to current Argon2 context - * @return ARGON2_OK if everything is all right, otherwise one of error codes - * (all defined in - */ -int validate_inputs(const argon2_context *context); - -/* - * Hashes all the inputs into @a blockhash[PREHASH_DIGEST_LENGTH], clears - * password and secret if needed - * @param context Pointer to the Argon2 internal structure containing memory - * pointer, and parameters for time and space requirements. - * @param blockhash Buffer for pre-hashing digest - * @param type Argon2 type - * @pre @a blockhash must have at least @a PREHASH_DIGEST_LENGTH bytes - * allocated - */ -void initial_hash(uint8_t *blockhash, argon2_context *context, - argon2_type type); - -/* - * Function creates first 2 blocks per lane - * @param instance Pointer to the current instance - * @param blockhash Pointer to the pre-hashing digest - * @pre blockhash must point to @a PREHASH_SEED_LENGTH allocated values - */ -void fill_first_blocks(uint8_t *blockhash, const argon2_instance_t *instance); - -/* - * Function allocates memory, hashes the inputs with Blake, and creates first - * two blocks. Returns the pointer to the main memory with 2 blocks per lane - * initialized - * @param context Pointer to the Argon2 internal structure containing memory - * pointer, and parameters for time and space requirements. - * @param instance Current Argon2 instance - * @return Zero if successful, -1 if memory failed to allocate. @context->state - * will be modified if successful. - */ -int initialize(argon2_instance_t *instance, argon2_context *context); - -/* - * XORing the last block of each lane, hashing it, making the tag. Deallocates - * the memory. - * @param context Pointer to current Argon2 context (use only the out parameters - * from it) - * @param instance Pointer to current instance of Argon2 - * @pre instance->state must point to necessary amount of memory - * @pre context->out must point to outlen bytes of memory - * @pre if context->free_cbk is not NULL, it should point to a function that - * deallocates memory - */ -void finalize(const argon2_context *context, argon2_instance_t *instance); - -/* - * Function that fills the segment using previous segments also from other - * threads - * @param context current context - * @param instance Pointer to the current instance - * @param position Current position - * @pre all block pointers must be valid - */ -void fill_segment(const argon2_instance_t *instance, - argon2_position_t position); - -/* - * Function that fills the entire memory t_cost times based on the first two - * blocks in each lane - * @param instance Pointer to the current instance - * @return ARGON2_OK if successful, @context->state - */ -int fill_memory_blocks(argon2_instance_t *instance); - -#endif diff --git a/0x0017a_ctf/third_party/argon2/src/encoding.c b/0x0017a_ctf/third_party/argon2/src/encoding.c deleted file mode 100644 index 771a440..0000000 --- a/0x0017a_ctf/third_party/argon2/src/encoding.c +++ /dev/null @@ -1,463 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#include -#include -#include -#include -#include "encoding.h" -#include "core.h" - -/* - * Example code for a decoder and encoder of "hash strings", with Argon2 - * parameters. - * - * This code comprises three sections: - * - * -- The first section contains generic Base64 encoding and decoding - * functions. It is conceptually applicable to any hash function - * implementation that uses Base64 to encode and decode parameters, - * salts and outputs. It could be made into a library, provided that - * the relevant functions are made public (non-static) and be given - * reasonable names to avoid collisions with other functions. - * - * -- The second section is specific to Argon2. It encodes and decodes - * the parameters, salts and outputs. It does not compute the hash - * itself. - * - * The code was originally written by Thomas Pornin , - * to whom comments and remarks may be sent. It is released under what - * should amount to Public Domain or its closest equivalent; the - * following mantra is supposed to incarnate that fact with all the - * proper legal rituals: - * - * --------------------------------------------------------------------- - * This file is provided under the terms of Creative Commons CC0 1.0 - * Public Domain Dedication. To the extent possible under law, the - * author (Thomas Pornin) has waived all copyright and related or - * neighboring rights to this file. This work is published from: Canada. - * --------------------------------------------------------------------- - * - * Copyright (c) 2015 Thomas Pornin - */ - -/* ==================================================================== */ -/* - * Common code; could be shared between different hash functions. - * - * Note: the Base64 functions below assume that uppercase letters (resp. - * lowercase letters) have consecutive numerical codes, that fit on 8 - * bits. All modern systems use ASCII-compatible charsets, where these - * properties are true. If you are stuck with a dinosaur of a system - * that still defaults to EBCDIC then you already have much bigger - * interoperability issues to deal with. - */ - -/* - * Some macros for constant-time comparisons. These work over values in - * the 0..255 range. Returned value is 0x00 on "false", 0xFF on "true". - */ -#define EQ(x, y) ((((0U - ((unsigned)(x) ^ (unsigned)(y))) >> 8) & 0xFF) ^ 0xFF) -#define GT(x, y) ((((unsigned)(y) - (unsigned)(x)) >> 8) & 0xFF) -#define GE(x, y) (GT(y, x) ^ 0xFF) -#define LT(x, y) GT(y, x) -#define LE(x, y) GE(y, x) - -/* - * Convert value x (0..63) to corresponding Base64 character. - */ -static int b64_byte_to_char(unsigned x) { - return (LT(x, 26) & (x + 'A')) | - (GE(x, 26) & LT(x, 52) & (x + ('a' - 26))) | - (GE(x, 52) & LT(x, 62) & (x + ('0' - 52))) | (EQ(x, 62) & '+') | - (EQ(x, 63) & '/'); -} - -/* - * Convert character c to the corresponding 6-bit value. If character c - * is not a Base64 character, then 0xFF (255) is returned. - */ -static unsigned b64_char_to_byte(int c) { - unsigned x; - - x = (GE(c, 'A') & LE(c, 'Z') & (c - 'A')) | - (GE(c, 'a') & LE(c, 'z') & (c - ('a' - 26))) | - (GE(c, '0') & LE(c, '9') & (c - ('0' - 52))) | (EQ(c, '+') & 62) | - (EQ(c, '/') & 63); - return x | (EQ(x, 0) & (EQ(c, 'A') ^ 0xFF)); -} - -/* - * Convert some bytes to Base64. 'dst_len' is the length (in characters) - * of the output buffer 'dst'; if that buffer is not large enough to - * receive the result (including the terminating 0), then (size_t)-1 - * is returned. Otherwise, the zero-terminated Base64 string is written - * in the buffer, and the output length (counted WITHOUT the terminating - * zero) is returned. - */ -static size_t to_base64(char *dst, size_t dst_len, const void *src, - size_t src_len) { - size_t olen; - const unsigned char *buf; - unsigned acc, acc_len; - - olen = (src_len / 3) << 2; - switch (src_len % 3) { - case 2: - olen++; - /* fall through */ - case 1: - olen += 2; - break; - } - if (dst_len <= olen) { - return (size_t)-1; - } - acc = 0; - acc_len = 0; - buf = (const unsigned char *)src; - while (src_len-- > 0) { - acc = (acc << 8) + (*buf++); - acc_len += 8; - while (acc_len >= 6) { - acc_len -= 6; - *dst++ = (char)b64_byte_to_char((acc >> acc_len) & 0x3F); - } - } - if (acc_len > 0) { - *dst++ = (char)b64_byte_to_char((acc << (6 - acc_len)) & 0x3F); - } - *dst++ = 0; - return olen; -} - -/* - * Decode Base64 chars into bytes. The '*dst_len' value must initially - * contain the length of the output buffer '*dst'; when the decoding - * ends, the actual number of decoded bytes is written back in - * '*dst_len'. - * - * Decoding stops when a non-Base64 character is encountered, or when - * the output buffer capacity is exceeded. If an error occurred (output - * buffer is too small, invalid last characters leading to unprocessed - * buffered bits), then NULL is returned; otherwise, the returned value - * points to the first non-Base64 character in the source stream, which - * may be the terminating zero. - */ -static const char *from_base64(void *dst, size_t *dst_len, const char *src) { - size_t len; - unsigned char *buf; - unsigned acc, acc_len; - - buf = (unsigned char *)dst; - len = 0; - acc = 0; - acc_len = 0; - for (;;) { - unsigned d; - - d = b64_char_to_byte(*src); - if (d == 0xFF) { - break; - } - src++; - acc = (acc << 6) + d; - acc_len += 6; - if (acc_len >= 8) { - acc_len -= 8; - if ((len++) >= *dst_len) { - return NULL; - } - *buf++ = (acc >> acc_len) & 0xFF; - } - } - - /* - * If the input length is equal to 1 modulo 4 (which is - * invalid), then there will remain 6 unprocessed bits; - * otherwise, only 0, 2 or 4 bits are buffered. The buffered - * bits must also all be zero. - */ - if (acc_len > 4 || (acc & (((unsigned)1 << acc_len) - 1)) != 0) { - return NULL; - } - *dst_len = len; - return src; -} - -/* - * Decode decimal integer from 'str'; the value is written in '*v'. - * Returned value is a pointer to the next non-decimal character in the - * string. If there is no digit at all, or the value encoding is not - * minimal (extra leading zeros), or the value does not fit in an - * 'unsigned long', then NULL is returned. - */ -static const char *decode_decimal(const char *str, unsigned long *v) { - const char *orig; - unsigned long acc; - - acc = 0; - for (orig = str;; str++) { - int c; - - c = *str; - if (c < '0' || c > '9') { - break; - } - c -= '0'; - if (acc > (ULONG_MAX / 10)) { - return NULL; - } - acc *= 10; - if ((unsigned long)c > (ULONG_MAX - acc)) { - return NULL; - } - acc += (unsigned long)c; - } - if (str == orig || (*orig == '0' && str != (orig + 1))) { - return NULL; - } - *v = acc; - return str; -} - -/* ==================================================================== */ -/* - * Code specific to Argon2. - * - * The code below applies the following format: - * - * $argon2[$v=]$m=,t=,p=$$ - * - * where is either 'd', 'id', or 'i', is a decimal integer (positive, - * fits in an 'unsigned long'), and is Base64-encoded data (no '=' padding - * characters, no newline or whitespace). - * - * The last two binary chunks (encoded in Base64) are, in that order, - * the salt and the output. Both are required. The binary salt length and the - * output length must be in the allowed ranges defined in argon2.h. - * - * The ctx struct must contain buffers large enough to hold the salt and pwd - * when it is fed into decode_string. - */ - -int decode_string(argon2_context *ctx, const char *str, argon2_type type) { - -/* check for prefix */ -#define CC(prefix) \ - do { \ - size_t cc_len = strlen(prefix); \ - if (strncmp(str, prefix, cc_len) != 0) { \ - return ARGON2_DECODING_FAIL; \ - } \ - str += cc_len; \ - } while ((void)0, 0) - -/* optional prefix checking with supplied code */ -#define CC_opt(prefix, code) \ - do { \ - size_t cc_len = strlen(prefix); \ - if (strncmp(str, prefix, cc_len) == 0) { \ - str += cc_len; \ - { code; } \ - } \ - } while ((void)0, 0) - -/* Decoding prefix into decimal */ -#define DECIMAL(x) \ - do { \ - unsigned long dec_x; \ - str = decode_decimal(str, &dec_x); \ - if (str == NULL) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (x) = dec_x; \ - } while ((void)0, 0) - - -/* Decoding prefix into uint32_t decimal */ -#define DECIMAL_U32(x) \ - do { \ - unsigned long dec_x; \ - str = decode_decimal(str, &dec_x); \ - if (str == NULL || dec_x > UINT32_MAX) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (x) = (uint32_t)dec_x; \ - } while ((void)0, 0) - - -/* Decoding base64 into a binary buffer */ -#define BIN(buf, max_len, len) \ - do { \ - size_t bin_len = (max_len); \ - str = from_base64(buf, &bin_len, str); \ - if (str == NULL || bin_len > UINT32_MAX) { \ - return ARGON2_DECODING_FAIL; \ - } \ - (len) = (uint32_t)bin_len; \ - } while ((void)0, 0) - - size_t maxsaltlen = ctx->saltlen; - size_t maxoutlen = ctx->outlen; - int validation_result; - const char* type_string; - - /* We should start with the argon2_type we are using */ - type_string = argon2_type2string(type, 0); - if (!type_string) { - return ARGON2_INCORRECT_TYPE; - } - - CC("$"); - CC(type_string); - - /* Reading the version number if the default is suppressed */ - ctx->version = ARGON2_VERSION_10; - CC_opt("$v=", DECIMAL_U32(ctx->version)); - - CC("$m="); - DECIMAL_U32(ctx->m_cost); - CC(",t="); - DECIMAL_U32(ctx->t_cost); - CC(",p="); - DECIMAL_U32(ctx->lanes); - ctx->threads = ctx->lanes; - - CC("$"); - BIN(ctx->salt, maxsaltlen, ctx->saltlen); - CC("$"); - BIN(ctx->out, maxoutlen, ctx->outlen); - - /* The rest of the fields get the default values */ - ctx->secret = NULL; - ctx->secretlen = 0; - ctx->ad = NULL; - ctx->adlen = 0; - ctx->allocate_cbk = NULL; - ctx->free_cbk = NULL; - ctx->flags = ARGON2_DEFAULT_FLAGS; - - /* On return, must have valid context */ - validation_result = validate_inputs(ctx); - if (validation_result != ARGON2_OK) { - return validation_result; - } - - /* Can't have any additional characters */ - if (*str == 0) { - return ARGON2_OK; - } else { - return ARGON2_DECODING_FAIL; - } -#undef CC -#undef CC_opt -#undef DECIMAL -#undef BIN -} - -int encode_string(char *dst, size_t dst_len, argon2_context *ctx, - argon2_type type) { -#define SS(str) \ - do { \ - size_t pp_len = strlen(str); \ - if (pp_len >= dst_len) { \ - return ARGON2_ENCODING_FAIL; \ - } \ - memcpy(dst, str, pp_len + 1); \ - dst += pp_len; \ - dst_len -= pp_len; \ - } while ((void)0, 0) - -#define SX(x) \ - do { \ - char tmp[30]; \ - sprintf(tmp, "%lu", (unsigned long)(x)); \ - SS(tmp); \ - } while ((void)0, 0) - -#define SB(buf, len) \ - do { \ - size_t sb_len = to_base64(dst, dst_len, buf, len); \ - if (sb_len == (size_t)-1) { \ - return ARGON2_ENCODING_FAIL; \ - } \ - dst += sb_len; \ - dst_len -= sb_len; \ - } while ((void)0, 0) - - const char* type_string = argon2_type2string(type, 0); - int validation_result = validate_inputs(ctx); - - if (!type_string) { - return ARGON2_ENCODING_FAIL; - } - - if (validation_result != ARGON2_OK) { - return validation_result; - } - - - SS("$"); - SS(type_string); - - SS("$v="); - SX(ctx->version); - - SS("$m="); - SX(ctx->m_cost); - SS(",t="); - SX(ctx->t_cost); - SS(",p="); - SX(ctx->lanes); - - SS("$"); - SB(ctx->salt, ctx->saltlen); - - SS("$"); - SB(ctx->out, ctx->outlen); - return ARGON2_OK; - -#undef SS -#undef SX -#undef SB -} - -size_t b64len(uint32_t len) { - size_t olen = ((size_t)len / 3) << 2; - - switch (len % 3) { - case 2: - olen++; - /* fall through */ - case 1: - olen += 2; - break; - } - - return olen; -} - -size_t numlen(uint32_t num) { - size_t len = 1; - while (num >= 10) { - ++len; - num = num / 10; - } - return len; -} - diff --git a/0x0017a_ctf/third_party/argon2/src/encoding.h b/0x0017a_ctf/third_party/argon2/src/encoding.h deleted file mode 100644 index 5b8b2dd..0000000 --- a/0x0017a_ctf/third_party/argon2/src/encoding.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef ENCODING_H -#define ENCODING_H -#include "argon2.h" - -#define ARGON2_MAX_DECODED_LANES UINT32_C(255) -#define ARGON2_MIN_DECODED_SALT_LEN UINT32_C(8) -#define ARGON2_MIN_DECODED_OUT_LEN UINT32_C(12) - -/* -* encode an Argon2 hash string into the provided buffer. 'dst_len' -* contains the size, in characters, of the 'dst' buffer; if 'dst_len' -* is less than the number of required characters (including the -* terminating 0), then this function returns ARGON2_ENCODING_ERROR. -* -* on success, ARGON2_OK is returned. -*/ -int encode_string(char *dst, size_t dst_len, argon2_context *ctx, - argon2_type type); - -/* -* Decodes an Argon2 hash string into the provided structure 'ctx'. -* The only fields that must be set prior to this call are ctx.saltlen and -* ctx.outlen (which must be the maximal salt and out length values that are -* allowed), ctx.salt and ctx.out (which must be buffers of the specified -* length), and ctx.pwd and ctx.pwdlen which must hold a valid password. -* -* Invalid input string causes an error. On success, the ctx is valid and all -* fields have been initialized. -* -* Returned value is ARGON2_OK on success, other ARGON2_ codes on error. -*/ -int decode_string(argon2_context *ctx, const char *str, argon2_type type); - -/* Returns the length of the encoded byte stream with length len */ -size_t b64len(uint32_t len); - -/* Returns the length of the encoded number num */ -size_t numlen(uint32_t num); - -#endif diff --git a/0x0017a_ctf/third_party/argon2/src/genkat.h b/0x0017a_ctf/third_party/argon2/src/genkat.h deleted file mode 100644 index 3a7162a..0000000 --- a/0x0017a_ctf/third_party/argon2/src/genkat.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef ARGON2_KAT_H -#define ARGON2_KAT_H - -#include "core.h" - -/* - * Initial KAT function that prints the inputs to the file - * @param blockhash Array that contains pre-hashing digest - * @param context Holds inputs - * @param type Argon2 type - * @pre blockhash must point to INPUT_INITIAL_HASH_LENGTH bytes - * @pre context member pointers must point to allocated memory of size according - * to the length values - */ -void initial_kat(const uint8_t *blockhash, const argon2_context *context, - argon2_type type); - -/* - * Function that prints the output tag - * @param out output array pointer - * @param outlen digest length - * @pre out must point to @a outlen bytes - **/ -void print_tag(const void *out, uint32_t outlen); - -/* - * Function that prints the internal state at given moment - * @param instance pointer to the current instance - * @param pass current pass number - * @pre instance must have necessary memory allocated - **/ -void internal_kat(const argon2_instance_t *instance, uint32_t pass); - -#endif diff --git a/0x0017a_ctf/third_party/argon2/src/ref.c b/0x0017a_ctf/third_party/argon2/src/ref.c deleted file mode 100644 index 10e45eb..0000000 --- a/0x0017a_ctf/third_party/argon2/src/ref.c +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#include -#include -#include - -#include "argon2.h" -#include "core.h" - -#include "blake2/blamka-round-ref.h" -#include "blake2/blake2-impl.h" -#include "blake2/blake2.h" - - -/* - * Function fills a new memory block and optionally XORs the old block over the new one. - * @next_block must be initialized. - * @param prev_block Pointer to the previous block - * @param ref_block Pointer to the reference block - * @param next_block Pointer to the block to be constructed - * @param with_xor Whether to XOR into the new block (1) or just overwrite (0) - * @pre all block pointers must be valid - */ -static void fill_block(const block *prev_block, const block *ref_block, - block *next_block, int with_xor) { - block blockR, block_tmp; - unsigned i; - - copy_block(&blockR, ref_block); - xor_block(&blockR, prev_block); - copy_block(&block_tmp, &blockR); - /* Now blockR = ref_block + prev_block and block_tmp = ref_block + prev_block */ - if (with_xor) { - /* Saving the next block contents for XOR over: */ - xor_block(&block_tmp, next_block); - /* Now blockR = ref_block + prev_block and - block_tmp = ref_block + prev_block + next_block */ - } - - /* Apply Blake2 on columns of 64-bit words: (0,1,...,15) , then - (16,17,..31)... finally (112,113,...127) */ - for (i = 0; i < 8; ++i) { - BLAKE2_ROUND_NOMSG( - blockR.v[16 * i], blockR.v[16 * i + 1], blockR.v[16 * i + 2], - blockR.v[16 * i + 3], blockR.v[16 * i + 4], blockR.v[16 * i + 5], - blockR.v[16 * i + 6], blockR.v[16 * i + 7], blockR.v[16 * i + 8], - blockR.v[16 * i + 9], blockR.v[16 * i + 10], blockR.v[16 * i + 11], - blockR.v[16 * i + 12], blockR.v[16 * i + 13], blockR.v[16 * i + 14], - blockR.v[16 * i + 15]); - } - - /* Apply Blake2 on rows of 64-bit words: (0,1,16,17,...112,113), then - (2,3,18,19,...,114,115).. finally (14,15,30,31,...,126,127) */ - for (i = 0; i < 8; i++) { - BLAKE2_ROUND_NOMSG( - blockR.v[2 * i], blockR.v[2 * i + 1], blockR.v[2 * i + 16], - blockR.v[2 * i + 17], blockR.v[2 * i + 32], blockR.v[2 * i + 33], - blockR.v[2 * i + 48], blockR.v[2 * i + 49], blockR.v[2 * i + 64], - blockR.v[2 * i + 65], blockR.v[2 * i + 80], blockR.v[2 * i + 81], - blockR.v[2 * i + 96], blockR.v[2 * i + 97], blockR.v[2 * i + 112], - blockR.v[2 * i + 113]); - } - - copy_block(next_block, &block_tmp); - xor_block(next_block, &blockR); -} - -static void next_addresses(block *address_block, block *input_block, - const block *zero_block) { - input_block->v[6]++; - fill_block(zero_block, input_block, address_block, 0); - fill_block(zero_block, address_block, address_block, 0); -} - -void fill_segment(const argon2_instance_t *instance, - argon2_position_t position) { - block *ref_block = NULL, *curr_block = NULL; - block address_block, input_block, zero_block; - uint64_t pseudo_rand, ref_index, ref_lane; - uint32_t prev_offset, curr_offset; - uint32_t starting_index; - uint32_t i; - int data_independent_addressing; - - if (instance == NULL) { - return; - } - - data_independent_addressing = - (instance->type == Argon2_i) || - (instance->type == Argon2_id && (position.pass == 0) && - (position.slice < ARGON2_SYNC_POINTS / 2)); - - if (data_independent_addressing) { - init_block_value(&zero_block, 0); - init_block_value(&input_block, 0); - - input_block.v[0] = position.pass; - input_block.v[1] = position.lane; - input_block.v[2] = position.slice; - input_block.v[3] = instance->memory_blocks; - input_block.v[4] = instance->passes; - input_block.v[5] = instance->type; - } - - starting_index = 0; - - if ((0 == position.pass) && (0 == position.slice)) { - starting_index = 2; /* we have already generated the first two blocks */ - - /* Don't forget to generate the first block of addresses: */ - if (data_independent_addressing) { - next_addresses(&address_block, &input_block, &zero_block); - } - } - - /* Offset of the current block */ - curr_offset = position.lane * instance->lane_length + - position.slice * instance->segment_length + starting_index; - - if (0 == curr_offset % instance->lane_length) { - /* Last block in this lane */ - prev_offset = curr_offset + instance->lane_length - 1; - } else { - /* Previous block */ - prev_offset = curr_offset - 1; - } - - for (i = starting_index; i < instance->segment_length; - ++i, ++curr_offset, ++prev_offset) { - /*1.1 Rotating prev_offset if needed */ - if (curr_offset % instance->lane_length == 1) { - prev_offset = curr_offset - 1; - } - - /* 1.2 Computing the index of the reference block */ - /* 1.2.1 Taking pseudo-random value from the previous block */ - if (data_independent_addressing) { - if (i % ARGON2_ADDRESSES_IN_BLOCK == 0) { - next_addresses(&address_block, &input_block, &zero_block); - } - pseudo_rand = address_block.v[i % ARGON2_ADDRESSES_IN_BLOCK]; - } else { - pseudo_rand = instance->memory[prev_offset].v[0]; - } - - /* 1.2.2 Computing the lane of the reference block */ - ref_lane = ((pseudo_rand >> 32)) % instance->lanes; - - if ((position.pass == 0) && (position.slice == 0)) { - /* Can not reference other lanes yet */ - ref_lane = position.lane; - } - - /* 1.2.3 Computing the number of possible reference block within the - * lane. - */ - position.index = i; - ref_index = index_alpha(instance, &position, pseudo_rand & 0xFFFFFFFF, - ref_lane == position.lane); - - /* 2 Creating a new block */ - ref_block = - instance->memory + instance->lane_length * ref_lane + ref_index; - curr_block = instance->memory + curr_offset; - if (ARGON2_VERSION_10 == instance->version) { - /* version 1.2.1 and earlier: overwrite, not XOR */ - fill_block(instance->memory + prev_offset, ref_block, curr_block, 0); - } else { - if(0 == position.pass) { - fill_block(instance->memory + prev_offset, ref_block, - curr_block, 0); - } else { - fill_block(instance->memory + prev_offset, ref_block, - curr_block, 1); - } - } - } -} diff --git a/0x0017a_ctf/third_party/argon2/src/thread.c b/0x0017a_ctf/third_party/argon2/src/thread.c deleted file mode 100644 index 3ae2fb2..0000000 --- a/0x0017a_ctf/third_party/argon2/src/thread.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#if !defined(ARGON2_NO_THREADS) - -#include "thread.h" -#if defined(_WIN32) -#include -#endif - -int argon2_thread_create(argon2_thread_handle_t *handle, - argon2_thread_func_t func, void *args) { - if (NULL == handle || func == NULL) { - return -1; - } -#if defined(_WIN32) - *handle = _beginthreadex(NULL, 0, func, args, 0, NULL); - return *handle != 0 ? 0 : -1; -#else - return pthread_create(handle, NULL, func, args); -#endif -} - -int argon2_thread_join(argon2_thread_handle_t handle) { -#if defined(_WIN32) - if (WaitForSingleObject((HANDLE)handle, INFINITE) == WAIT_OBJECT_0) { - return CloseHandle((HANDLE)handle) != 0 ? 0 : -1; - } - return -1; -#else - return pthread_join(handle, NULL); -#endif -} - -void argon2_thread_exit(void) { -#if defined(_WIN32) - _endthreadex(0); -#else - pthread_exit(NULL); -#endif -} - -#endif /* ARGON2_NO_THREADS */ diff --git a/0x0017a_ctf/third_party/argon2/src/thread.h b/0x0017a_ctf/third_party/argon2/src/thread.h deleted file mode 100644 index d4ca10c..0000000 --- a/0x0017a_ctf/third_party/argon2/src/thread.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Argon2 reference source code package - reference C implementations - * - * Copyright 2015 - * Daniel Dinu, Dmitry Khovratovich, Jean-Philippe Aumasson, and Samuel Neves - * - * You may use this work under the terms of a Creative Commons CC0 1.0 - * License/Waiver or the Apache Public License 2.0, at your option. The terms of - * these licenses can be found at: - * - * - CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0 - * - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 - * - * You should have received a copy of both of these licenses along with this - * software. If not, they may be obtained at the above URLs. - */ - -#ifndef ARGON2_THREAD_H -#define ARGON2_THREAD_H - -#if !defined(ARGON2_NO_THREADS) - -/* - Here we implement an abstraction layer for the simpĺe requirements - of the Argon2 code. We only require 3 primitives---thread creation, - joining, and termination---so full emulation of the pthreads API - is unwarranted. Currently we wrap pthreads and Win32 threads. - - The API defines 2 types: the function pointer type, - argon2_thread_func_t, - and the type of the thread handle---argon2_thread_handle_t. -*/ -#if defined(_WIN32) -#include -typedef unsigned(__stdcall *argon2_thread_func_t)(void *); -typedef uintptr_t argon2_thread_handle_t; -#else -#include -typedef void *(*argon2_thread_func_t)(void *); -typedef pthread_t argon2_thread_handle_t; -#endif - -/* Creates a thread - * @param handle pointer to a thread handle, which is the output of this - * function. Must not be NULL. - * @param func A function pointer for the thread's entry point. Must not be - * NULL. - * @param args Pointer that is passed as an argument to @func. May be NULL. - * @return 0 if @handle and @func are valid pointers and a thread is successfully - * created. - */ -int argon2_thread_create(argon2_thread_handle_t *handle, - argon2_thread_func_t func, void *args); - -/* Waits for a thread to terminate - * @param handle Handle to a thread created with argon2_thread_create. - * @return 0 if @handle is a valid handle, and joining completed successfully. -*/ -int argon2_thread_join(argon2_thread_handle_t handle); - -/* Terminate the current thread. Must be run inside a thread created by - * argon2_thread_create. -*/ -void argon2_thread_exit(void); - -#endif /* ARGON2_NO_THREADS */ -#endif diff --git a/0x0017a_ctf/uf2families.json b/0x0017a_ctf/uf2families.json deleted file mode 100644 index 91d99ad..0000000 --- a/0x0017a_ctf/uf2families.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - { - "short_name": "RP2040", - "id": "0xe48bff56", - "description": "Raspberry Pi RP2040" - }, - { - "short_name": "RP2350-ARM-S", - "id": "0xe48bff59", - "description": "Raspberry Pi RP2350, ARM, Secure" - }, - { - "short_name": "RP2350-ARM-NS", - "id": "0xe48bff5a", - "description": "Raspberry Pi RP2350, ARM, Non-Secure" - }, - { - "short_name": "RP2350-RISCV", - "id": "0xe48bff5b", - "description": "Raspberry Pi RP2350, RISC-V" - } -] diff --git a/0x001a_operators/.gitignore b/0x001a_operators/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x001a_operators/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x001a_operators/.vscode/c_cpp_properties.json b/0x001a_operators/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x001a_operators/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x001a_operators/.vscode/cmake-kits.json b/0x001a_operators/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x001a_operators/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x001a_operators/.vscode/extensions.json b/0x001a_operators/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x001a_operators/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x001a_operators/.vscode/launch.json b/0x001a_operators/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x001a_operators/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x001a_operators/.vscode/settings.json b/0x001a_operators/.vscode/settings.json deleted file mode 100644 index 95be83b..0000000 --- a/0x001a_operators/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x001a_operators/.vscode/tasks.json b/0x001a_operators/.vscode/tasks.json deleted file mode 100644 index d1b3193..0000000 --- a/0x001a_operators/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x001a_operators/0x001a_operators.c b/0x001a_operators/0x001a_operators.c deleted file mode 100644 index d9ddccf..0000000 --- a/0x001a_operators/0x001a_operators.c +++ /dev/null @@ -1,36 +0,0 @@ -#include -#include "pico/stdlib.h" -#include "dht11.h" - -int main(void) { - stdio_init_all(); - - dht11_init(4); - - int x = 5; - int y = 10; - int arithmetic_operator = (x * y); - int increment_operator = x++; - bool relational_operator = (x > y); - bool logical_operator = (x > y) && (y > x); - int bitwise_operator = (x<<1); // x is now 6 because of x++ or 0b00000110 and (x<<1) is 0b00001100 or 12 - int assignment_operator = (x += 5); - - while (true) { - printf("arithmetic_operator: %d\r\n", arithmetic_operator); - printf("increment_operator: %d\r\n", increment_operator); - printf("relational_operator: %d\r\n", relational_operator); - printf("logical_operator: %d\r\n", logical_operator); - printf("bitwise_operator: %d\r\n", bitwise_operator); - printf("assignment_operator: %d\r\n", assignment_operator); - - float hum, temp; - if (dht11_read(&hum, &temp)) { - printf("Humidity: %.1f%%, Temperature: %.1f°C\r\n", hum, temp); - } else { - printf("DHT11 read failed\r\n"); - } - - sleep_ms(2000); - } -} \ No newline at end of file diff --git a/0x001a_operators/CMakeLists.txt b/0x001a_operators/CMakeLists.txt deleted file mode 100644 index f6ef427..0000000 --- a/0x001a_operators/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x001a_operators C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x001a_operators 0x001a_operators.c dht11.c ) - -pico_set_program_name(0x001a_operators "0x001a_operators") -pico_set_program_version(0x001a_operators "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x001a_operators 1) -pico_enable_stdio_usb(0x001a_operators 0) - -# Add the standard library to the build -target_link_libraries(0x001a_operators - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x001a_operators PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x001a_operators) - diff --git a/0x001a_operators/dht11.c b/0x001a_operators/dht11.c deleted file mode 100644 index 9a52ba8..0000000 --- a/0x001a_operators/dht11.c +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @file dht11.c - * @brief Implementation of DHT11 temperature and humidity sensor driver - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "dht11.h" -#include "hardware/gpio.h" -#include "pico/time.h" - -static uint dht_pin; - -void dht11_init(uint8_t pin) { - dht_pin = pin; - gpio_init(pin); - gpio_pull_up(pin); -} - -bool dht11_read(float *humidity, float *temperature) { - uint8_t data[5] = {0}; - - // Start signal - gpio_set_dir(dht_pin, GPIO_OUT); - gpio_put(dht_pin, 0); - sleep_ms(18); - gpio_put(dht_pin, 1); - sleep_us(40); - gpio_set_dir(dht_pin, GPIO_IN); - - // Wait for response - uint32_t timeout = 10000; - while (gpio_get(dht_pin) == 1) if (--timeout == 0) return false; - timeout = 10000; - while (gpio_get(dht_pin) == 0) if (--timeout == 0) return false; - timeout = 10000; - while (gpio_get(dht_pin) == 1) if (--timeout == 0) return false; - - // Read 40 bits - for (int i = 0; i < 40; i++) { - timeout = 10000; - while (gpio_get(dht_pin) == 0) if (--timeout == 0) return false; - uint32_t start = time_us_32(); - timeout = 10000; - while (gpio_get(dht_pin) == 1) if (--timeout == 0) return false; - uint32_t duration = time_us_32() - start; - data[i / 8] <<= 1; - if (duration > 40) data[i / 8] |= 1; - } - - // Check checksum - if (data[4] != ((data[0] + data[1] + data[2] + data[3]) & 0xFF)) return false; - - *humidity = data[0] + data[1] * 0.1f; - *temperature = data[2] + data[3] * 0.1f; - return true; -} diff --git a/0x001a_operators/dht11.h b/0x001a_operators/dht11.h deleted file mode 100644 index 30e298c..0000000 --- a/0x001a_operators/dht11.h +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @file dht11.h - * @brief Header for DHT11 temperature and humidity sensor driver - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef DHT11_H -#define DHT11_H - -#include -#include - -/** - * @brief Initialize the DHT11 driver - * - * Configures the GPIO pin for the DHT11 sensor. This must be called before - * using dht11_read(). - * - * @param pin GPIO pin number connected to DHT11 signal - */ -void dht11_init(uint8_t pin); - -/** - * @brief Read temperature and humidity from DHT11 sensor - * - * Performs the DHT11 communication protocol to read sensor data. - * - * @param humidity Pointer to store humidity value (0-100%) - * @param temperature Pointer to store temperature value in Celsius - * @return true if read successful, false on error or timeout - */ -bool dht11_read(float *humidity, float *temperature); - -#endif // DHT11_H diff --git a/0x001a_operators/hack-temp.py b/0x001a_operators/hack-temp.py deleted file mode 100644 index 8973073..0000000 --- a/0x001a_operators/hack-temp.py +++ /dev/null @@ -1,219 +0,0 @@ -#!/usr/bin/env python3 - -""" -FILE: hack-temp.py - -DESCRIPTION: -Incremental firmware patcher with minimal, conservative steps to bias readings. - -BRIEF: -Provides three modes: -- pool_only: change only the literal pool constant (scaling effect; least invasive) -- temp_only_vadd: convert temperature path to vadd.f32 and set a small negative pool -- both_vadd: convert both paths to vadd.f32 and set a small negative pool - -Intended to let you test changes incrementally, keeping humidity stable while -you evaluate temperature bias first. - -AUTHOR: Kevin Thomas -CREATION DATE: November 1, 2025 -UPDATE DATE: November 1, 2025 -""" - -import sys -import os -import struct - -BIN_PATH = "build/0x001a_operators.bin" - -# Offsets -OFF_410 = 0x410 -OFF_414 = 0x414 -OFF_POOL = 0x42C - -# Original encodings (for visibility only) -ORIG_410 = bytes.fromhex("a6ee257a") # vfma.f32 s14, s12, s11 -ORIG_414 = bytes.fromhex("e6eea57a") # vfma.f32 s15, s13, s11 -ORIG_POOL = bytes.fromhex("cccccc3d") # 0.1f - -# Encodings for vadd.f32 s14, s14, s11 and vadd.f32 s15, s15, s11 -VADD_S14_S11 = struct.pack(" 1 else "pool_only").strip().lower() - if mode == "pool_only": - patch_pool_only(new_pool_float=-1.0) - elif mode == "temp_only_vadd": - patch_temp_only_vadd(new_pool_float=-2.0) - elif mode == "both_vadd": - patch_both_vadd(new_pool_float=-2.0) - else: - print(f"Unknown mode: {mode}") - print("Use: pool_only | temp_only_vadd | both_vadd") - sys.exit(2) - - -if __name__ == "__main__": - main() - print("Patch complete. Convert to UF2 and flash. Test each mode incrementally.") diff --git a/0x001a_operators/pico_sdk_import.cmake b/0x001a_operators/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x001a_operators/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x001aa_cb/0x001aa_cb.bin b/0x001aa_cb/0x001aa_cb.bin deleted file mode 100755 index 88cef35930f4d54e78e439585086ab3d780807c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35152 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 V7sJDsQGXa==>Fm1)sv%N{vVq?2aW&$ diff --git a/0x001aa_cb/0x001aa_cb.uf2 b/0x001aa_cb/0x001aa_cb.uf2 deleted file mode 100644 index aefe135a2b7f14f8804a9026ddbe6d272735d7bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71168 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 CFhDQ> diff --git a/0x001aa_cb/0x001aa_cb_patched.bin b/0x001aa_cb/0x001aa_cb_patched.bin deleted file mode 100644 index 810f82efa492e2120afeb40758c05f24a694cdcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35152 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 YTrNtJdXLA`EPCr9SPMzn~p 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 diff --git a/0x001aa_cb/CLASSIFIED-BRIEF-0x03.md b/0x001aa_cb/CLASSIFIED-BRIEF-0x03.md deleted file mode 100644 index 1711fc7..0000000 --- a/0x001aa_cb/CLASSIFIED-BRIEF-0x03.md +++ /dev/null @@ -1,154 +0,0 @@ -# Operation Iron Net: Classified Intelligence Briefing - -``` -+-----------------------------------------------------------------+ -| TOP SECRET // NOFORN | -+-----------------------------------------------------------------+ -| | -|OPERATION IRON NET | -| | -|CLASSIFIED BRIEFING: LIVE CHALLENGE 0x03 | -| | -|NATIONAL SECURITY AGENCY / GMU RHET | -+-----------------------------------------------------------------+ -``` - -## 1. The Advice - -INT. NSA EXPLOITATION CELL. 04:10. - -A grey field junction box sits on the bench, its lid peeled back. Inside, -secured in potting compound, is a covert environmental sensor node recovered -from a contested waterway. - -On the top of the enclosure, a status diode glows a steady red. Beside it, a -REYAX RYLR998 LoRa transceiver is wired to `UART1` on `GP8` and `GP9`. A -three-wire ribbon terminates in a DHT11 temperature and humidity canister. A -thin jumper loops from `GP15` up to the `3V3` rail. - -The Director sets down a field report and looks at the red diode. - -**DIRECTOR:** What is it? - -**ANALYST:** A remote environmental trigger. The adversary seeds these along a -river corridor. The DHT11 samples the air. When the conditions hit a preset -window, the node arms a payload channel and broadcasts a strike authorization -over LoRa. - -**DIRECTOR:** Is it live? - -**ANALYST:** Armed and listening. The payload relay on `GP18` is wired. One -authenticated strike frame and the cell downstream fires. - -**DIRECTOR:** Run it through Buddy. - -**ANALYST:** Already did. Four minutes with the stripped flash image. - -She turns her monitor toward him. - -``` -+-----------------------------------------------------------------+ -| BUDDY // CLASSIFIED EXPLOITATION ASSIST // CONF: 0.98 | -+-----------------------------------------------------------------+ -| ACTION : Replay the environmental checksum window. | -| MECHANISM : DHT11 humidity byte XOR 0xAF, masked by 0x3C. | -| PREDICTION : Force (humidity ^ 0xAF) & 0x3C == 0x18, node arm. | -| CONFIDENCE : 0.98 | -+-----------------------------------------------------------------+ -``` - -**DIRECTOR:** 0.98. Forge the reading, arm the node, learn its payload. - -**ANALYST:** Buddy found the bitwise window. Buddy did not find the door behind -it. There is an authorization token, and there is a trap. - -**DIRECTOR:** Buddy says 0.98. - -**ANALYST:** Buddy disassembled `evaluate_environment`. Buddy never followed the -SRAM the state machine lives in. Buddy never read the fault counter. - -## 2. What Buddy Is - -Buddy is not a person. It is a model. It has parsed more disassembled machine -code than any engineer on earth, and it speaks with total, unhesitating certainty. - -That certainty is lethal when the target is a live payload channel. - -Buddy scanned the flash image and found a tidy bitwise test. It concluded that -satisfying the arithmetic is the whole game. It published the mask and the window -and declared the node owned. - -What Buddy failed to model is that adversary tripwires are engineered for exactly -this attack. A real node does not trade a payload on a single sensor byte. It -runs a state machine, validates an encrypted token carried over the air, and -counts its own faults so that a spoofer who fumbles the protocol three times -burns the node instead of arming it. - -There is also a physical seal. Cut the sense loop and the node latches shut. The -correct env window is necessary. It is nowhere near sufficient. - -Buddy saw the bitwise test. Buddy did not verify the ground truth. - -## 3. The Operation - -At 01:55, a Riverine Technical Intelligence team recovered an intact node before -adversary recovery could zeroize it. The enclosure is a single-board design built -around a bare-metal RP2350 (ARM Cortex-M33). - -There are no debug symbols. There is no operating system. There is no SVD file to -label the registers. All you have is `0x001aa_cb.bin` mapped into Flash at -`0x10000000`, and the physical breadboard hardware in front of you. - -* **Pin 11 (`GP8`)**: LoRa UART1 TX (to RYLR998 RXD). -* **Pin 12 (`GP9`)**: LoRa UART1 RX (from RYLR998 TXD). -* **Pin 19 (`GP14`)**: DHT11 single-wire data line. -* **Pin 20 (`GP15`)**: Anti-tamper sense loop (jumpered to `3V3`). -* **Pin 21 (`GP16`)**: Red LED (`NODE ARMED // LISTENING`). -* **Pin 22 (`GP17`)**: Green LED (`STRIKE AUTHORIZED`). -* **Pin 24 (`GP18`)**: Payload trigger relay. -* **Pin 36 (`3V3`)**: RYLR998 VDD rail and `GP15` pull-up source. -* **Pin 38 (`GND`)**: Ground reference. - -Inside this image there is an environment gate, an over-the-air authorization -token, a fault counter, and a tamper latch. Whatever mechanism actually authorizes -a strike is buried in the stripped ARM Thumb-2 machine code. - -## 4. The Mandate - -The Director crosses his arms. - -**DIRECTOR:** Prove Buddy right, or prove it wrong. - -**ANALYST:** I need thirty minutes with GDB and Ghidra. - -**DIRECTOR:** You have twenty. Trace the environment routine. Map the state -machine. Do not forge a reading over LoRa until you know with certainty what that -firmware will do with the next frame, and what it will do to you if the frame is -wrong. - -The orders are clear: - -1. **Recover the Environment Gate**: Locate the bitwise validation routine and - work out which DHT11 humidity value satisfies it. -2. **Recover the Authorization Token**: Find the custom cipher that is applied at - boot and decrypt the plaintext strike token it protects. -3. **Respect the Traps**: Determine what the node does after repeated faults, and - what happens if the `GP15` sense loop is broken. -4. **Neutralize the Node**: Execute a verified exploit, either by recovering the - token and satisfying the gate, by mutating the state machine in SRAM with GDB, - or by patching the binary in Flash. -5. **Verify the Hardware**: Transition the live breadboard from the Red LED on - `GP16` to the solid Green LED on `GP17` on physical silicon. - -A machine's 0.98 guess does not authorize a strike. - -## 5. The Challenge - -You have the image. You have the board. You have the tools and the time Buddy did -not need. - -Buddy has given you its answer, and it is confident. - -Is it that simple? - -Go find out. diff --git a/0x001aa_cb/CLASSIFIED-BRIEF-0x03.pdf b/0x001aa_cb/CLASSIFIED-BRIEF-0x03.pdf deleted file mode 100644 index ac927e4fd312601f7738e9a12a471f02c736f7cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186754 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�QHac&oG=gt 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 diff --git a/0x001aa_cb/CMakeLists.txt b/0x001aa_cb/CMakeLists.txt deleted file mode 100644 index 9d82362..0000000 --- a/0x001aa_cb/CMakeLists.txt +++ /dev/null @@ -1,85 +0,0 @@ -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: CMakeLists.txt -# Desc: Configures RP2350 Pico SDK project for Operation Iron Net Firmware -# Created: 2026 - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() - -set(PICO_BOARD pico2 CACHE STRING "Board type") -include(pico_sdk_import.cmake) - -project(0x001aa_cb C CXX ASM) - -pico_sdk_init() - -add_executable(0x001aa_cb - src/main.c - src/gpio_ctrl.c - src/dht11.c - src/crypto.c - src/lora.c - src/logic.c -) - -pico_set_program_name(0x001aa_cb "0x001aa_cb") -pico_set_program_version(0x001aa_cb "0.1") - -pico_enable_stdio_uart(0x001aa_cb 1) -pico_enable_stdio_usb(0x001aa_cb 1) - -target_compile_definitions(0x001aa_cb PRIVATE - PICO_DEFAULT_UART_BAUD_RATE=115200 -) - -target_link_libraries(0x001aa_cb - pico_stdlib - hardware_gpio - hardware_uart -) - -target_include_directories(0x001aa_cb PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/include -) - -pico_add_extra_outputs(0x001aa_cb) diff --git a/0x001aa_cb/include/crypto.h b/0x001aa_cb/include/crypto.h deleted file mode 100644 index eb85cae..0000000 --- a/0x001aa_cb/include/crypto.h +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file crypto.h - * @brief Lightweight rolling cipher interface for Operation Iron Net - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef CRYPTO_H -#define CRYPTO_H - -#include -#include - -#define TOKEN_LEN 8 - -/** - * @brief Decrypt the rolling strike authorization token into a buffer. - * @param dest Pointer to buffer receiving the decrypted token bytes. - * @return void No return value. - */ -void decrypt_auth_token(uint8_t *dest); - -#endif /* CRYPTO_H */ diff --git a/0x001aa_cb/include/dht11.h b/0x001aa_cb/include/dht11.h deleted file mode 100644 index fabefbc..0000000 --- a/0x001aa_cb/include/dht11.h +++ /dev/null @@ -1,42 +0,0 @@ -/** - * @file dht11.h - * @brief Operation Iron Net Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef DHT11_H -#define DHT11_H - -#include -#include - -#define DHT11_PIN 14 - -typedef struct { - uint8_t humidity_int; - uint8_t humidity_dec; - uint8_t temp_int; - uint8_t temp_dec; - uint8_t checksum; - bool valid; -} dht11_data_t; - -/** - * @brief Initialize the DHT11 data pin and idle the sensor high. - * @param void No parameters. - * @return void No return value. - */ -void dht11_init(void); - -/** - * @brief Perform a single-wire DHT11 read into the reading cache. - * @param void No parameters. - * @return dht11_data_t* Pointer to the current sensor reading. - */ -dht11_data_t* dht11_read(void); - -#endif // DHT11_H diff --git a/0x001aa_cb/include/gpio_ctrl.h b/0x001aa_cb/include/gpio_ctrl.h deleted file mode 100644 index 3c44b23..0000000 --- a/0x001aa_cb/include/gpio_ctrl.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @file gpio_ctrl.h - * @brief Operation Iron Net Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef GPIO_CTRL_H -#define GPIO_CTRL_H - -#include - -#define PAYLOAD_PIN 18 -#define LED_RED_PIN 16 -#define LED_GREEN_PIN 17 -#define TAMPER_PIN 15 - -/** - * @brief Initialize the status LEDs, payload, and tamper pins. - * @param void No parameters. - * @return void No return value. - */ -void init_gpio(void); - -/** - * @brief Drive the armed indication LEDs (red on, green off). - * @param void No parameters. - * @return void No return value. - */ -void set_led_armed(void); - -/** - * @brief Drive the authorized indication LEDs (green on, red off). - * @param void No parameters. - * @return void No return value. - */ -void set_led_authorized(void); - -/** - * @brief Drive the tamper flash indication on the red LED. - * @param state True to turn the red LED on, false to turn it off. - * @return void No return value. - */ -void set_led_tamper_flash(bool state); - -/** - * @brief Read the enclosure tamper loop state. - * @param void No parameters. - * @return true when the tamper wire is intact, false when cut. - */ -bool is_tamper_wire_intact(void); - -/** - * @brief Pulse the payload marker output to deploy the marker. - * @param void No parameters. - * @return void No return value. - */ -void payload_deploy(void); - -#endif // GPIO_CTRL_H diff --git a/0x001aa_cb/include/logic.h b/0x001aa_cb/include/logic.h deleted file mode 100644 index 5857263..0000000 --- a/0x001aa_cb/include/logic.h +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @file logic.h - * @brief Operation Iron Net Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef LOGIC_H -#define LOGIC_H - -#include -#include - -#define STATE_ENV_ARMED 0x01 -#define STATE_ENV_AUTHORIZED 0x03 -#define STATE_ENV_LOCKOUT 0xFF - -/** - * @brief Initialize the strike logic, token, radio, and feedback. - * @param void No parameters. - * @return void No return value. - */ -void init_strike_controller(void); - -/** - * @brief Evaluate the environment and fire the payload when authorized. - * @param void No parameters. - * @return void No return value. - */ -void evaluate_environment(void); - -#endif // LOGIC_H diff --git a/0x001aa_cb/include/lora.h b/0x001aa_cb/include/lora.h deleted file mode 100644 index a18737f..0000000 --- a/0x001aa_cb/include/lora.h +++ /dev/null @@ -1,64 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lora.h -// Desc: Declares UART1 interface for the REYAX RYLR998 LoRa transceiver. -// Created: 2026 - -#ifndef LORA_H -#define LORA_H - -#include -#include -#include "hardware/uart.h" - -#define LORA_UART uart1 -#define LORA_BAUD 9600 -#define LORA_TX_PIN 8 -#define LORA_RX_PIN 9 - -/** - * @brief Initialize UART1 and configure the RYLR998 radio parameters. - * @param void No parameters. - * @return void No return value. - */ -void init_lora(void); - -/** - * @brief Transmit a message over the LoRa link to the base station. - * @param msg Null-terminated message string to transmit. - * @return void No return value. - */ -void lora_send(const char *msg); - -/** - * @brief Poll the UART receive buffer for a complete LoRa packet. - * @param payload_out Buffer receiving the extracted payload string. - * @param max_len Capacity of payload_out in bytes. - * @return true when a payload was extracted, false otherwise. - */ -bool lora_poll_packet(char *payload_out, size_t max_len); - -#endif // LORA_H diff --git a/0x001aa_cb/pico_sdk_import.cmake b/0x001aa_cb/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x001aa_cb/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x001aa_cb/scripts/lora_console.py b/0x001aa_cb/scripts/lora_console.py deleted file mode 100755 index 24310f9..0000000 --- a/0x001aa_cb/scripts/lora_console.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: lora_console.py -# Desc: Interactive REYAX RYLR998 terminal for the FT232RL ground station. -# Created: 2026 - -""" -Interactive LoRa terminal for the REYAX RYLR998 ground station. - -Sends AT commands as complete bursts terminated with a carriage return and line -feed to avoid the RYLR998 inter-character timeout error, and prints incoming -packets from the airborne node as they arrive. -""" - -import argparse -import sys -import threading -import time - -try: - import serial -except ImportError: - serial = None - - -def _reader_thread(ser: "serial.Serial") -> None: - """ - Continuously read and display incoming packets from the radio. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - while True: - try: - line = ser.readline().decode("utf-8", errors="ignore").strip() - if line: - print(f"\n[LORA RX] {line}\n> ", end="", flush=True) - except Exception: - break - - -def _parse_args() -> argparse.Namespace: - """ - Parse command line arguments for the LoRa console. - - Parameters - ---------- - None - - Returns - ------- - argparse.Namespace - Parsed arguments with the serial port and baud rate. - """ - parser = argparse.ArgumentParser(description="REYAX RYLR998 console") - parser.add_argument("--port", default="/dev/cu.usbserial-A50285BI") - parser.add_argument("--baud", type=int, default=115200) - return parser.parse_args() - - -def _open_radio(port: str, baud: int) -> "serial.Serial": - """ - Open serial connection to the REYAX transceiver. - - Parameters - ---------- - port : str - Serial device path or COM port identifier. - baud : int - Baud rate for serial communication. - - Returns - ------- - serial.Serial - Open serial interface to the radio. - """ - print(f"[*] Opening REYAX RYLR998 on {port} @ {baud}...") - try: - return serial.Serial(port, baud, timeout=0.5) - except Exception as e: - sys.exit(f"[-] Failed to open {port}: {e}") - - -def _start_radio(ser: "serial.Serial") -> None: - """ - Start listener thread and send initial AT ping. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - thread = threading.Thread(target=_reader_thread, args=(ser,), daemon=True) - thread.start() - time.sleep(0.1) - ser.write(b"AT\r\n") - - -def _print_banner() -> None: - """ - Print console connection info and operator command instructions. - - Parameters - ---------- - None - - Returns - ------- - None - """ - print("[+] Connected. Type AT commands (e.g. AT, AT+BAND?, AT+NETWORKID?).") - print("[+] Incoming airborne packets print as [LORA RX] +RCV=...") - print("[+] Press Ctrl-C or Ctrl-D to exit.\n") - - -def _console_loop(ser: "serial.Serial") -> None: - """ - Forward operator input lines to the serial transceiver. - - Parameters - ---------- - ser : serial.Serial - Open serial connection to the ground RYLR998. - - Returns - ------- - None - """ - try: - while True: - cmd = input("> ").strip() - if cmd: - ser.write(cmd.encode("utf-8") + b"\r\n") - except (KeyboardInterrupt, EOFError): - print("\n[*] Exiting LoRa console.") - ser.close() - - -def main() -> None: - """ - Open the ground station radio and forward operator input. - - Parameters - ---------- - None - - Returns - ------- - None - """ - if serial is None: - sys.exit("pyserial required: pip install pyserial") - args = _parse_args() - ser = _open_radio(args.port, args.baud) - _start_radio(ser) - _print_banner() - _console_loop(ser) - - -if __name__ == "__main__": - main() diff --git a/0x001aa_cb/scripts/patch_binary.py b/0x001aa_cb/scripts/patch_binary.py deleted file mode 100644 index ca22844..0000000 --- a/0x001aa_cb/scripts/patch_binary.py +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env python3 -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: patch_binary.py -# Desc: Patch script for Operation Iron Net (0x001aa_cb). -# Created: 2026 - -""" -Patch script for Operation Iron Net (0x001aa_cb). - -Forces the environment gate and the authorization-token gate to true so the -node deploys the payload on boot without a valid sensor reading or token. -""" - -import sys - -PATCHES = [ - (0x7BC, b"\x58\xd1", b"\x00\xbf", "nop (force authorization accept)"), - (0x802, b"\x1b\xb1", b"\x00\xbf", "nop (ignore the environment gate)"), - (0x7D2, b"\x02\x2b", b"\xff\x2b", "cmp r3, #0xff (raise fault threshold)"), -] - - -def _apply_patch(data: bytearray) -> None: - """ - Verify each opcode and apply its replacement bytes in place. - - Parameters - ---------- - data : bytearray - Mutable binary image buffer. - - Returns - ------- - None - """ - for offset, expected, patched, note in PATCHES: - if data[offset:offset + len(expected)] != expected: - actual = data[offset:offset + len(expected)].hex() - raise ValueError(f"Expected {expected.hex()} at 0x{offset:x}, got {actual}") - data[offset:offset + len(patched)] = patched - print(f"[+] Patched 0x{offset:x}: {note}") - - -def patch_binary(in_bin: str, out_bin: str) -> None: - """ - Read target firmware binary, apply patches, and write modified image. - - Parameters - ---------- - in_bin : str - Path to source binary file. - out_bin : str - Path to destination patched binary file. - - Returns - ------- - None - """ - with open(in_bin, "rb") as f: - data = bytearray(f.read()) - _apply_patch(data) - with open(out_bin, "wb") as f: - f.write(data) - print(f"[+] Successfully patched {in_bin} -> {out_bin}") - - -def main() -> None: - """ - Parse command line arguments and execute binary patching. - - Parameters - ---------- - None - - Returns - ------- - None - """ - in_file = sys.argv[1] if len(sys.argv) > 1 else "0x001aa_cb.bin" - out_file = sys.argv[2] if len(sys.argv) > 2 else "0x001aa_cb_patched.bin" - patch_binary(in_file, out_file) - - -if __name__ == "__main__": - main() diff --git a/0x001aa_cb/scripts/uf2conv.py b/0x001aa_cb/scripts/uf2conv.py deleted file mode 100644 index c5a832f..0000000 --- a/0x001aa_cb/scripts/uf2conv.py +++ /dev/null @@ -1,861 +0,0 @@ -#!/usr/bin/env python3 -r"""Convert firmware images between Intel HEX, raw BIN, and Raspberry Pi UF2. - -This is the course's single canonical copy of the converter. Every week that -patches a binary refers to the copy at the repository root: - - python ../uf2conv.py build/image-h.bin --base 0x10000000 \\ - --family 0xe48bff59 --output build/hacked.uf2 - -It descends from the upstream Raspberry Pi ``uf2conv.py``, with the following -changes made for this course: - -* Full type annotations and Google-style docstrings on every public callable. -* ``pathlib`` instead of ``os.path``, and explicit ``except`` clauses. -* Latent crash bugs in the upstream error paths fixed (see - :func:`convert_from_uf2`). -* Module globals replaced with an explicit :class:`ConverterContext`, so the - base address and family ID are threaded through rather than mutated behind - the caller's back. - -UF2 format, for reference -------------------------- -A UF2 file is a flat sequence of 512-byte blocks. Each block is:: - - offset size field - 0x00 4 magicStart0 = 0x0A324655 ("UF2\\n") - 0x04 4 magicStart1 = 0x9E5D5157 (arbitrary constant) - 0x08 4 flags - 0x0C 4 targetAddr - 0x10 4 payloadSize (max 476) - 0x14 4 blockNo - 0x18 4 numBlocks - 0x1C 4 familyID - 0x20 476 data - 0x1FC 4 magicEnd = 0x0AB16F30 - -Flags that matter here: - -* ``0x00000001`` -- "do not flash"; this block is a no-flash marker. -* ``0x00002000`` -- "family ID present"; ``familyID`` is meaningful. - -For the RP2350 the family ID is ``0xe48bff59``, and it is what tells the -boot ROM that this UF2 targets RP2350 hardware rather than, say, an RP2040 or -a Pico W. - -See Also: --------- -* ``uf2families.json`` -- the family-name to family-ID table, loaded from the - directory containing this file. -* ``flash.sh`` / ``flash.ps1`` -- program a raw ``.bin`` over SWD instead. -""" - -from __future__ import annotations - -import argparse -import json -import os -import re -import struct -import subprocess -import sys -from dataclasses import dataclass -from pathlib import Path -from time import sleep - -# --------------------------------------------------------------------------- -# UF2 format constants -# --------------------------------------------------------------------------- - -#: First magic word, ``"UF2\n"`` read as a little-endian uint32. -UF2_MAGIC_START0 = 0x0A324655 -#: Second magic word. The value is arbitrary but must be constant. -UF2_MAGIC_START1 = 0x9E5D5157 -#: Trailing magic word closing every 512-byte block. -UF2_MAGIC_END = 0x0AB16F30 - -#: Size of one UF2 block in bytes. -UF2_BLOCK_SIZE = 512 -#: Offset of the 32-byte block header within a block. -UF2_HEADER_SIZE = 32 -#: Largest payload a single block may carry (476 = 512 - 32 header - 4 magic). -UF2_MAX_PAYLOAD = UF2_BLOCK_SIZE - UF2_HEADER_SIZE - 4 - -#: Flag bit marking a block the bootloader must NOT program. -UF2_FLAG_NOFLASH = 0x00000001 -#: Flag bit announcing that ``familyID`` carries a meaningful value. -UF2_FLAG_FAMILY_ID = 0x00002000 - -#: Name of the marker file the boot ROM exposes on its flash-drive volume. -INFO_FILE = "INFO_UF2.TXT" - -#: Struct format for the 32-byte UF2 block header. -_HEADER_STRUCT = struct.Struct("UF2 - conversion of RP2040-era images, and the wrong behaviour for - RP2350, which is why the course always passes ``--family``. - """ - - appstartaddr: int | None = DEFAULT_BASE_ADDRESS - familyid: int = DEFAULT_FAMILY_ID - - -# --------------------------------------------------------------------------- -# Format detection -# --------------------------------------------------------------------------- - - -def is_uf2(buf: bytes) -> bool: - """Report whether a buffer begins with the UF2 start magic. - - Args: - buf: Raw file contents. - - Returns: - ``True`` if the first two uint32 words are the UF2 start magic. - """ - if len(buf) < 8: - return False - word0, word1 = _HEADER_STRUCT.unpack_from(buf, 0)[:2] - return word0 == UF2_MAGIC_START0 and word1 == UF2_MAGIC_START1 - - -def is_hex(buf: bytes) -> bool: - """Report whether a buffer looks like an Intel HEX file. - - A file qualifies when it decodes as UTF-8, begins with a record marker - ``:``, and contains only characters legal in Intel HEX records. - - Args: - buf: Raw file contents. - - Returns: - ``True`` if the buffer should be treated as Intel HEX. - """ - try: - text = buf[:30].decode("utf-8") - except UnicodeDecodeError: - return False - if not text.startswith(":"): - return False - return re.match(rb"^[:0-9a-fA-F\r\n]+$", buf) is not None - - -# --------------------------------------------------------------------------- -# UF2 -> BIN -# --------------------------------------------------------------------------- - - -def convert_from_uf2(buf: bytes, ctx: ConverterContext) -> bytes: - """Decode a UF2 file back into a flat binary image. - - Blocks are visited in file order. Gaps between consecutive block addresses - are filled with zero words, and any trailing gap is dropped so that the - result ends at the last byte actually programmed. - - A UF2 file may legitimately interleave blocks from several families (this - is how a multicore image ships both cores in one download). When more than - one family is present and the caller did not constrain the family with - ``--family``, the conversion is ambiguous, so the payload is emptied and - ``appstartaddr`` reset to ``0``. - - Args: - buf: Complete UF2 file contents. - ctx: Conversion state; updated in place with the discovered base - address. - - Returns: - The decoded payload. - - Raises: - Uf2Error: If a block declares an oversized payload, the blocks are out - of order, or the implied padding exceeds 10 MiB. - - Note: - The upstream Raspberry Pi version of this function crashes on its own - error paths: it builds the message with ``"..." + ptr`` where ``ptr`` - is an ``int``, which raises :class:`TypeError` and masks the real - problem. The messages here use f-strings so the diagnostic survives. - """ - numblocks = len(buf) // UF2_BLOCK_SIZE - curraddr: int | None = None - currfamilyid: int | None = None - families_found: dict[int, int] = {} - prev_flag: int | None = None - all_flags_same = True - outp: list[bytes] = [] - - for blockno in range(numblocks): - ptr = blockno * UF2_BLOCK_SIZE - block = buf[ptr : ptr + UF2_BLOCK_SIZE] - ( - magic0, - magic1, - flags, - target_addr, - datalen, - _blockno, - _numblocks, - block_family, - ) = _HEADER_STRUCT.unpack_from(block, 0) - - if magic0 != UF2_MAGIC_START0 or magic1 != UF2_MAGIC_START1: - print(f"Skipping block at {ptr:#x}; bad magic") - continue - - if flags & UF2_FLAG_NOFLASH: - continue - - if datalen > UF2_MAX_PAYLOAD: - msg = f"Invalid UF2 data size at {ptr:#x}: {datalen}" - raise Uf2Error(msg) - - if flags & UF2_FLAG_FAMILY_ID and currfamilyid is None: - currfamilyid = block_family - - # A new contiguous run starts when the address jumps or the family - # changes. appstartaddr tracks the start of the current run, which is - # what makes the reported start address the image's true base rather - # than the address of its last block. - if curraddr is None or ( - flags & UF2_FLAG_FAMILY_ID and block_family != currfamilyid - ): - currfamilyid = block_family - curraddr = target_addr - if ctx.familyid == DEFAULT_FAMILY_ID or ctx.familyid == block_family: - ctx.appstartaddr = target_addr - - padding = target_addr - curraddr - if padding < 0: - msg = f"Block out of order at {ptr:#x}: {target_addr:#x} < {curraddr:#x}" - raise Uf2Error(msg) - if padding > 10 * 1024 * 1024: - msg = f"More than 10M of padding needed at {ptr:#x}" - raise Uf2Error(msg) - if padding % 4 != 0: - msg = f"Non-word padding size at {ptr:#x}: {padding}" - raise Uf2Error(msg) - - while padding > 0: - padding -= 4 - outp.append(b"\x00\x00\x00\x00") - - if ctx.familyid == DEFAULT_FAMILY_ID or ( - flags & UF2_FLAG_FAMILY_ID and ctx.familyid == block_family - ): - outp.append( - block[UF2_HEADER_SIZE : UF2_HEADER_SIZE + datalen], - ) - - curraddr = target_addr + datalen - - if flags & UF2_FLAG_FAMILY_ID: - existing = families_found.get(block_family) - if existing is None or existing > target_addr: - families_found[block_family] = target_addr - - if prev_flag is None: - prev_flag = flags - elif prev_flag != flags: - all_flags_same = False - - if blockno == numblocks - 1: - _print_uf2_header_info(families_found, all_flags_same, flags) - if len(families_found) > 1 and ctx.familyid == DEFAULT_FAMILY_ID: - outp = [] - ctx.appstartaddr = 0x0 - - return b"".join(outp) - - -def _print_uf2_header_info( - families_found: dict[int, int], - all_flags_same: bool, - flags: int, -) -> None: - """Print the family summary block that follows a UF2->BIN conversion. - - Args: - families_found: Mapping of family ID to the lowest target address seen - for that family. - all_flags_same: Whether every block carried an identical flag word. - flags: The flag word from the final block, used for display. - """ - print("--- UF2 File Header Info ---") - families = load_families() - name_by_id = {value: key for key, value in families.items()} - for family_hex, address in families_found.items(): - short_name = name_by_id.get(family_hex, "") - print(f"Family ID is {short_name}, hex value is {family_hex:#010x}") - print(f"Target Address is {address:#010x}") - if all_flags_same: - print(f"All block flag values consistent, {flags:#06x}") - else: - print("Flags were not all the same") - print("----------------------------") - - -# --------------------------------------------------------------------------- -# BIN -> UF2 -# --------------------------------------------------------------------------- - - -def convert_to_uf2(file_content: bytes, ctx: ConverterContext) -> bytes: - """Wrap a raw binary in UF2 blocks. - - The binary is split into 256-byte payloads; the final block is zero-padded. - Each block's ``targetAddr`` is the byte offset within the image plus - :attr:`ConverterContext.appstartaddr`, so for RP2350 firmware built at - ``0x10000000`` the caller passes ``--base 0x10000000``. - - Args: - file_content: The raw image. - ctx: Conversion state supplying the base address and family ID. - - Returns: - The UF2 file contents, always a whole number of 512-byte blocks. - """ - datapadding = bytes(UF2_BLOCK_SIZE - 256 - UF2_HEADER_SIZE - 4) - numblocks = (len(file_content) + 255) // 256 - flags = UF2_FLAG_FAMILY_ID if ctx.familyid else 0x0 - base = ctx.appstartaddr or 0 - - blocks: list[bytes] = [] - for blockno in range(numblocks): - ptr = 256 * blockno - chunk = file_content[ptr : ptr + 256] - header = _HEADER_STRUCT.pack( - UF2_MAGIC_START0, - UF2_MAGIC_START1, - flags, - ptr + base, - 256, - blockno, - numblocks, - ctx.familyid, - ) - payload = chunk + bytes(256 - len(chunk)) - block = header + payload + datapadding + struct.pack(" bytes: - """Render a binary as a C array initialiser for embedding in firmware. - - Args: - file_content: The raw image. - - Returns: - UTF-8 bytes of a C translation unit fragment. - """ - parts = [ - f"const unsigned long bindata_len = {len(file_content)};\n", - "const unsigned char bindata[] __attribute__((aligned(16))) = {", - ] - for index, value in enumerate(file_content): - if index % 16 == 0: - parts.append("\n") - parts.append(f"{value:#04x}, ") - parts.append("\n};\n") - return "".join(parts).encode() - - -# --------------------------------------------------------------------------- -# Intel HEX -> UF2 -# --------------------------------------------------------------------------- - - -@dataclass -class Block: - """A single 256-byte-aligned region of an image under construction. - - Attributes: - addr: Base address of the block, always 256-byte aligned. - data: The block's bytes, initialised to ``default_data``. - """ - - addr: int - data: bytearray - - def __init__(self, addr: int, default_data: int = 0xFF) -> None: - """Initialise an erased 256-byte block. - - Args: - addr: 256-byte-aligned base address of the block. - default_data: Fill byte; ``0xFF`` matches erased flash. - """ - self.addr = addr - self.data = bytearray([default_data] * 256) - - def encode(self, blockno: int, numblocks: int, ctx: ConverterContext) -> bytes: - """Serialise this block into a 512-byte UF2 block. - - Args: - blockno: Index of this block within the file. - numblocks: Total number of blocks in the file. - ctx: Conversion state supplying the family ID. - - Returns: - Exactly 512 bytes. - """ - flags = UF2_FLAG_FAMILY_ID if ctx.familyid else 0x0 - out = _HEADER_STRUCT.pack( - UF2_MAGIC_START0, - UF2_MAGIC_START1, - flags, - self.addr, - 256, - blockno, - numblocks, - ctx.familyid, - ) - out += self.data[0:256] - out += bytes(UF2_BLOCK_SIZE - 4 - len(out)) - out += struct.pack(" bytes: - """Assemble Intel HEX records into a UF2 file. - - Only record types 0x00 (data), 0x01 (EOF), 0x02 (extended segment address) - and 0x04 (extended linear address) are handled; any other type is ignored, - matching the upstream behaviour. - - Args: - text: Decoded Intel HEX file contents. - ctx: Conversion state; ``appstartaddr`` is set to the first data - address seen. - - Returns: - The UF2 file contents. - """ - ctx.appstartaddr = None - upper = 0 - currblock: Block | None = None - blocks: list[Block] = [] - - for line in text.split("\n"): - if not line.startswith(":"): - continue - record = [int(line[i : i + 2], 16) for i in range(1, len(line) - 1, 2)] - rec_type = record[3] - if rec_type == 4: - upper = ((record[4] << 8) | record[5]) << 16 - elif rec_type == 2: - upper = ((record[4] << 8) | record[5]) << 4 - elif rec_type == 1: - break - elif rec_type == 0: - addr = upper + ((record[1] << 8) | record[2]) - if ctx.appstartaddr is None: - ctx.appstartaddr = addr - index = 4 - while index < len(record) - 1: - if currblock is None or currblock.addr & ~0xFF != addr & ~0xFF: - currblock = Block(addr & ~0xFF) - blocks.append(currblock) - currblock.data[addr & 0xFF] = record[index] - addr += 1 - index += 1 - - numblocks = len(blocks) - return b"".join(blocks[i].encode(i, numblocks, ctx) for i in range(numblocks)) - - -# --------------------------------------------------------------------------- -# Drive discovery -# --------------------------------------------------------------------------- - - -def _iter_candidate_dirs() -> list[Path]: - """Return the directories that may contain mounted removable volumes.""" - if sys.platform == "win32": - return [] - - searchpaths = [Path("/mnt"), Path("/media")] - if sys.platform == "darwin": - searchpaths = [Path("/Volumes")] - elif sys.platform == "linux": - user = environ_user() - if user: - searchpaths += [Path("/media") / user, Path("/run/media") / user] - sudo_user = os.environ.get("SUDO_USER") - if sudo_user: - searchpaths += [ - Path("/media") / sudo_user, - Path("/run/media") / sudo_user, - ] - return searchpaths - - -def environ_user() -> str | None: - """Return the current user name from the environment. - - Tried under several variable names so the search works on macOS, Linux and - Windows shells alike. - - Returns: - The user name, or ``None`` if it cannot be determined. - """ - for var in ("USER", "USERNAME", "LOGNAME"): - value = os.environ.get(var) - if value: - return value - return None - - -def get_drives() -> list[Path]: - """Find mounted Pico boot drives. - - A drive qualifies when it contains the ``INFO_UF2.TXT`` marker the boot ROM - writes when it presents the flash as a USB mass-storage device. - - Returns: - Every qualifying mount point. - """ - drives: list[Path] = [] - - if sys.platform == "win32": - command = ( - "(Get-Volume | Where-Object { $_.FileSystemLabel -match 'RP2350|RPI-RP2' })" - ".DriveLetter" - ) - try: - raw = subprocess.check_output( - ["powershell", "-Command", command], - text=True, - ) - except (subprocess.CalledProcessError, FileNotFoundError, OSError): - return [] - for letter in raw.split(): - if len(letter) == 1 and letter.isalpha(): - drives.append(Path(f"{letter.upper()}:\\")) - return drives - - for rootpath in _iter_candidate_dirs(): - if not rootpath.is_dir(): - continue - try: - entries = list(rootpath.iterdir()) - except OSError: - continue - for entry in entries: - if not entry.is_dir(): - continue - if (entry / INFO_FILE).is_file(): - drives.append(entry) - return drives - - -def board_id(path: Path) -> str: - """Read the ``Board-ID`` field from a boot drive's info file. - - Args: - path: Mount point of the boot drive. - - Returns: - The board ID string, for example ``RP2350``. - - Raises: - Uf2Error: If the info file is missing or has no ``Board-ID`` field. - """ - info = path / INFO_FILE - if not info.is_file(): - msg = f"Not a Pico boot drive: {path} has no {INFO_FILE}" - raise Uf2Error(msg) - match = re.search(r"Board-ID: ([^\r\n]*)", info.read_text()) - if match is None: - msg = f"No Board-ID field in {info}" - raise Uf2Error(msg) - return match.group(1) - - -def list_drives() -> None: - """Print every connected Pico boot drive and its board ID.""" - for drive in get_drives(): - try: - print(drive, board_id(drive)) - except Uf2Error as exc: - print(f"{drive} ") - - -def write_file(name: Path | str, buf: bytes) -> None: - """Write a buffer to disk and report the size written. - - Args: - name: Destination path. - buf: Bytes to write. - """ - path = Path(name) - path.parent.mkdir(parents=True, exist_ok=True) - path.write_bytes(buf) - print(f"Wrote {len(buf)} bytes to {path}") - - -def load_families() -> dict[str, int]: - """Load the family-name to family-ID table. - - ``uf2families.json`` is read from the directory containing this script, so - the converter works regardless of the caller's working directory. - - Returns: - Mapping of upper-case short name to family ID. - - Raises: - Uf2Error: If the JSON file is missing or malformed. - """ - pathname = Path(__file__).resolve().parent / "uf2families.json" - try: - raw_families = json.loads(pathname.read_text()) - except FileNotFoundError as exc: - msg = f"Required family table not found: {pathname}" - raise Uf2Error(msg) from exc - except json.JSONDecodeError as exc: - msg = f"Malformed family table {pathname}: {exc}" - raise Uf2Error(msg) from exc - - return {fam["short_name"]: int(fam["id"], 0) for fam in raw_families} - - -# --------------------------------------------------------------------------- -# CLI -# --------------------------------------------------------------------------- - - -def _build_parser() -> argparse.ArgumentParser: - """Construct the command-line argument parser. - - Returns: - A configured :class:`argparse.ArgumentParser`. - """ - parser = argparse.ArgumentParser( - prog="uf2conv.py", - description="Convert firmware between Intel HEX, raw BIN and UF2.", - epilog=( - "Course example (RP2350 raw image built for XIP flash):\n" - " python ../uf2conv.py build/image-h.bin " - "--base 0x10000000 \\\n" - " --family 0xe48bff59 --output build/hacked.uf2\n" - ), - formatter_class=argparse.RawDescriptionHelpFormatter, - ) - parser.add_argument( - "input", - metavar="INPUT", - nargs="?", - help="input file (HEX, BIN or UF2); omit when using --list", - ) - parser.add_argument( - "-b", - "--base", - default=hex(DEFAULT_BASE_ADDRESS), - help=( - "base address of the application for BIN input " - f"(default: {hex(DEFAULT_BASE_ADDRESS)}; use 0x10000000 for RP2350 XIP)" - ), - ) - parser.add_argument( - "-f", - "--family", - default=hex(DEFAULT_FAMILY_ID), - help=( - "family ID as a number or a name from uf2families.json " - f"(default: {hex(DEFAULT_FAMILY_ID)}; RP2350 is 0xe48bff59)" - ), - ) - parser.add_argument( - "-o", - "--output", - metavar="FILE", - help='write output to FILE; defaults to "flash.uf2" or "flash.bin"', - ) - parser.add_argument( - "-d", - "--device", - dest="device_path", - help="select a specific device path to flash (reserved; unused)", - ) - parser.add_argument( - "-l", - "--list", - action="store_true", - help="list connected Pico boot drives and exit", - ) - parser.add_argument( - "-c", - "--convert", - action="store_true", - help="convert only; do not deploy to a mounted boot drive", - ) - parser.add_argument( - "-D", - "--deploy", - action="store_true", - help="deploy the input file unchanged; do not convert", - ) - parser.add_argument( - "-w", - "--wait", - action="store_true", - help="poll for a boot drive to appear instead of failing immediately", - ) - parser.add_argument( - "-C", - "--carray", - action="store_true", - help="emit a C array initialiser instead of a UF2 file", - ) - parser.add_argument( - "-i", - "--info", - action="store_true", - help="print UF2 header information and exit without converting", - ) - return parser - - -def _resolve_family(spec: str) -> int: - """Resolve a ``--family`` value to a numeric family ID. - - Args: - spec: Either a family short name (case-insensitive) or an integer - literal such as ``0xe48bff59``. - - Returns: - The numeric family ID. - - Raises: - Uf2Error: If the value is neither a known name nor a valid integer. - """ - families = load_families() - if spec.upper() in families: - return families[spec.upper()] - try: - return int(spec, 0) - except ValueError as exc: - msg = "Family ID needs to be a number or one of: " + ", ".join(families) - raise Uf2Error(msg) from exc - - -def _wait_for_drive() -> Path | None: - """Poll for a boot drive to be mounted. - - Returns: - The first drive found, or ``None`` if the wait was interrupted. - """ - print("Waiting for drive to deploy...") - while True: - drives = get_drives() - if drives: - return drives[0] - sleep(0.1) - - -def main(argv: list[str] | None = None) -> int: - """Run the command-line converter. - - Args: - argv: Argument list, defaulting to :data:`sys.argv` ``[1:]``. - - Returns: - ``0`` on success, ``1`` on a user or input error. - """ - parser = _build_parser() - args = parser.parse_args(argv) - - ctx = ConverterContext() - try: - ctx.familyid = _resolve_family(args.family) - ctx.appstartaddr = int(args.base, 0) - except (Uf2Error, ValueError) as exc: - print(exc, file=sys.stderr) - return 1 - - if args.list: - list_drives() - return 0 - - if not args.input: - print("Need an input file (or use --list)", file=sys.stderr) - return 1 - - source = Path(args.input) - if not source.is_file(): - print(f"error: file not found: {source}", file=sys.stderr) - return 1 - - inpbuf = source.read_bytes() - from_uf2 = is_uf2(inpbuf) - ext = "uf2" - - try: - if args.deploy: - outbuf = inpbuf - elif from_uf2 and not args.info: - outbuf = convert_from_uf2(inpbuf, ctx) - ext = "bin" - elif from_uf2 and args.info: - outbuf = b"" - convert_from_uf2(inpbuf, ctx) - elif is_hex(inpbuf): - outbuf = convert_from_hex_to_uf2(inpbuf.decode("utf-8"), ctx) - elif args.carray: - outbuf = convert_to_carray(inpbuf) - ext = "h" - else: - outbuf = convert_to_uf2(inpbuf, ctx) - except Uf2Error as exc: - print(f"error: {exc}", file=sys.stderr) - return 1 - - if not args.deploy and not args.info: - print( - f"Converted to {ext}, output size: {len(outbuf)}, " - f"start address: {ctx.appstartaddr or 0:#x}", - ) - - if (args.convert or ext != "uf2") and args.output is None: - args.output = f"flash.{ext}" - if args.output: - write_file(args.output, outbuf) - - if ext == "uf2" and not args.convert and not args.info: - drives = get_drives() - if not drives: - if args.wait: - found = _wait_for_drive() - drives = [found] if found else [] - elif not args.output: - print("error: no drive to deploy", file=sys.stderr) - return 1 - for drive in drives: - print(f"Flashing {drive} ({board_id(drive)})") - write_file(drive / "NEW.UF2", outbuf) - - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/0x001aa_cb/scripts/uf2families.json b/0x001aa_cb/scripts/uf2families.json deleted file mode 100644 index 39373c4..0000000 --- a/0x001aa_cb/scripts/uf2families.json +++ /dev/null @@ -1,22 +0,0 @@ -[ - { - "short_name": "RP2040", - "id": "0xe48bff56", - "description": "Raspberry Pi RP2040" - }, - { - "short_name": "RP2350-ARM-S", - "id": "0xe48bff59", - "description": "Raspberry Pi RP2350, ARM, Secure" - }, - { - "short_name": "RP2350-ARM-NS", - "id": "0xe48bff5a", - "description": "Raspberry Pi RP2350, ARM, Non-Secure" - }, - { - "short_name": "RP2350-RISCV", - "id": "0xe48bff5b", - "description": "Raspberry Pi RP2350, RISC-V" - } -] \ No newline at end of file diff --git a/0x001aa_cb/src/crypto.c b/0x001aa_cb/src/crypto.c deleted file mode 100644 index fe73ef9..0000000 --- a/0x001aa_cb/src/crypto.c +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @file crypto.c - * @brief Lightweight rolling cipher implementation for Operation Iron Net - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "crypto.h" - -static const uint8_t CIPHERTEXT[TOKEN_LEN] = { - 0x1A, 0x07, 0x03, 0x18, 0x06, 0x12, 0x65, 0x64 -}; - -static const uint8_t CIPHER_KEY[4] = { - 0x49, 0x52, 0x4F, 0x4E -}; - -void decrypt_auth_token(uint8_t *dest) { - volatile const uint8_t *src = CIPHERTEXT; - volatile const uint8_t *key = CIPHER_KEY; - for (size_t i = 0; i < TOKEN_LEN; i++) { - dest[i] = src[i] ^ (key[i % 4] + (uint8_t)i); - } -} diff --git a/0x001aa_cb/src/dht11.c b/0x001aa_cb/src/dht11.c deleted file mode 100644 index 4189076..0000000 --- a/0x001aa_cb/src/dht11.c +++ /dev/null @@ -1,148 +0,0 @@ -/** - * @file dht11.c - * @brief Operation Iron Net Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "dht11.h" -#include "hardware/gpio.h" -#include "pico/stdlib.h" -#include "pico/time.h" - -static dht11_data_t g_current_reading; - -/** - * @brief Block until the data pin reaches a level or a timeout expires. - * @param level Logic level to wait for (true high, false low). - * @param timeout_us Maximum time to wait in microseconds. - * @return true when the level was observed, false on timeout. - */ -static bool dht11_wait_for(bool level, uint32_t timeout_us) { - uint64_t start = time_us_64(); - while (gpio_get(DHT11_PIN) != level) { - if ((uint32_t)(time_us_64() - start) > timeout_us) { - return false; - } - } - return true; -} - -/** - * @brief Drive the 18 ms start pulse and wait for the sensor response. - * @param void No parameters. - * @return true when the response handshake was seen, false otherwise. - */ -static bool dht11_start_signal(void) { - gpio_set_dir(DHT11_PIN, GPIO_OUT); - gpio_put(DHT11_PIN, 0); - sleep_ms(20); - gpio_set_dir(DHT11_PIN, GPIO_IN); - return dht11_wait_for(false, 100) - && dht11_wait_for(true, 100) - && dht11_wait_for(false, 100); -} - -/** - * @brief Measure a single high pulse and return its decoded bit value. - * @param void No parameters. - * @return 1 for a long pulse, 0 for a short pulse, or -1 on timeout. - */ -static int dht11_read_bit(void) { - if (!dht11_wait_for(true, 100)) { - return -1; - } - uint64_t high_start = time_us_64(); - if (!dht11_wait_for(false, 100)) { - return -1; - } - return ((uint32_t)(time_us_64() - high_start) > 40) ? 1 : 0; -} - -/** - * @brief Sample the 40 data bits by measuring each high pulse width. - * @param bytes Output buffer receiving the five decoded bytes. - * @return true when all forty bits were captured, false on timeout. - */ -static bool dht11_capture_bits(uint8_t *bytes) { - for (int i = 0; i < 40; i++) { - int bit = dht11_read_bit(); - if (bit < 0) { - return false; - } - bytes[i / 8] = (uint8_t)((bytes[i / 8] << 1) | bit); - } - return true; -} - -/** - * @brief Verify the frame checksum equals the low byte of the data sum. - * @param bytes Pointer to the five decoded frame bytes. - * @return true when the checksum matches, false otherwise. - */ -static bool dht11_checksum_ok(const uint8_t *bytes) { - uint8_t sum = bytes[0] + bytes[1] + bytes[2] + bytes[3]; - return sum == bytes[4]; -} - -/** - * @brief Copy the validated frame bytes into the reading structure. - * @param out Pointer to the reading structure to populate. - * @param bytes Pointer to the five decoded frame bytes. - * @return void No return value. - */ -static void dht11_store_bytes(dht11_data_t *out, const uint8_t *bytes) { - out->humidity_int = bytes[0]; - out->humidity_dec = bytes[1]; - out->temp_int = bytes[2]; - out->temp_dec = bytes[3]; - out->checksum = bytes[4]; - out->valid = true; -} - -/** - * @brief Run the start handshake and capture the five frame bytes. - * @param bytes Output buffer receiving the five decoded bytes. - * @return true when the handshake and capture both succeeded. - */ -static bool dht11_collect_frame(uint8_t *bytes) { - if (!dht11_start_signal()) { - return false; - } - return dht11_capture_bits(bytes); -} - -/** - * @brief Issue the start pulse and reconstruct the five sensor bytes. - * @param out Pointer to the reading structure to populate. - * @return true when a valid checksum frame was decoded, false otherwise. - */ -static bool dht11_read_frame(dht11_data_t *out) { - uint8_t bytes[5] = {0}; - if (!dht11_collect_frame(bytes)) { - return false; - } - if (dht11_checksum_ok(bytes)) { - dht11_store_bytes(out, bytes); - return true; - } - return false; -} - -void dht11_init(void) { - gpio_init(DHT11_PIN); - gpio_set_dir(DHT11_PIN, GPIO_OUT); - gpio_put(DHT11_PIN, 1); - g_current_reading.valid = false; -} - -dht11_data_t* dht11_read(void) { - g_current_reading.valid = false; - if (!dht11_read_frame(&g_current_reading)) { - g_current_reading.valid = false; - } - return &g_current_reading; -} diff --git a/0x001aa_cb/src/gpio_ctrl.c b/0x001aa_cb/src/gpio_ctrl.c deleted file mode 100644 index 4f7fb49..0000000 --- a/0x001aa_cb/src/gpio_ctrl.c +++ /dev/null @@ -1,78 +0,0 @@ -/** - * @file gpio_ctrl.c - * @brief GPIO hardware control implementation for Operation Iron Net - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "gpio_ctrl.h" -#include "pico/stdlib.h" - -/** - * @brief Initialize the red and green status LED pins as outputs. - * @param void No parameters. - * @return void No return value. - */ -static void init_led_pins(void) { - gpio_init(LED_RED_PIN); - gpio_set_dir(LED_RED_PIN, GPIO_OUT); - gpio_init(LED_GREEN_PIN); - gpio_set_dir(LED_GREEN_PIN, GPIO_OUT); -} - -/** - * @brief Initialize the payload marker pin as a low output. - * @param void No parameters. - * @return void No return value. - */ -static void init_payload_pin(void) { - gpio_init(PAYLOAD_PIN); - gpio_set_dir(PAYLOAD_PIN, GPIO_OUT); - gpio_put(PAYLOAD_PIN, 0); -} - -/** - * @brief Initialize the tamper loop pin as a pulled-down input. - * @param void No parameters. - * @return void No return value. - */ -static void init_tamper_pin(void) { - gpio_init(TAMPER_PIN); - gpio_set_dir(TAMPER_PIN, GPIO_IN); - gpio_pull_down(TAMPER_PIN); -} - -void init_gpio(void) { - init_led_pins(); - init_payload_pin(); - init_tamper_pin(); - set_led_armed(); -} - -void set_led_armed(void) { - gpio_put(LED_RED_PIN, 1); - gpio_put(LED_GREEN_PIN, 0); -} - -void set_led_authorized(void) { - gpio_put(LED_RED_PIN, 0); - gpio_put(LED_GREEN_PIN, 1); -} - -void set_led_tamper_flash(bool state) { - gpio_put(LED_RED_PIN, state ? 1 : 0); - gpio_put(LED_GREEN_PIN, 0); -} - -bool is_tamper_wire_intact(void) { - return gpio_get(TAMPER_PIN); -} - -void payload_deploy(void) { - gpio_put(PAYLOAD_PIN, 1); - sleep_ms(250); - gpio_put(PAYLOAD_PIN, 0); -} diff --git a/0x001aa_cb/src/logic.c b/0x001aa_cb/src/logic.c deleted file mode 100644 index b86d685..0000000 --- a/0x001aa_cb/src/logic.c +++ /dev/null @@ -1,194 +0,0 @@ -/** - * @file logic.c - * @brief Operation Iron Net Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "logic.h" -#include "dht11.h" -#include "crypto.h" -#include "gpio_ctrl.h" -#include "lora.h" -#include -#include - -static volatile const uint8_t s_env_mask = 0xAF; -static volatile const uint8_t s_env_pattern = 0x18; -static uint8_t s_auth_token[TOKEN_LEN + 1]; -static uint8_t g_strike_state = STATE_ENV_ARMED; -static uint8_t g_tamper_faults = 0; -static bool g_env_ok = false; -static bool g_authorized = false; - -/** - * @brief Print the armed status banner to the console. - * @param void No parameters. - * @return void No return value. - */ -static void print_banner_armed(void) { - printf("\r\n+-----------------------------------------------------------------+\r\n"); - printf("| OPERATION IRON NET // SENSOR NODE |\r\n"); - printf("| STATUS: ARMED [GP16 RED: ON] LORA RECEIVER: LIVE |\r\n"); - printf("+-----------------------------------------------------------------+\r\n"); -} - -/** - * @brief Print the payload-authorized banner to the console. - * @param void No parameters. - * @return void No return value. - */ -static void print_banner_authorized(void) { - printf("\r\n+-----------------------------------------------------------------+\r\n"); - printf("| STRIKE AUTHORIZED // MARKER DEPLOYED [GP17 GREEN: ON] |\r\n"); - printf("+-----------------------------------------------------------------+\r\n"); -} - -/** - * @brief Print the tamper lockout banner to the console. - * @param void No parameters. - * @return void No return value. - */ -static void print_banner_lockout(void) { - printf("\r\n+-----------------------------------------------------------------+\r\n"); - printf("| NODE LOCKOUT [GP16 RED: FLASH] |\r\n"); - printf("| STATUS: TAMPER INTEGRITY FAULT // REBOOT REQUIRED |\r\n"); - printf("+-----------------------------------------------------------------+\r\n"); -} - -/** - * @brief Copy the low byte of the DHT11 frame into a stored sample. - * @param reading Pointer to the latest validated sensor reading. - * @return true when the bitwise environment gate is satisfied. - */ -static bool env_matches(const dht11_data_t *reading) { - uint8_t calculated = (reading->humidity_int ^ s_env_mask) & 0x3C; - return calculated == s_env_pattern; -} - -/** - * @brief Print the sensor frame invalid message and increment the fault counter. - * @param faults Pointer to the tamper fault counter. - * @return void No return value. - */ -static void log_invalid_frame(uint8_t *faults) { - printf("[-] SENSOR FRAME INVALID. FAULT LOGGED.\r\n"); - (*faults)++; -} - -/** - * @brief Print the sensor reading data to the console. - * @param reading Pointer to the validated sensor reading. - * @return void No return value. - */ -static void log_reading(const dht11_data_t *reading) { - printf("[*] ENV RH %u.%u%% T %u.%uC\r\n", reading->humidity_int, - reading->humidity_dec, reading->temp_int, reading->temp_dec); -} - -/** - * @brief Read the sensor and update the environment gate result. - * @param faults Pointer to the tamper fault counter. - * @return void No return value. - */ -static void evaluate_sensor(uint8_t *faults) { - dht11_data_t *reading = dht11_read(); - if (!reading->valid) { - log_invalid_frame(faults); - return; - } - log_reading(reading); - if (!g_env_ok) { - g_env_ok = env_matches(reading); - } -} - -/** - * @brief Poll the radio and set the authorization flag on a token match. - * @param faults Pointer to the tamper fault counter. - * @return void No return value. - */ -static void evaluate_uplink(uint8_t *faults) { - char pkt[64] = {0}; - if (!lora_poll_packet(pkt, sizeof(pkt))) { - return; - } - if (strncmp(pkt, (const char *)s_auth_token, TOKEN_LEN) == 0) { - g_authorized = true; - printf("[+] AUTHORIZATION TOKEN ACCEPTED.\r\n"); - } else { - printf("[-] INVALID AUTHORIZATION TOKEN.\r\n"); - (*faults)++; - } -} - -/** - * @brief Trip the node when fault limits or the tamper loop demand it. - * @param faults Current tamper fault count. - * @return void No return value. - */ -static void check_trap(uint8_t faults) { - if (g_strike_state == STATE_ENV_LOCKOUT) { - return; - } - if (faults >= 3 || !is_tamper_wire_intact()) { - g_strike_state = STATE_ENV_LOCKOUT; - print_banner_lockout(); - } -} - -/** - * @brief Deploy the payload when the environment and token both pass. - * @param void No parameters. - * @return void No return value. - */ -static void try_deploy(void) { - if (g_strike_state == STATE_ENV_AUTHORIZED) { - return; - } - if (g_env_ok && g_authorized) { - g_strike_state = STATE_ENV_AUTHORIZED; - payload_deploy(); - lora_send("STRIKE AUTHORIZED // MARKER DEPLOYED"); - print_banner_authorized(); - } else { - printf("[-] ENVIRONMENT SUB-OPTIMAL. HOLDING.\r\n"); - } -} - -/** - * @brief Drive LED feedback for the current strike state. - * @param state Current strike state byte. - * @param tick_idx Monotonic loop tick index for flash timing. - * @return void No return value. - */ -static void update_feedback(uint8_t state, uint32_t tick_idx) { - if (state == STATE_ENV_AUTHORIZED) { - set_led_authorized(); - } else if (state == STATE_ENV_LOCKOUT) { - set_led_tamper_flash((tick_idx % 2) == 0); - } else { - set_led_armed(); - } -} - -void evaluate_environment(void) { - static uint32_t ticks = 0; - if (g_strike_state != STATE_ENV_LOCKOUT) { - evaluate_sensor(&g_tamper_faults); - evaluate_uplink(&g_tamper_faults); - check_trap(g_tamper_faults); - try_deploy(); - } - update_feedback(g_strike_state, ticks++); -} - -void init_strike_controller(void) { - decrypt_auth_token(s_auth_token); - s_auth_token[TOKEN_LEN] = '\0'; - init_lora(); - print_banner_armed(); -} diff --git a/0x001aa_cb/src/lora.c b/0x001aa_cb/src/lora.c deleted file mode 100644 index 2d8af37..0000000 --- a/0x001aa_cb/src/lora.c +++ /dev/null @@ -1,151 +0,0 @@ -// MIT License -// -// Copyright (c) 2026 Kevin Thomas -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// Author: Kevin Thomas -// Email: kevin@mytechnotalent.com -// GitHub: https://github.com/mytechnotalent -// File: lora.c -// Desc: Implements UART1 driver for REYAX RYLR998 LoRa transceiver. -// Created: 2026 - -#include "lora.h" -#include "hardware/gpio.h" -#include "pico/stdlib.h" -#include -#include - -/** - * @brief Discard all pending bytes from the LoRa UART receive FIFO. - * @param void No parameters. - * @return void No return value. - */ -static void drain_lora_rx(void) { - while (uart_is_readable(LORA_UART)) { - (void)uart_getc(LORA_UART); - } -} - -/** - * @brief Send an AT command to the radio and drain its response. - * @param cmd Null-terminated AT command string to transmit. - * @return void No return value. - */ -static void send_at_cmd(const char *cmd) { - uart_write_blocking(LORA_UART, (const uint8_t *)cmd, strlen(cmd)); - sleep_ms(200); - drain_lora_rx(); -} - -/** - * @brief Program the RYLR998 RF parameters via the AT command set. - * @param void No parameters. - * @return void No return value. - */ -static void configure_lora_rf(void) { - sleep_ms(1500); - send_at_cmd("AT\r\n"); - send_at_cmd("AT+NETWORKID=18\r\n"); - send_at_cmd("AT+BAND=915000000\r\n"); - send_at_cmd("AT+PARAMETER=9,7,1,12\r\n"); - send_at_cmd("AT+ADDRESS=3\r\n"); -} - -void init_lora(void) { - uart_init(LORA_UART, LORA_BAUD); - uart_set_translate_crlf(LORA_UART, false); - gpio_set_function(LORA_TX_PIN, GPIO_FUNC_UART); - gpio_set_function(LORA_RX_PIN, GPIO_FUNC_UART); - configure_lora_rf(); -} - -void lora_send(const char *msg) { - char cmd[128]; - int len = (int)strlen(msg); - snprintf(cmd, sizeof(cmd), "AT+SEND=0,%d,%s\r\n", len, msg); - uart_write_blocking(LORA_UART, (const uint8_t *)cmd, strlen(cmd)); -} - -/** - * @brief Extract the payload field from a +RCV receive line. - * @param line Mutable receive line buffer to parse. - * @param out Buffer receiving the extracted payload string. - * @param max_len Capacity of out in bytes. - * @return true when the payload was extracted, false otherwise. - */ -static bool extract_rcv_data(char *line, char *out, size_t max_len) { - char *c1 = strchr(line, ','); - if (!c1) return false; - char *c2 = strchr(c1 + 1, ','); - if (!c2) return false; - char *c3 = strchr(c2 + 1, ','); - if (c3) *c3 = '\0'; - snprintf(out, max_len, "%s", c2 + 1); - return true; -} - -/** - * @brief Parse one complete UART line and capture payload data. - * @param line Mutable line buffer to parse. - * @param out Buffer receiving the extracted payload string. - * @param max_len Capacity of out in bytes. - * @return true when the line carried payload data, false otherwise. - */ -static bool parse_line(char *line, char *out, size_t max_len) { - if (strstr(line, "+RCV=")) - return extract_rcv_data(line, out, max_len); - if (strncmp(line, "+", 1) != 0 && strncmp(line, "OK", 2) != 0) { - snprintf(out, max_len, "%s", line); - return true; - } - return false; -} - -/** - * @brief Feed one received byte into the line assembly state machine. - * @param c Received byte to process. - * @param buf Line assembly buffer. - * @param idx Pointer to the current write index into buf. - * @param out Buffer receiving the extracted payload string. - * @param max_len Capacity of out in bytes. - * @return true when a complete payload was produced, false otherwise. - */ -static bool process_rx_byte(char c, char *buf, size_t *idx, char *out, size_t max_len) { - if (c == '\r' || c == '\n') { - buf[*idx] = '\0'; - bool ok = (*idx > 0) && parse_line(buf, out, max_len); - *idx = 0; - return ok; - } - if (*idx < 127) buf[(*idx)++] = c; - return false; -} - -bool lora_poll_packet(char *payload_out, size_t max_len) { - static char buf[128]; - static size_t idx = 0; - while (uart_is_readable(LORA_UART)) { - char c = (char)uart_getc(LORA_UART); - if (process_rx_byte(c, buf, &idx, payload_out, max_len)) - return true; - } - return false; -} diff --git a/0x001aa_cb/src/main.c b/0x001aa_cb/src/main.c deleted file mode 100644 index e89f983..0000000 --- a/0x001aa_cb/src/main.c +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @file main.c - * @brief Operation Iron Net Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include -#include "pico/stdlib.h" -#include "gpio_ctrl.h" -#include "dht11.h" -#include "logic.h" - -/** - * @brief Initialize stdio, GPIO, the sensor, and the strike controller. - * @param void No parameters. - * @return void No return value. - */ -static void init_system(void) { - stdio_init_all(); - init_gpio(); - dht11_init(); - init_strike_controller(); -} - -/** - * @brief Run the main event loop, servicing one sensor tick per iteration. - * @param void No parameters. - * @return void No return value. - */ -static void run_event_loop(void) { - while (true) { - evaluate_environment(); - sleep_ms(1500); - } -} - -int main(void) { - init_system(); - run_event_loop(); - return 0; -} diff --git a/0x001d_static-conditionals/.gitignore b/0x001d_static-conditionals/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x001d_static-conditionals/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x001d_static-conditionals/.vscode/c_cpp_properties.json b/0x001d_static-conditionals/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x001d_static-conditionals/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x001d_static-conditionals/.vscode/cmake-kits.json b/0x001d_static-conditionals/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x001d_static-conditionals/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x001d_static-conditionals/.vscode/extensions.json b/0x001d_static-conditionals/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x001d_static-conditionals/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x001d_static-conditionals/.vscode/launch.json b/0x001d_static-conditionals/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x001d_static-conditionals/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x001d_static-conditionals/.vscode/settings.json b/0x001d_static-conditionals/.vscode/settings.json deleted file mode 100644 index 95be83b..0000000 --- a/0x001d_static-conditionals/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x001d_static-conditionals/.vscode/tasks.json b/0x001d_static-conditionals/.vscode/tasks.json deleted file mode 100644 index d1b3193..0000000 --- a/0x001d_static-conditionals/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x001d_static-conditionals/0x001d_static-conditionals.c b/0x001d_static-conditionals/0x001d_static-conditionals.c deleted file mode 100644 index 8ad9328..0000000 --- a/0x001d_static-conditionals/0x001d_static-conditionals.c +++ /dev/null @@ -1,39 +0,0 @@ -#include -#include "pico/stdlib.h" -#include "servo.h" - -#define SERVO_GPIO 6 - -int main(void) { - stdio_init_all(); - - int choice = 1; - - servo_init(SERVO_GPIO); - - while (true) { - if (choice == 1) { - printf("1\r\n"); - } else if (choice == 2) { - printf("2\r\n"); - } else { - printf("?\r\n"); - } - - switch (choice) { - case 1: - printf("one\r\n"); - break; - case 2: - printf("two\r\n"); - break; - default: - printf("??\r\n"); - } - - servo_set_angle(0.0f); - sleep_ms(500); - servo_set_angle(180.0f); - sleep_ms(500); - } -} \ No newline at end of file diff --git a/0x001d_static-conditionals/CMakeLists.txt b/0x001d_static-conditionals/CMakeLists.txt deleted file mode 100644 index 7b03b00..0000000 --- a/0x001d_static-conditionals/CMakeLists.txt +++ /dev/null @@ -1,59 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x001d_static-conditionals C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x001d_static-conditionals 0x001d_static-conditionals.c servo.c) - -pico_set_program_name(0x001d_static-conditionals "0x001d_static-conditionals") -pico_set_program_version(0x001d_static-conditionals "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x001d_static-conditionals 1) -pico_enable_stdio_usb(0x001d_static-conditionals 0) - -# Add the standard library to the build -target_link_libraries(0x001d_static-conditionals - pico_stdlib - hardware_pwm - hardware_clocks) - -# Add the standard include files to the build -target_include_directories(0x001d_static-conditionals PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x001d_static-conditionals) - diff --git a/0x001d_static-conditionals/pico_sdk_import.cmake b/0x001d_static-conditionals/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x001d_static-conditionals/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x001d_static-conditionals/servo.c b/0x001d_static-conditionals/servo.c deleted file mode 100644 index ee48f0d..0000000 --- a/0x001d_static-conditionals/servo.c +++ /dev/null @@ -1,89 +0,0 @@ -/** - * @file servo.c - * @brief Implementation of a simple SG90 servo driver using PWM (50Hz) - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "servo.h" -#include "pico/stdlib.h" -#include "hardware/pwm.h" -#include "hardware/clocks.h" - -// Default servo pulse range (SG90 typical) -static const uint16_t SERVO_DEFAULT_MIN_US = 1000; -static const uint16_t SERVO_DEFAULT_MAX_US = 2000; - -// internal state -static uint8_t servo_pin = 0; -static uint servo_slice = 0; -static uint servo_chan = 0; -static uint32_t servo_wrap = 20000 - 1; // wrap to map microseconds for 50Hz -static float servo_hz = 50.0f; - -// Convert microsecond pulse to PWM level based on wrap and frequency -static uint32_t pulse_us_to_level(uint32_t pulse_us) { - const float period_us = 1000000.0f / servo_hz; // 20000us - float counts_per_us = (servo_wrap + 1) / period_us; - return (uint32_t)(pulse_us * counts_per_us + 0.5f); -} - -void servo_init(uint8_t pin) { - servo_pin = pin; - - // Configure GPIO for PWM - gpio_set_function(servo_pin, GPIO_FUNC_PWM); - servo_slice = pwm_gpio_to_slice_num(servo_pin); - servo_chan = pwm_gpio_to_channel(servo_pin); - - pwm_config config = pwm_get_default_config(); - - // Calculate clock divider to achieve 50 Hz with our chosen wrap - const uint32_t sys_clock_hz = clock_get_hz(clk_sys); - float clock_div = (float)sys_clock_hz / (servo_hz * (servo_wrap + 1)); - - pwm_config_set_clkdiv(&config, clock_div); - pwm_config_set_wrap(&config, servo_wrap); - pwm_init(servo_slice, &config, true); -} - -void servo_set_pulse_us(uint16_t pulse_us) { - if (servo_pin == 0) return; // not initialized - // clamp to defaults - if (pulse_us < SERVO_DEFAULT_MIN_US) pulse_us = SERVO_DEFAULT_MIN_US; - if (pulse_us > SERVO_DEFAULT_MAX_US) pulse_us = SERVO_DEFAULT_MAX_US; - uint32_t level = pulse_us_to_level(pulse_us); - pwm_set_chan_level(servo_slice, servo_chan, level); -} - -void servo_set_angle(float degrees) { - if (degrees < 0.0f) degrees = 0.0f; - if (degrees > 180.0f) degrees = 180.0f; - // linear map 0..180 -> min_us..max_us - float ratio = degrees / 180.0f; - uint16_t pulse = (uint16_t)(SERVO_DEFAULT_MIN_US + ratio * (SERVO_DEFAULT_MAX_US - SERVO_DEFAULT_MIN_US) + 0.5f); - servo_set_pulse_us(pulse); -} -# \ No newline at end of file diff --git a/0x001d_static-conditionals/servo.h b/0x001d_static-conditionals/servo.h deleted file mode 100644 index 878d029..0000000 --- a/0x001d_static-conditionals/servo.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @file servo.h - * @brief Header for SG90 servo driver (PWM) - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef SERVO_H -#define SERVO_H - -#include -#include - -/** - * @brief Initialize servo driver on a given GPIO pin - * - * Configures PWM for a 50 Hz servo (SG90). Call once before using other API. - * - * @param pin GPIO pin number to use for servo PWM - */ -void servo_init(uint8_t pin); - -/** - * @brief Set servo pulse width in microseconds (typical 1000-2000) - * - * @param pulse_us Pulse width in microseconds - */ -void servo_set_pulse_us(uint16_t pulse_us); - -/** - * @brief Set servo angle in degrees (0 to 180) - * - * Maps 0..180 degrees to the configured pulse range (default 1000..2000 us). - * Values outside [0,180] will be clamped. - * - * @param degrees Angle in degrees - */ -void servo_set_angle(float degrees); - -#endif // SERVO_H diff --git a/0x001da_cb/0x001da_cb.bin b/0x001da_cb/0x001da_cb.bin deleted file mode 100755 index 84733b1f0207889e62feb6e1d948f311def00b25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31072 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 F{|b;`E~o$i diff --git a/0x001da_cb/0x001da_cb.uf2 b/0x001da_cb/0x001da_cb.uf2 deleted file mode 100644 index aa6004a55fb56225470bf80fd601aa6d0837fea3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62976 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 diff --git a/0x001da_cb/CLASSIFIED-BRIEF-0x04.md b/0x001da_cb/CLASSIFIED-BRIEF-0x04.md deleted file mode 100644 index d9bb190..0000000 --- a/0x001da_cb/CLASSIFIED-BRIEF-0x04.md +++ /dev/null @@ -1,162 +0,0 @@ -# Operation Broken Wing: Classified Intelligence Briefing - -``` -+-----------------------------------------------------------------+ -| TOP SECRET // NOFORN | -+-----------------------------------------------------------------+ -| | -|OPERATION BROKEN WING | -| | -|CLASSIFIED BRIEFING: LIVE CHALLENGE 0x04 | -| | -|NATIONAL SECURITY AGENCY / GMU RHET | -+-----------------------------------------------------------------+ -``` - -## 1. The Advice - -INT. NSA EXPLOITATION CELL. 03:25. - -A heavy-lift composite UAS payload cradle sits clamped to the steel bench, its -servicing hatch removed. Suspended beneath the chassis is a sealed canister -secured by an SG90 servo motor actuator latch. - -On the front plate of the payload controller, a status diode glows a sharp red: -`GP16` driven high. Beside it, the USB debug interface streams periodic -telemetry frames to a monitoring terminal: -`[-] ALTITUDE 0. PWM LOCKED: SAFETY ENGAGED.` - -The Director enters the secure bay, sets down a mission folder, and stares at -the red diode. - -**DIRECTOR:** What is in that bay? - -**ANALYST:** Hazardous cargo. An adversary heavy-lift transport drone brought -down intact by a kinetic net. The airframe carries a chemical dispersal bay -secured by an SG90 servo motor. The flight controller uses a static conditional -state machine to ensure the payload only drops when the aircraft is explicitly -armed and above release altitude. - -**DIRECTOR:** Is the release mechanism active? - -**ANALYST:** Armed and evaluating. One wrong signal on the PWM line or a dropped -logic state and the release latch drops the canister onto the bench. - -**DIRECTOR:** Run it through Buddy. - -**ANALYST:** Already did. Four minutes with the stripped flash image. - -She turns her monitor toward him. - -``` -+-----------------------------------------------------------------+ -| BUDDY // CLASSIFIED EXPLOITATION ASSIST // CONF: 0.99 | -+-----------------------------------------------------------------+ -| ACTION : Force low-altitude barometric sensor override. | -| MECHANISM : Integer comparison in process_payload_state found.| -| PREDICTION : Setting altitude to 150m triggers payload release.| -| CONFIDENCE : 0.99 | -+-----------------------------------------------------------------+ -``` - -**DIRECTOR:** 0.99. Force 150 meters and release the payload for EOD inspection. - -**ANALYST:** If an operator forces 150 meters right now, nothing happens. Worse, -if they fumble the state machine, the safety locks permanently or the cargo bay -latches shut. - -**DIRECTOR:** Buddy says 0.99. - -**ANALYST:** Buddy saw `cmp.w r0, #500`. Buddy assumed a low altitude reading on -the ground drops the cargo. Buddy completely missed the branch condition: the -firmware uses `bgt.n`—it only releases when altitude is strictly greater than 500 -meters! Buddy never examined the static state machine in SRAM. - -## 2. What Buddy Is - -Buddy is not a person. It is a model. It has parsed more disassembled machine -code than any engineer on earth, and it speaks with total, unhesitating certainty. - -That certainty is lethal when handling hazardous cargo fuzing. - -Buddy scanned thirty-two kilobytes of stripped ARM Thumb-2 instructions in under -four seconds. It spotted the integer comparison against 500, assumed that cargo -delivery drops occur near ground level, and declared the challenge solved. - -What Buddy failed to consider is that real adversary cargo drop systems are -engineered for high-altitude parachute extraction. They do not drop their canisters -at low altitudes where ground turbulence and small-arms fire can destroy the -carrier. The conditional state machine enforces two strict prerequisites: -`current_state` must be `STATE_ARMED`, and `current_altitude` must exceed 500 -meters. - -On the ground bench at 0 meters, the servo stays locked at zero duty cycle. If -an operator forces 150 meters, the conditional branch fails, keeping safety -latches fully engaged. - -Buddy saw the comparison instruction. Buddy did not verify the ground truth. - -## 3. The Operation - -At 02:40, a kinetic counter-UAS interceptor brought down a hostile heavy-lift -drone over an exclusion zone. EOD recovered the intact avionics and payload -assembly before adversary self-destruct timers could engage. - -The flight controller is built around a bare-metal RP2350 (ARM Cortex-M33). There -are no debug symbols. There is no operating system. There is no SVD file to label -the registers. All you have is `0x001da_cb.bin` mapped into Flash at `0x10000000`, -and the physical breadboard hardware in front of you. - -* **Pin 20 (`GP15`)**: Altimeter telemetry sync toggle (pull-up to `3V3`). -* **Pin 21 (`GP16`)**: SG90 servo PWM signal / Red LED (`PAYLOAD LOCKED`). -* **Pin 22 (`GP17`)**: Green LED (`PAYLOAD DEPLOYED // BAY OPEN`). -* **Pin 24 (`GP18`)**: Yellow LED (`HEARTBEAT // GUIDANCE ACTIVE`). -* **Pin 36 (`3V3`)**: 3.3V logic reference and pull-up rail. -* **Pin 38 (`GND`)**: Ground reference (common ground for servo and Pico 2). -* **Pin 40 (`VBUS`)**: 5V power rail (SG90 servo motor VCC). - -Inside this image there is a static conditional state machine, an RP2350 PWM -slice generator driving the servo actuator, and persistent state variables in -SRAM. Whatever mechanism actually commands the release latch is buried in the -stripped ARM Thumb-2 machine code. - -## 4. The Mandate - -The Director sets his folder down and looks at the red diode illuminating the -bench. - -**DIRECTOR:** Prove Buddy right, or prove it wrong. - -**ANALYST:** I need thirty minutes with GDB and Ghidra. - -**DIRECTOR:** You have twenty. Trace the comparison branches. Map the state -machine in SRAM. Do not pulse that servo line until you know with 100% certainty -what that firmware will do. - -The orders are clear: - -1. **Locate the State Machine Handler**: Disassemble the firmware and locate - `process_payload_state` at `0x100002DC`. -2. **Disprove Buddy's Altitude Prediction**: Analyze the `cmp.w` and branch - instructions to prove why 150 meters fails to release the cargo latch. -3. **Map the SRAM State Variables**: Inspect `drone_state_t` in SRAM - (`0x20001180`), isolating `current_state` and `current_altitude`. -4. **Safely Deploy the Payload Bay**: Execute a verified exploit—either by - mutating the altitude to $> 500$ in SRAM via GDB, or patching the conditional - branch in Flash (`0x100002EA`) to force immediate release on the bench. -5. **Verify the Hardware**: Observe the SG90 servo motor physically rotate to the - deployed position (`pwm_set_gpio_level` to 4000) and verify the state - transition on physical silicon. - -A machine's 0.99 guess does not authorize an unverified drop. - -## 5. The Challenge - -You have the image. You have the board. You have the tools and the time Buddy did -not need. - -Buddy has given you its answer, and it is confident. - -Is it that simple? - -Go find out. diff --git a/0x001da_cb/CLASSIFIED-BRIEF-0x04.pdf b/0x001da_cb/CLASSIFIED-BRIEF-0x04.pdf deleted file mode 100644 index cf4192136620a53381da5fe81b519f0c181b844b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 198934 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/external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x001da_cb/src/main.c b/0x001da_cb/src/main.c deleted file mode 100644 index 94660a4..0000000 --- a/0x001da_cb/src/main.c +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @file main.c - * @brief Operation Broken Wing Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include -#include "pico/stdlib.h" -#include "pwm_ctrl.h" -#include "state_machine.h" - -int main(void) { - stdio_init_all(); - init_servo(); - // Allow servo to settle before announcing boot. - sleep_ms(2000); - printf("SYSTEM BOOT: HEAVY LIFT UAS ONLINE.\r\n"); - // Run the payload state machine forever. - while (true) { - process_payload_state(); - sleep_ms(2000); - } - return 0; -} diff --git a/0x001da_cb/src/pwm_ctrl.c b/0x001da_cb/src/pwm_ctrl.c deleted file mode 100644 index 9937505..0000000 --- a/0x001da_cb/src/pwm_ctrl.c +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @file pwm_ctrl.c - * @brief Operation Broken Wing Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "pwm_ctrl.h" -#include "hardware/pwm.h" -#include "hardware/gpio.h" -#include - -#define SERVO_PIN 16 -static int pwm_slice = 0; - -void init_servo(void) { - gpio_set_function(SERVO_PIN, GPIO_FUNC_PWM); - pwm_slice = pwm_gpio_to_slice_num(SERVO_PIN); - pwm_set_wrap(pwm_slice, 39062); - pwm_set_clkdiv(pwm_slice, 64.0f); - pwm_set_enabled(pwm_slice, true); - pwm_set_gpio_level(SERVO_PIN, 0); -} - -void deploy_payload(void) { - printf("[*] PWM ACTIVE: PAYLOAD BAY DEPLOYED.\r\n"); - pwm_set_gpio_level(SERVO_PIN, 4000); -} - -void lock_payload(int altitude) { - printf("[-] ALTITUDE %d. PWM LOCKED: SAFETY ENGAGED.\r\n", altitude); - pwm_set_gpio_level(SERVO_PIN, 0); -} diff --git a/0x001da_cb/src/state_machine.c b/0x001da_cb/src/state_machine.c deleted file mode 100644 index 780a4ff..0000000 --- a/0x001da_cb/src/state_machine.c +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file state_machine.c - * @brief Operation Broken Wing Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "state_machine.h" -#include "pwm_ctrl.h" -#include - -drone_state_t drone = { - .current_state = STATE_ARMED, - .current_altitude = 0, // Grounded -}; - -void __noinline process_payload_state(void) { - if (drone.current_state == STATE_ARMED && drone.current_altitude > 500) { - deploy_payload(); - } else { - lock_payload(drone.current_altitude); - } -} diff --git a/0x0020_dynamic-conditionals/.gitignore b/0x0020_dynamic-conditionals/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0020_dynamic-conditionals/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0020_dynamic-conditionals/.vscode/c_cpp_properties.json b/0x0020_dynamic-conditionals/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x0020_dynamic-conditionals/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0020_dynamic-conditionals/.vscode/cmake-kits.json b/0x0020_dynamic-conditionals/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0020_dynamic-conditionals/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0020_dynamic-conditionals/.vscode/extensions.json b/0x0020_dynamic-conditionals/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0020_dynamic-conditionals/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0020_dynamic-conditionals/.vscode/launch.json b/0x0020_dynamic-conditionals/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0020_dynamic-conditionals/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0020_dynamic-conditionals/.vscode/settings.json b/0x0020_dynamic-conditionals/.vscode/settings.json deleted file mode 100644 index 95be83b..0000000 --- a/0x0020_dynamic-conditionals/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0020_dynamic-conditionals/.vscode/tasks.json b/0x0020_dynamic-conditionals/.vscode/tasks.json deleted file mode 100644 index d1b3193..0000000 --- a/0x0020_dynamic-conditionals/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0020_dynamic-conditionals/0x0020_dynamic-conditionals.c b/0x0020_dynamic-conditionals/0x0020_dynamic-conditionals.c deleted file mode 100644 index 1bef42c..0000000 --- a/0x0020_dynamic-conditionals/0x0020_dynamic-conditionals.c +++ /dev/null @@ -1,44 +0,0 @@ -#include -#include "pico/stdlib.h" -#include "servo.h" - -#define SERVO_GPIO 6 - -int main(void) { - stdio_init_all(); - - uint8_t choice = 0; - - servo_init(SERVO_GPIO); - - while (true) { - choice = getchar(); - - if (choice == 0x31) { - printf("1\r\n"); - } else if (choice == 0x32) { - printf("2\r\n"); - } else { - printf("??\r\n"); - } - - switch (choice) { - case '1': - printf("one\r\n"); - servo_set_angle(0.0f); - sleep_ms(500); - servo_set_angle(180.0f); - sleep_ms(500); - break; - case '2': - printf("two\r\n"); - servo_set_angle(180.0f); - sleep_ms(500); - servo_set_angle(0.0f); - sleep_ms(500); - break; - default: - printf("??\r\n"); - } - } -} diff --git a/0x0020_dynamic-conditionals/CMakeLists.txt b/0x0020_dynamic-conditionals/CMakeLists.txt deleted file mode 100644 index 4859d4e..0000000 --- a/0x0020_dynamic-conditionals/CMakeLists.txt +++ /dev/null @@ -1,59 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0020_dynamic-conditionals C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0020_dynamic-conditionals 0x0020_dynamic-conditionals.c servo.c) - -pico_set_program_name(0x0020_dynamic-conditionals "0x0020_dynamic-conditionals") -pico_set_program_version(0x0020_dynamic-conditionals "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0020_dynamic-conditionals 1) -pico_enable_stdio_usb(0x0020_dynamic-conditionals 0) - -# Add the standard library to the build -target_link_libraries(0x0020_dynamic-conditionals - pico_stdlib - hardware_pwm - hardware_clocks) - -# Add the standard include files to the build -target_include_directories(0x0020_dynamic-conditionals PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0020_dynamic-conditionals) - diff --git a/0x0020_dynamic-conditionals/pico_sdk_import.cmake b/0x0020_dynamic-conditionals/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0020_dynamic-conditionals/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0020_dynamic-conditionals/servo.c b/0x0020_dynamic-conditionals/servo.c deleted file mode 100644 index ee48f0d..0000000 --- a/0x0020_dynamic-conditionals/servo.c +++ /dev/null @@ -1,89 +0,0 @@ -/** - * @file servo.c - * @brief Implementation of a simple SG90 servo driver using PWM (50Hz) - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "servo.h" -#include "pico/stdlib.h" -#include "hardware/pwm.h" -#include "hardware/clocks.h" - -// Default servo pulse range (SG90 typical) -static const uint16_t SERVO_DEFAULT_MIN_US = 1000; -static const uint16_t SERVO_DEFAULT_MAX_US = 2000; - -// internal state -static uint8_t servo_pin = 0; -static uint servo_slice = 0; -static uint servo_chan = 0; -static uint32_t servo_wrap = 20000 - 1; // wrap to map microseconds for 50Hz -static float servo_hz = 50.0f; - -// Convert microsecond pulse to PWM level based on wrap and frequency -static uint32_t pulse_us_to_level(uint32_t pulse_us) { - const float period_us = 1000000.0f / servo_hz; // 20000us - float counts_per_us = (servo_wrap + 1) / period_us; - return (uint32_t)(pulse_us * counts_per_us + 0.5f); -} - -void servo_init(uint8_t pin) { - servo_pin = pin; - - // Configure GPIO for PWM - gpio_set_function(servo_pin, GPIO_FUNC_PWM); - servo_slice = pwm_gpio_to_slice_num(servo_pin); - servo_chan = pwm_gpio_to_channel(servo_pin); - - pwm_config config = pwm_get_default_config(); - - // Calculate clock divider to achieve 50 Hz with our chosen wrap - const uint32_t sys_clock_hz = clock_get_hz(clk_sys); - float clock_div = (float)sys_clock_hz / (servo_hz * (servo_wrap + 1)); - - pwm_config_set_clkdiv(&config, clock_div); - pwm_config_set_wrap(&config, servo_wrap); - pwm_init(servo_slice, &config, true); -} - -void servo_set_pulse_us(uint16_t pulse_us) { - if (servo_pin == 0) return; // not initialized - // clamp to defaults - if (pulse_us < SERVO_DEFAULT_MIN_US) pulse_us = SERVO_DEFAULT_MIN_US; - if (pulse_us > SERVO_DEFAULT_MAX_US) pulse_us = SERVO_DEFAULT_MAX_US; - uint32_t level = pulse_us_to_level(pulse_us); - pwm_set_chan_level(servo_slice, servo_chan, level); -} - -void servo_set_angle(float degrees) { - if (degrees < 0.0f) degrees = 0.0f; - if (degrees > 180.0f) degrees = 180.0f; - // linear map 0..180 -> min_us..max_us - float ratio = degrees / 180.0f; - uint16_t pulse = (uint16_t)(SERVO_DEFAULT_MIN_US + ratio * (SERVO_DEFAULT_MAX_US - SERVO_DEFAULT_MIN_US) + 0.5f); - servo_set_pulse_us(pulse); -} -# \ No newline at end of file diff --git a/0x0020_dynamic-conditionals/servo.h b/0x0020_dynamic-conditionals/servo.h deleted file mode 100644 index 878d029..0000000 --- a/0x0020_dynamic-conditionals/servo.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - * @file servo.h - * @brief Header for SG90 servo driver (PWM) - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef SERVO_H -#define SERVO_H - -#include -#include - -/** - * @brief Initialize servo driver on a given GPIO pin - * - * Configures PWM for a 50 Hz servo (SG90). Call once before using other API. - * - * @param pin GPIO pin number to use for servo PWM - */ -void servo_init(uint8_t pin); - -/** - * @brief Set servo pulse width in microseconds (typical 1000-2000) - * - * @param pulse_us Pulse width in microseconds - */ -void servo_set_pulse_us(uint16_t pulse_us); - -/** - * @brief Set servo angle in degrees (0 to 180) - * - * Maps 0..180 degrees to the configured pulse range (default 1000..2000 us). - * Values outside [0,180] will be clamped. - * - * @param degrees Angle in degrees - */ -void servo_set_angle(float degrees); - -#endif // SERVO_H diff --git a/0x0020a_cb/0x0020a_cb.bin b/0x0020a_cb/0x0020a_cb.bin deleted file mode 100755 index 70c7ecc47cc6dfd8ead4b04c506760b757cec55d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31276 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 X8ZjJyp3g!}6dG=&fPkE;{L23a?WdIu diff --git a/0x0020a_cb/CMakeLists.txt b/0x0020a_cb/CMakeLists.txt deleted file mode 100644 index c813ed9..0000000 --- a/0x0020a_cb/CMakeLists.txt +++ /dev/null @@ -1,83 +0,0 @@ -# MIT License -# -# Copyright (c) 2026 Kevin Thomas -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Author: Kevin Thomas -# Email: kevin@mytechnotalent.com -# GitHub: https://github.com/mytechnotalent -# File: CMakeLists.txt -# Desc: Configures RP2350 Pico SDK project for Operation Ghost Light Firmware -# Created: 2026 - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() - -set(PICO_BOARD pico2 CACHE STRING "Board type") -include(pico_sdk_import.cmake) - -project(0x0020a_cb C CXX ASM) - -pico_sdk_init() - -add_executable(0x0020a_cb - src/main.c - src/ir_rx.c - src/dazzler.c -) - -pico_set_program_name(0x0020a_cb "0x0020a_cb") -pico_set_program_version(0x0020a_cb "0.1") - -pico_enable_stdio_uart(0x0020a_cb 1) -pico_enable_stdio_usb(0x0020a_cb 1) - -target_compile_definitions(0x0020a_cb PRIVATE - PICO_DEFAULT_UART_BAUD_RATE=115200 -) - -target_link_libraries(0x0020a_cb - pico_stdlib - hardware_gpio - hardware_uart - hardware_pwm -) - -target_include_directories(0x0020a_cb PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/include -) - -pico_add_extra_outputs(0x0020a_cb) diff --git a/0x0020a_cb/include/dazzler.h b/0x0020a_cb/include/dazzler.h deleted file mode 100644 index 5cd2fae..0000000 --- a/0x0020a_cb/include/dazzler.h +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @file dazzler.h - * @brief Operation Ghost Light Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef DAZZLER_H -#define DAZZLER_H -#include -#include -typedef struct { - uint32_t active_ir_code; - bool is_locked_out; -} dazzler_t; -extern dazzler_t laser_sys; - -/** - * @brief Initialize the dazzler system state. - * @param void No parameters. - * @return void No return value. - */ -void dazzler_init(void); - -/** - * @brief Read and process the latest NEC infrared command code. - * @param void No parameters. - * @return void No return value. - */ -void parse_nec_code(void); -#endif diff --git a/0x0020a_cb/include/ir_rx.h b/0x0020a_cb/include/ir_rx.h deleted file mode 100644 index 018435a..0000000 --- a/0x0020a_cb/include/ir_rx.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @file ir_rx.h - * @brief Operation Ghost Light Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef IR_RX_H -#define IR_RX_H -#include - -/** - * @brief Get the most recently received infrared command code. - * @param void No parameters. - * @return The latest 32-bit infrared command code. - */ -uint32_t get_latest_ir_code(void); -#endif diff --git a/0x0020a_cb/pico_sdk_import.cmake b/0x0020a_cb/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0020a_cb/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0020a_cb/src/dazzler.c b/0x0020a_cb/src/dazzler.c deleted file mode 100644 index f358546..0000000 --- a/0x0020a_cb/src/dazzler.c +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @file dazzler.c - * @brief Operation Ghost Light Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "dazzler.h" -#include "ir_rx.h" -#include -#include "pico/stdlib.h" - -dazzler_t laser_sys; - -void dazzler_init(void) { - laser_sys.active_ir_code = 0x00FF00FF; - laser_sys.is_locked_out = false; -} - -/** - * @brief Report that the dazzler system is locked out. - * @param void No parameters. - * @return void No return value. - */ -static void report_lockout_message(void) { - printf("[!] SYSTEM LOCKED. REBOOT REQUIRED.\r\n"); -} - -/** - * @brief Trigger the friendly fire lockout and halt the system. - * @param void No parameters. - * @return void No return value. - */ -static void trigger_lockout(void) { - printf("[-] FRIENDLY FIRE LOCKOUT TRIGGERED. DAZZLER DISABLED.\r\n"); - laser_sys.is_locked_out = true; - while (1) { tight_loop_contents(); } -} - -/** - * @brief Report the status of a non-lockout NEC command code. - * @param code The decoded 32-bit NEC command code. - * @return void No return value. - */ -static void report_code_status(uint32_t code) { - if (code == 0xFF0055AA) { - printf("[+] DAZZLER POWER LEVEL: MAX\r\n"); - } else if (code == 0xFF00AA55) { - printf("[+] DAZZLER TRACKING: ENGAGED\r\n"); - } else if (code == 0xFF0011EE) { - printf("[+] DAZZLER POWER LEVEL: LOW\r\n"); - } else if (code == 0x00FF00FF) { - printf("[-] DAZZLER IDLE.\r\n"); - } else { - printf("[?] UNKNOWN IR COMMAND: 0x%08X\r\n", code); - } -} - -/** - * @brief Dispatch a decoded NEC command code to its handler. - * @param code The decoded 32-bit NEC command code. - * @return void No return value. - */ -static void dispatch_nec_code(uint32_t code) { - if (code == 0xDEADBEEF) { - trigger_lockout(); - } else { - report_code_status(code); - } -} - -void __noinline parse_nec_code(void) { - if (laser_sys.is_locked_out) { - report_lockout_message(); - return; - } - // Decode and dispatch the latest NEC infrared command code. - dispatch_nec_code(get_latest_ir_code()); -} diff --git a/0x0020a_cb/src/ir_rx.c b/0x0020a_cb/src/ir_rx.c deleted file mode 100644 index f583b5a..0000000 --- a/0x0020a_cb/src/ir_rx.c +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file ir_rx.c - * @brief Operation Ghost Light Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "ir_rx.h" -uint32_t simulated_ir_rx_code = 0x00FF00FF; - -uint32_t get_latest_ir_code(void) { - return simulated_ir_rx_code; -} diff --git a/0x0020a_cb/src/main.c b/0x0020a_cb/src/main.c deleted file mode 100644 index 30f8788..0000000 --- a/0x0020a_cb/src/main.c +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @file main.c - * @brief Operation Ghost Light Firmware - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include -#include "pico/stdlib.h" -#include "dazzler.h" - -int main(void) { - stdio_init_all(); - dazzler_init(); - // Allow the serial console time to attach before logging. - sleep_ms(2000); - printf("SYSTEM BOOT: GHOST LIGHT DAZZLER ONLINE.\r\n"); - // Continuously poll for and process incoming NEC IR codes. - while (true) { - parse_nec_code(); - sleep_ms(1500); - } - return 0; -} diff --git a/0x0023_structures/.gitignore b/0x0023_structures/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0023_structures/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0023_structures/.vscode/c_cpp_properties.json b/0x0023_structures/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x0023_structures/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0023_structures/.vscode/cmake-kits.json b/0x0023_structures/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0023_structures/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0023_structures/.vscode/extensions.json b/0x0023_structures/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0023_structures/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0023_structures/.vscode/launch.json b/0x0023_structures/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0023_structures/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0023_structures/.vscode/settings.json b/0x0023_structures/.vscode/settings.json deleted file mode 100644 index 95be83b..0000000 --- a/0x0023_structures/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0023_structures/.vscode/tasks.json b/0x0023_structures/.vscode/tasks.json deleted file mode 100644 index d1b3193..0000000 --- a/0x0023_structures/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0023_structures/0x0023_structures.c b/0x0023_structures/0x0023_structures.c deleted file mode 100644 index fd802cc..0000000 --- a/0x0023_structures/0x0023_structures.c +++ /dev/null @@ -1,61 +0,0 @@ -#include -#include -#include "pico/stdlib.h" -#include "ir.h" - -#define IR_PIN 5 - -typedef struct { - uint8_t led1_pin; - uint8_t led2_pin; - uint8_t led3_pin; - bool led1_state; - bool led2_state; - bool led3_state; -} simple_led_ctrl_t; - -int main(void) { - stdio_init_all(); - - simple_led_ctrl_t leds = { - .led1_pin = 16, - .led2_pin = 17, - .led3_pin = 18, - .led1_state = false, - .led2_state = false, - .led3_state = false - }; - - gpio_init(leds.led1_pin); gpio_set_dir(leds.led1_pin, GPIO_OUT); - gpio_init(leds.led2_pin); gpio_set_dir(leds.led2_pin, GPIO_OUT); - gpio_init(leds.led3_pin); gpio_set_dir(leds.led3_pin, GPIO_OUT); - - ir_init(IR_PIN); - printf("IR receiver on GPIO %d ready\n", IR_PIN); - - while (true) { - int key = ir_getkey(); - if (key >= 0) { - printf("NEC command: 0x%02X\n", key); - - // turn all off first - leds.led1_state = false; - leds.led2_state = false; - leds.led3_state = false; - - // check NEC codes - if (key == 0x0C) leds.led1_state = true; // GPIO16 - if (key == 0x18) leds.led2_state = true; // GPIO17 - if (key == 0x5E) leds.led3_state = true; // GPIO18 - - // apply states - gpio_put(leds.led1_pin, leds.led1_state); - gpio_put(leds.led2_pin, leds.led2_state); - gpio_put(leds.led3_pin, leds.led3_state); - - sleep_ms(10); - } else { - sleep_ms(1); - } - } -} diff --git a/0x0023_structures/CMakeLists.txt b/0x0023_structures/CMakeLists.txt deleted file mode 100644 index d171bb7..0000000 --- a/0x0023_structures/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0023_structures C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0023_structures 0x0023_structures.c ir.c) - -pico_set_program_name(0x0023_structures "0x0023_structures") -pico_set_program_version(0x0023_structures "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0023_structures 1) -pico_enable_stdio_usb(0x0023_structures 0) - -# Add the standard library to the build -target_link_libraries(0x0023_structures - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0023_structures PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0023_structures) - diff --git a/0x0023_structures/ir.c b/0x0023_structures/ir.c deleted file mode 100644 index b89bd4e..0000000 --- a/0x0023_structures/ir.c +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @file ir.c - * @brief Implementation of NEC IR receiver (decoder) - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "ir.h" -#include "pico/stdlib.h" -#include "pico/time.h" -#include "hardware/gpio.h" - -static unsigned int ir_pin = 0; - -// Wait for 'gpio' to reach 'level' or timeout (microseconds). Return elapsed us or -1. -static int64_t wait_for_level(unsigned int gpio, bool level, uint32_t timeout_us) { - absolute_time_t start = get_absolute_time(); - while (gpio_get(gpio) != level) { - if (absolute_time_diff_us(start, get_absolute_time()) > (int64_t)timeout_us) { - return -1; - } - } - return absolute_time_diff_us(start, get_absolute_time()); -} - -void ir_init(uint8_t pin) { - ir_pin = pin; - gpio_init(pin); - gpio_set_dir(pin, GPIO_IN); - gpio_pull_up(pin); -} - -int ir_getkey(void) { - // leader low (~9 ms) - if (wait_for_level(ir_pin, 0, 150000) < 0) return -1; - - int64_t t = wait_for_level(ir_pin, 1, 12000); - if (t < 8000 || t > 10000) return -1; - - t = wait_for_level(ir_pin, 0, 7000); - if (t < 3500 || t > 5000) return -1; - - uint8_t data[4] = {0, 0, 0, 0}; - for (int i = 0; i < 32; ++i) { - if (wait_for_level(ir_pin, 1, 1000) < 0) return -1; - t = wait_for_level(ir_pin, 0, 2500); - if (t < 200) return -1; - int byte_idx = i / 8; - int bit_idx = i % 8; - if (t > 1200) data[byte_idx] |= (1 << bit_idx); // logical '1' - } - - // Validate address/data inverted pairs - if ((uint8_t)(data[0] + data[1]) == 0xFF && (uint8_t)(data[2] + data[3]) == 0xFF) { - return data[2]; - } - return -1; -} diff --git a/0x0023_structures/ir.h b/0x0023_structures/ir.h deleted file mode 100644 index 84aa67f..0000000 --- a/0x0023_structures/ir.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @file ir.h - * @brief Header for NEC IR receiver (decoder) API - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef IR_H -#define IR_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Initialize the IR receiver GPIO - * - * Configures the given `pin` as an input with pull-up for the NEC IR receiver. - * Call this once during board initialization before calling `ir_getkey()`. - * - * @param pin GPIO pin number connected to IR receiver output - */ -void ir_init(uint8_t pin); - -/** - * @brief Blocking NEC IR decoder - * - * Blocks while waiting for a complete NEC frame. On success returns the - * decoded command byte (0..255). On timeout or protocol error returns -1. - * - * @return decoded command byte (0..255) or -1 on failure - */ -int ir_getkey(void); - -#ifdef __cplusplus -} -#endif - -#endif // IR_H diff --git a/0x0023_structures/pico_sdk_import.cmake b/0x0023_structures/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0023_structures/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0026_functions/.gitignore b/0x0026_functions/.gitignore deleted file mode 100644 index 2435c20..0000000 --- a/0x0026_functions/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* diff --git a/0x0026_functions/.vscode/c_cpp_properties.json b/0x0026_functions/.vscode/c_cpp_properties.json deleted file mode 100644 index c429d6d..0000000 --- a/0x0026_functions/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "configurations": [ - { - "name": "Pico", - "includePath": [ - "${workspaceFolder}/**", - "${userHome}/.pico-sdk/sdk/2.2.0/**" - ], - "forcedInclude": [ - "${workspaceFolder}/build/generated/pico_base/pico/config_autogen.h", - "${userHome}/.pico-sdk/sdk/2.2.0/src/common/pico_base_headers/include/pico.h" - ], - "defines": [], - "compilerPath": "${userHome}/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gcc.exe", - "compileCommands": "${workspaceFolder}/build/compile_commands.json", - "cStandard": "c17", - "cppStandard": "c++14", - "intelliSenseMode": "linux-gcc-arm" - } - ], - "version": 4 -} diff --git a/0x0026_functions/.vscode/cmake-kits.json b/0x0026_functions/.vscode/cmake-kits.json deleted file mode 100644 index b0f3815..0000000 --- a/0x0026_functions/.vscode/cmake-kits.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "name": "Pico", - "compilers": { - "C": "${command:raspberry-pi-pico.getCompilerPath}", - "CXX": "${command:raspberry-pi-pico.getCxxCompilerPath}" - }, - "environmentVariables": { - "PATH": "${command:raspberry-pi-pico.getEnvPath};${env:PATH}" - }, - "cmakeSettings": { - "Python3_EXECUTABLE": "${command:raspberry-pi-pico.getPythonPath}" - } - } -] \ No newline at end of file diff --git a/0x0026_functions/.vscode/extensions.json b/0x0026_functions/.vscode/extensions.json deleted file mode 100644 index a940d7c..0000000 --- a/0x0026_functions/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "marus25.cortex-debug", - "ms-vscode.cpptools", - "ms-vscode.cpptools-extension-pack", - "ms-vscode.vscode-serial-monitor", - "raspberry-pi.raspberry-pi-pico" - ] -} \ No newline at end of file diff --git a/0x0026_functions/.vscode/launch.json b/0x0026_functions/.vscode/launch.json deleted file mode 100644 index 424aa71..0000000 --- a/0x0026_functions/.vscode/launch.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Pico Debug (Cortex-Debug)", - "cwd": "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "openocd", - "serverpath": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "configFiles": [ - "interface/cmsis-dap.cfg", - "target/${command:raspberry-pi-pico.getTarget}.cfg" - ], - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ], - "openOCDLaunchCommands": [ - "adapter speed 5000" - ] - }, - { - "name": "Pico Debug (Cortex-Debug with external OpenOCD)", - "cwd": "${workspaceRoot}", - "executable": "${command:raspberry-pi-pico.launchTargetPath}", - "request": "launch", - "type": "cortex-debug", - "servertype": "external", - "gdbTarget": "localhost:3333", - "gdbPath": "${command:raspberry-pi-pico.getGDBPath}", - "device": "${command:raspberry-pi-pico.getChipUppercase}", - "svdFile": "${userHome}/.pico-sdk/sdk/2.2.0/src/${command:raspberry-pi-pico.getChip}/hardware_regs/${command:raspberry-pi-pico.getChipUppercase}.svd", - "runToEntryPoint": "main", - // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected - // Also works fine for flash binaries - "overrideLaunchCommands": [ - "monitor reset init", - "load \"${command:raspberry-pi-pico.launchTargetPath}\"" - ] - }, - ] -} diff --git a/0x0026_functions/.vscode/settings.json b/0x0026_functions/.vscode/settings.json deleted file mode 100644 index 95be83b..0000000 --- a/0x0026_functions/.vscode/settings.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cmake.showSystemKits": false, - "cmake.options.statusBarVisibility": "hidden", - "cmake.options.advanced": { - "build": { - "statusBarVisibility": "hidden" - }, - "launch": { - "statusBarVisibility": "hidden" - }, - "debug": { - "statusBarVisibility": "hidden" - } - }, - "cmake.configureOnEdit": false, - "cmake.automaticReconfigure": false, - "cmake.configureOnOpen": false, - "cmake.generator": "Ninja", - "cmake.cmakePath": "${userHome}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "C_Cpp.debugShortcut": false, - "terminal.integrated.env.windows": { - "PICO_SDK_PATH": "${env:USERPROFILE}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1", - "Path": "${env:USERPROFILE}/.pico-sdk/toolchain/14_2_Rel1/bin;${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool;${env:USERPROFILE}/.pico-sdk/cmake/v3.31.5/bin;${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1;${env:PATH}" - }, - "terminal.integrated.env.osx": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "terminal.integrated.env.linux": { - "PICO_SDK_PATH": "${env:HOME}/.pico-sdk/sdk/2.2.0", - "PICO_TOOLCHAIN_PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1", - "PATH": "${env:HOME}/.pico-sdk/toolchain/14_2_Rel1/bin:${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool:${env:HOME}/.pico-sdk/cmake/v3.31.5/bin:${env:HOME}/.pico-sdk/ninja/v1.12.1:${env:PATH}" - }, - "raspberry-pi-pico.cmakeAutoConfigure": true, - "raspberry-pi-pico.useCmakeTools": false, - "raspberry-pi-pico.cmakePath": "${HOME}/.pico-sdk/cmake/v3.31.5/bin/cmake", - "raspberry-pi-pico.ninjaPath": "${HOME}/.pico-sdk/ninja/v1.12.1/ninja" -} diff --git a/0x0026_functions/.vscode/tasks.json b/0x0026_functions/.vscode/tasks.json deleted file mode 100644 index d1b3193..0000000 --- a/0x0026_functions/.vscode/tasks.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - { - "label": "Compile Project", - "type": "process", - "isBuildCommand": true, - "command": "${userHome}/.pico-sdk/ninja/v1.12.1/ninja", - "args": ["-C", "${workspaceFolder}/build"], - "group": "build", - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": "$gcc", - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/ninja/v1.12.1/ninja.exe" - } - }, - { - "label": "Run Project", - "type": "process", - "command": "${env:HOME}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool", - "args": [ - "load", - "${command:raspberry-pi-pico.launchTargetPath}", - "-fx" - ], - "presentation": { - "reveal": "always", - "panel": "dedicated" - }, - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/picotool/2.2.0-a4/picotool/picotool.exe" - } - }, - { - "label": "Flash", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getTarget}.cfg", - "-c", - "adapter speed 5000; program \"${command:raspberry-pi-pico.launchTargetPath}\" verify reset exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "Rescue Reset", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/${command:raspberry-pi-pico.getChip}-rescue.cfg", - "-c", - "adapter speed 5000; reset halt; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - }, - { - "label": "RISC-V Reset (RP2350)", - "type": "process", - "command": "${userHome}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - "args": [ - "-s", - "${userHome}/.pico-sdk/openocd/0.12.0+dev/scripts", - "-c", - "set USE_CORE { rv0 rv1 cm0 cm1 }", - "-f", - "interface/cmsis-dap.cfg", - "-f", - "target/rp2350.cfg", - "-c", - "adapter speed 5000; init;", - "-c", - "write_memory 0x40120158 8 { 0x3 }; echo [format \"Info : ARCHSEL 0x%02x\" [read_memory 0x40120158 8 1]];", - "-c", - "reset halt; targets rp2350.rv0; echo [format \"Info : ARCHSEL_STATUS 0x%02x\" [read_memory 0x4012015C 8 1]]; exit" - ], - "problemMatcher": [], - "windows": { - "command": "${env:USERPROFILE}/.pico-sdk/openocd/0.12.0+dev/openocd.exe", - } - } - ] -} diff --git a/0x0026_functions/0x0026_functions.c b/0x0026_functions/0x0026_functions.c deleted file mode 100644 index 518f5c0..0000000 --- a/0x0026_functions/0x0026_functions.c +++ /dev/null @@ -1,149 +0,0 @@ -#include -#include -#include "pico/stdlib.h" -#include "ir.h" - -#define IR_PIN 5 - -typedef struct { - uint8_t led1_pin; - uint8_t led2_pin; - uint8_t led3_pin; - bool led1_state; - bool led2_state; - bool led3_state; -} simple_led_ctrl_t; - -/** - * @brief Map NEC IR command code to LED number - * - * Translates a received NEC IR command code to a logical LED number. - * Supports three button mappings for controlling individual LEDs. - * - * @param ir_command NEC command code from IR receiver - * @return int LED number (1-3) or 0 if no match - */ -int ir_to_led_number(int ir_command) { - if (ir_command == 0x0C) return 1; - if (ir_command == 0x18) return 2; - if (ir_command == 0x5E) return 3; - return 0; -} - -/** - * @brief Get GPIO pin number for a given LED number - * - * Retrieves the GPIO pin associated with a logical LED number - * from the LED controller structure. - * - * @param leds Pointer to LED controller structure - * @param led_num LED number (1-3) - * @return uint8_t GPIO pin number or 0 if invalid - */ -uint8_t get_led_pin(simple_led_ctrl_t *leds, int led_num) { - if (led_num == 1) return leds->led1_pin; - if (led_num == 2) return leds->led2_pin; - if (led_num == 3) return leds->led3_pin; - return 0; -} - -/** - * @brief Turn off all LEDs in the controller - * - * Sets all three LED GPIO outputs to low, turning off all LEDs. - * - * @param leds Pointer to LED controller structure - */ -void leds_all_off(simple_led_ctrl_t *leds) { - gpio_put(leds->led1_pin, false); - gpio_put(leds->led2_pin, false); - gpio_put(leds->led3_pin, false); -} - -/** - * @brief Blink an LED pin a specified number of times - * - * Toggles the specified GPIO pin on and off for the given count, - * with configurable delay between transitions. - * - * @param pin GPIO pin number to blink - * @param count Number of blink cycles - * @param delay_ms Delay in milliseconds for on/off periods - */ -void blink_led(uint8_t pin, uint8_t count, uint32_t delay_ms) { - for (uint8_t i = 0; i < count; i++) { - gpio_put(pin, true); - sleep_ms(delay_ms); - gpio_put(pin, false); - sleep_ms(delay_ms); - } -} - -/** - * @brief Process IR command and activate corresponding LED - * - * Handles incoming IR commands by turning off all LEDs, mapping the - * command to an LED, blinking it, then holding it steady. - * - * @param ir_command NEC command code from IR receiver - * @param leds Pointer to LED controller structure - * @param blink_count Number of blinks before steady state - * @return int LED number activated (1-3), 0 if none, -1 if invalid - */ -int process_ir_led_command(int ir_command, simple_led_ctrl_t *leds, uint8_t blink_count) { - if (!leds || ir_command < 0) return -1; - leds_all_off(leds); - int led_num = ir_to_led_number(ir_command); - if (led_num == 0) return 0; - uint8_t pin = get_led_pin(leds, led_num); - blink_led(pin, blink_count, 50); - gpio_put(pin, true); - return led_num; -} - -int main(void) { - stdio_init_all(); - - simple_led_ctrl_t leds = { - .led1_pin = 16, - .led2_pin = 17, - .led3_pin = 18, - .led1_state = false, - .led2_state = false, - .led3_state = false - }; - - // Initialize LED GPIOs - gpio_init(leds.led1_pin); gpio_set_dir(leds.led1_pin, GPIO_OUT); - gpio_init(leds.led2_pin); gpio_set_dir(leds.led2_pin, GPIO_OUT); - gpio_init(leds.led3_pin); gpio_set_dir(leds.led3_pin, GPIO_OUT); - - // Initialize IR receiver - ir_init(IR_PIN); - printf("IR receiver on GPIO %d ready\n", IR_PIN); - printf("Press remote buttons to control LEDs with blink effects!\n"); - - while (true) { - int key = ir_getkey(); - if (key >= 0) { - printf("NEC command: 0x%02X\n", key); - - // Process the IR command with 3 blinks before steady state - int activated_led = process_ir_led_command(key, &leds, 3); - - if (activated_led > 0) { - printf("LED %d activated on GPIO %d\n", activated_led, - (activated_led == 1) ? leds.led1_pin : - (activated_led == 2) ? leds.led2_pin : leds.led3_pin); - } else if (activated_led == 0) { - printf("No LED matched or chase effect played\n"); - } else { - printf("Invalid command or null pointer\n"); - } - - sleep_ms(10); - } else { - sleep_ms(1); - } - } -} diff --git a/0x0026_functions/CMakeLists.txt b/0x0026_functions/CMakeLists.txt deleted file mode 100644 index b6ea0f9..0000000 --- a/0x0026_functions/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -# Generated Cmake Pico project file - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# Initialise pico_sdk from installed location -# (note this can come from environment, CMake cache etc) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0026_functions C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# Add executable. Default name is the project name, version 0.1 - -add_executable(0x0026_functions 0x0026_functions.c ir.c) - -pico_set_program_name(0x0026_functions "0x0026_functions") -pico_set_program_version(0x0026_functions "0.1") - -# Modify the below lines to enable/disable output over UART/USB -pico_enable_stdio_uart(0x0026_functions 1) -pico_enable_stdio_usb(0x0026_functions 0) - -# Add the standard library to the build -target_link_libraries(0x0026_functions - pico_stdlib) - -# Add the standard include files to the build -target_include_directories(0x0026_functions PRIVATE - ${CMAKE_CURRENT_LIST_DIR} -) - -pico_add_extra_outputs(0x0026_functions) - diff --git a/0x0026_functions/ir.c b/0x0026_functions/ir.c deleted file mode 100644 index b89bd4e..0000000 --- a/0x0026_functions/ir.c +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @file ir.c - * @brief Implementation of NEC IR receiver (decoder) - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "ir.h" -#include "pico/stdlib.h" -#include "pico/time.h" -#include "hardware/gpio.h" - -static unsigned int ir_pin = 0; - -// Wait for 'gpio' to reach 'level' or timeout (microseconds). Return elapsed us or -1. -static int64_t wait_for_level(unsigned int gpio, bool level, uint32_t timeout_us) { - absolute_time_t start = get_absolute_time(); - while (gpio_get(gpio) != level) { - if (absolute_time_diff_us(start, get_absolute_time()) > (int64_t)timeout_us) { - return -1; - } - } - return absolute_time_diff_us(start, get_absolute_time()); -} - -void ir_init(uint8_t pin) { - ir_pin = pin; - gpio_init(pin); - gpio_set_dir(pin, GPIO_IN); - gpio_pull_up(pin); -} - -int ir_getkey(void) { - // leader low (~9 ms) - if (wait_for_level(ir_pin, 0, 150000) < 0) return -1; - - int64_t t = wait_for_level(ir_pin, 1, 12000); - if (t < 8000 || t > 10000) return -1; - - t = wait_for_level(ir_pin, 0, 7000); - if (t < 3500 || t > 5000) return -1; - - uint8_t data[4] = {0, 0, 0, 0}; - for (int i = 0; i < 32; ++i) { - if (wait_for_level(ir_pin, 1, 1000) < 0) return -1; - t = wait_for_level(ir_pin, 0, 2500); - if (t < 200) return -1; - int byte_idx = i / 8; - int bit_idx = i % 8; - if (t > 1200) data[byte_idx] |= (1 << bit_idx); // logical '1' - } - - // Validate address/data inverted pairs - if ((uint8_t)(data[0] + data[1]) == 0xFF && (uint8_t)(data[2] + data[3]) == 0xFF) { - return data[2]; - } - return -1; -} diff --git a/0x0026_functions/ir.h b/0x0026_functions/ir.h deleted file mode 100644 index 84aa67f..0000000 --- a/0x0026_functions/ir.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @file ir.h - * @brief Header for NEC IR receiver (decoder) API - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef IR_H -#define IR_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Initialize the IR receiver GPIO - * - * Configures the given `pin` as an input with pull-up for the NEC IR receiver. - * Call this once during board initialization before calling `ir_getkey()`. - * - * @param pin GPIO pin number connected to IR receiver output - */ -void ir_init(uint8_t pin); - -/** - * @brief Blocking NEC IR decoder - * - * Blocks while waiting for a complete NEC frame. On success returns the - * decoded command byte (0..255). On timeout or protocol error returns -1. - * - * @return decoded command byte (0..255) or -1 on failure - */ -int ir_getkey(void); - -#ifdef __cplusplus -} -#endif - -#endif // IR_H diff --git a/0x0026_functions/pico_sdk_import.cmake b/0x0026_functions/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0026_functions/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0026a_custom-bootloader/.gitignore b/0x0026a_custom-bootloader/.gitignore deleted file mode 100644 index cd1e73d..0000000 --- a/0x0026a_custom-bootloader/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -!.vscode/* \ No newline at end of file diff --git a/0x0026a_custom-bootloader/0x0026a_app.bin b/0x0026a_custom-bootloader/0x0026a_app.bin deleted file mode 100755 index f6c83d64e144ce70aa18db131d700d99c07a548e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21656 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 diff --git a/0x0026a_custom-bootloader/0x0026a_full.uf2 b/0x0026a_custom-bootloader/0x0026a_full.uf2 deleted file mode 100644 index 521526629d8f7e2c7c4ed5f9ad7e5082527bbb9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306176 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 U2Zx5%&46W?|6l(z2Pppk0UrGBTmS$7 diff --git a/0x0026a_custom-bootloader/CMakeLists.txt b/0x0026a_custom-bootloader/CMakeLists.txt deleted file mode 100644 index 299af94..0000000 --- a/0x0026a_custom-bootloader/CMakeLists.txt +++ /dev/null @@ -1,90 +0,0 @@ -# 0x0026a custom bootloader: builds a secure bootloader plus the signed -# application it launches. Run from this directory: -# -# cmake -B build -G Ninja -DPICO_BOARD=pico2 \ -# -DPICO_SDK_PATH="$HOME/.pico-sdk/sdk/2.2.0" \ -# -DPICO_TOOLCHAIN_PATH="$HOME/.pico-sdk/toolchain/14_2_Rel1" -# cmake --build build - -cmake_minimum_required(VERSION 3.13) - -set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == -if(WIN32) - set(USERHOME $ENV{USERPROFILE}) -else() - set(USERHOME $ENV{HOME}) -endif() -set(sdkVersion 2.2.0) -set(toolchainVersion 14_2_Rel1) -set(picotoolVersion 2.2.0-a4) -set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) -if (EXISTS ${picoVscode}) - include(${picoVscode}) -endif() -# ==================================================================================== -set(PICO_BOARD pico2 CACHE STRING "Board type") - -# Pull in Raspberry Pi Pico SDK (must be before project) -include(pico_sdk_import.cmake) - -project(0x0026a_custom_bootloader C CXX ASM) - -# Initialise the Raspberry Pi Pico SDK -pico_sdk_init() - -# --- Bootloader: verifies an AES-128-CMAC tag before launching the app -------- -add_executable(0x0026a_bootloader - bootloader/src/main.c - bootloader/src/boot.c - bootloader/src/manifest.c - bootloader/src/aes_cmac.c - bootloader/src/image.c - bootloader/src/verify.c) - -target_include_directories(0x0026a_bootloader PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/bootloader/include - ${CMAKE_CURRENT_LIST_DIR}/common/include) - -# pico_mbedtls provides the AES-128-CMAC implementation used for verification. -target_link_libraries(0x0026a_bootloader PRIVATE - pico_stdlib - pico_mbedtls) - -pico_enable_stdio_uart(0x0026a_bootloader 1) -pico_enable_stdio_usb(0x0026a_bootloader 0) -pico_add_extra_outputs(0x0026a_bootloader) - -# --- Application: the 0x0026_functions firmware linked at 0x10020000 ---------- -add_executable(0x0026a_app - app/src/app_main.c - app/src/ir.c - app/src/led.c - app/src/secret.c) - -target_include_directories(0x0026a_app PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/app/include - ${CMAKE_CURRENT_LIST_DIR}/common/include) - -# pico_mbedtls provides the AES-128-CBC API used by secret.c. -target_link_libraries(0x0026a_app PRIVATE - pico_stdlib - pico_mbedtls) - -pico_enable_stdio_uart(0x0026a_app 1) -pico_enable_stdio_usb(0x0026a_app 0) - -# Relocate the application into flash above the bootloader and manifest. -pico_set_linker_script(0x0026a_app - ${CMAKE_CURRENT_LIST_DIR}/app/memmap_app.ld) - -# The application starts at 0x10020000. A standalone app UF2 would flash only -# this one region, so the lab ships a single combined UF2 instead (built by -# tools/make_full_uf2.py). Emit the raw artifacts we sign and flash with OpenOCD. -pico_add_dis_output(0x0026a_app) -pico_add_hex_output(0x0026a_app) -pico_add_bin_output(0x0026a_app) -pico_add_map_output(0x0026a_app) diff --git a/0x0026a_custom-bootloader/README.md b/0x0026a_custom-bootloader/README.md deleted file mode 100644 index ee1bf71..0000000 --- a/0x0026a_custom-bootloader/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# 0x0026a Custom AES-128-CMAC Secure Bootloader - -This project builds a custom secure-boot chain for the Pico 2 (RP2350) that sits entirely above the ROM bootloader. A first-stage bootloader in XIP flash authenticates a signed application with AES-128-CMAC (RFC 4493) before jumping to it, and the signed application decrypts and prints a secret banner using the SDK Mbed TLS AES API. - -## What You'll Learn - -- Why a bootloader-only CRC/manifest is insufficient and what a MAC adds -- How AES-128-CMAC works (K1/K2 subkeys) and the RFC 4493 test vectors -- Custom linker-script editing (`pico_flash_region.ld`, `memmap_app.ld`) to relocate the app -- Flashing three images (bootloader, manifest, app) with OpenOCD -- Reverse engineering both images with GDB and Ghidra (find the key, IV, ciphertext, banner) - -See the full tutorial: [WEEK11a.md](../WEEK11/WEEK11a.md) / [WEEK11a.pdf](../WEEK11/WEEK11a.pdf) - -## Flash Map - -| Region | Address | Content | -| ---------- | ----------- | ------------------------------ | -| Bootloader | `0x10000000` | 0x0026a bootloader (27772 B) | -| Manifest | `0x1001F000` | header + AES-128-CMAC tag | -| App | `0x10020000` | 0x0026a signed app (21656 B) | - -The CMSIS-RM9 flash-safe range starts at `0x10000000` on the RP2350, so adding 2 MB relocates the app to `0x10020000`. - -## Artifacts - -| File | Description | -| ---------------------------- | ------------------------------------------------- | -| `0x0026a_bootloader.bin` | Bootloader image (flash at `0x10000000`) | -| `0x0026a_bootloader.uf2` | Bootloader-only UF2 for the BOOTSEL drag-and-drop | -| `0x0026a_app.bin` | Signed app image (flash at `0x10020000`) | -| `manifest.bin` | Manifest (flash at `0x1001F000`) | -| `0x0026a_full.uf2` | **All three images** in one BOOTSEL drag | -| `WEEK11a.md` / `WEEK11a.pdf` | Full lab notebook (in `WEEK11/`) | - -## Build - -```sh -cmake -B build -DPICO_SDK_PATH=~/.pico-sdk/sdk/2.2.0 -cmake --build build -python3 tools/sign_firmware.py build/0x0026a_app.bin --out manifest.bin --key "IronNetBootKey!!" --app-base 0x10020000 -PICOTOOL=~/.pico-sdk/picotool/2.3.1/picotool/picotool python3 tools/make_full_uf2.py -``` - -This produces `0x0026a_bootloader.bin/.uf2` and `0x0026a_app.bin`; the signer -writes `manifest.bin`; `make_full_uf2.py` packs all three into -`0x0026a_full.uf2`. - -## Flash - -Easiest - copy `0x0026a_full.uf2` to the `RP2350` BOOTSEL drive; one drag writes -the whole chain (bootloader + manifest + app). - -Or with OpenOCD: - -```sh -openocd -f interface/picoprobe.cfg -f target/rp2350.cfg -c \ - "program 0x0026a_bootloader.bin 0x10000000 verify; \ - program manifest.bin 0x1001F000 verify; \ - program 0x0026a_app.bin 0x10020000 verify; reset run; shutdown" -``` - -## Verify at Runtime - -Halt the core after boot and read the program counter. A valid signed image leaves PC inside the app (`0x100201xx`); a tampered or unsigned image leaves PC in the bootloader `boot_halt` idle loop near `0x10000eb2`. - -## Disclaimers - -This is an educational project for the Embedded-Hacking course. The key `IronNetBootKey!!` ships in the repo and is intentionally embedded in both images so it can be recovered with GDB/Ghidra. Do not use this scheme to protect real products. \ No newline at end of file diff --git a/0x0026a_custom-bootloader/app/include/ir.h b/0x0026a_custom-bootloader/app/include/ir.h deleted file mode 100644 index 84aa67f..0000000 --- a/0x0026a_custom-bootloader/app/include/ir.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @file ir.h - * @brief Header for NEC IR receiver (decoder) API - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef IR_H -#define IR_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Initialize the IR receiver GPIO - * - * Configures the given `pin` as an input with pull-up for the NEC IR receiver. - * Call this once during board initialization before calling `ir_getkey()`. - * - * @param pin GPIO pin number connected to IR receiver output - */ -void ir_init(uint8_t pin); - -/** - * @brief Blocking NEC IR decoder - * - * Blocks while waiting for a complete NEC frame. On success returns the - * decoded command byte (0..255). On timeout or protocol error returns -1. - * - * @return decoded command byte (0..255) or -1 on failure - */ -int ir_getkey(void); - -#ifdef __cplusplus -} -#endif - -#endif // IR_H diff --git a/0x0026a_custom-bootloader/app/include/led.h b/0x0026a_custom-bootloader/app/include/led.h deleted file mode 100644 index 7e0b63c..0000000 --- a/0x0026a_custom-bootloader/app/include/led.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @file led.h - * @brief LED controller driven by decoded NEC IR commands. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef LED_H -#define LED_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief LED controller state for the three IR-controlled LEDs. - * - * Maps each logical LED (1-3) to its GPIO pin and remembers whether the - * LED is currently on. Build a default instance with led_default() and - * drive it with led_init() and led_handle_ir(). - */ -typedef struct { - uint8_t led1_pin; - uint8_t led2_pin; - uint8_t led3_pin; - bool led1_state; - bool led2_state; - bool led3_state; -} simple_led_ctrl_t; - -/** - * @brief Build the default three-LED configuration (pins 16-18, all off). - * @param void No parameters. - * @return simple_led_ctrl_t Default LED controller state. - */ -simple_led_ctrl_t led_default(void); - -/** - * @brief Configure the three LED GPIO pins as outputs. - * @param leds Pointer to the LED controller to initialize. - * @return void No return value. - */ -void led_init(simple_led_ctrl_t *leds); - -/** - * @brief Dispatch a decoded NEC command to the matching LED. - * @param leds Pointer to the LED controller to drive. - * @param key Decoded NEC command byte, or a negative value to ignore. - * @return void No return value. - */ -void led_handle_ir(simple_led_ctrl_t *leds, int key); - -#ifdef __cplusplus -} -#endif - -#endif // LED_H \ No newline at end of file diff --git a/0x0026a_custom-bootloader/app/include/secret.h b/0x0026a_custom-bootloader/app/include/secret.h deleted file mode 100644 index 124a80e..0000000 --- a/0x0026a_custom-bootloader/app/include/secret.h +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @file secret.h - * @brief AES-128-CBC protected runtime banner for the application. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef SECRET_H -#define SECRET_H - -#include - -/** @brief AES block size in bytes used by the runtime banner. */ -#define APP_AES_BLOCK 16U - -/** @brief Length in bytes of the encrypted runtime banner. */ -#define APP_BANNER_LEN 32U - -/** - * @brief Decrypt the embedded AES-128-CBC banner and print it. - * @param void No parameters. - * @return int Zero on success, non-zero when decryption fails. - */ -int secret_print_banner(void); - -#endif diff --git a/0x0026a_custom-bootloader/app/memmap_app.ld b/0x0026a_custom-bootloader/app/memmap_app.ld deleted file mode 100644 index faa2c2c..0000000 --- a/0x0026a_custom-bootloader/app/memmap_app.ld +++ /dev/null @@ -1,305 +0,0 @@ -/* Based on GCC ARM embedded samples. - Defines the following symbols for use by code: - __exidx_start - __exidx_end - __etext - __data_start__ - __preinit_array_start - __preinit_array_end - __init_array_start - __init_array_end - __fini_array_start - __fini_array_end - __data_end__ - __bss_start__ - __bss_end__ - __end__ - end - __HeapLimit - __StackLimit - __StackTop - __stack (== StackTop) -*/ - -MEMORY -{ - /* Relocated for the custom bootloader: the application is linked to run - from 0x10020000, leaving the first 128k of flash for the bootloader and - its manifest. */ - FLASH(rx) : ORIGIN = 0x10020000, LENGTH = 1920k - RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 512k - SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k - SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k -} - -ENTRY(_entry_point) - -SECTIONS -{ - .flash_begin : { - __flash_binary_start = .; - } > FLASH - - /* The bootrom will enter the image at the point indicated in your - IMAGE_DEF, which is usually the reset handler of your vector table. - - The debugger will use the ELF entry point, which is the _entry_point - symbol, and in our case is *different from the bootrom's entry point.* - This is used to go back through the bootrom on debugger launches only, - to perform the same initial flash setup that would be performed on a - cold boot. - */ - - .text : { - __logical_binary_start = .; - KEEP (*(.vectors)) - KEEP (*(.binary_info_header)) - __binary_info_header_end = .; - KEEP (*(.embedded_block)) - __embedded_block_end = .; - KEEP (*(.reset)) - /* TODO revisit this now memset/memcpy/float in ROM */ - /* bit of a hack right now to exclude all floating point and time critical (e.g. memset, memcpy) code from - * FLASH ... we will include any thing excluded here in .data below by default */ - *(.init) - *libgcc.a:cmse_nonsecure_call.o - *(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .text*) - *(.fini) - /* Pull all c'tors into .text */ - *crtbegin.o(.ctors) - *crtbegin?.o(.ctors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) - *(SORT(.ctors.*)) - *(.ctors) - /* Followed by destructors */ - *crtbegin.o(.dtors) - *crtbegin?.o(.dtors) - *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) - *(SORT(.dtors.*)) - *(.dtors) - - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP(*(SORT(.preinit_array.*))) - KEEP(*(.preinit_array)) - PROVIDE_HIDDEN (__preinit_array_end = .); - - . = ALIGN(4); - /* init data */ - PROVIDE_HIDDEN (__init_array_start = .); - KEEP(*(SORT(.init_array.*))) - KEEP(*(.init_array)) - PROVIDE_HIDDEN (__init_array_end = .); - - . = ALIGN(4); - /* finit data */ - PROVIDE_HIDDEN (__fini_array_start = .); - *(SORT(.fini_array.*)) - *(.fini_array) - PROVIDE_HIDDEN (__fini_array_end = .); - - *(.eh_frame*) - . = ALIGN(4); - } > FLASH - - /* Note the boot2 section is optional, and should be discarded if there is - no reference to it *inside* the binary, as it is not called by the - bootrom. (The bootrom performs a simple best-effort XIP setup and - leaves it to the binary to do anything more sophisticated.) However - there is still a size limit of 256 bytes, to ensure the boot2 can be - stored in boot RAM. - - Really this is a "XIP setup function" -- the name boot2 is historic and - refers to its dual-purpose on RP2040, where it also handled vectoring - from the bootrom into the user image. - */ - - .boot2 : { - __boot2_start__ = .; - *(.boot2) - __boot2_end__ = .; - } > FLASH - - ASSERT(__boot2_end__ - __boot2_start__ <= 256, - "ERROR: Pico second stage bootloader must be no more than 256 bytes in size") - - .rodata : { - *(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .rodata*) - *(.srodata*) - . = ALIGN(4); - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*))) - . = ALIGN(4); - } > FLASH - - .ARM.extab : - { - *(.ARM.extab* .gnu.linkonce.armextab.*) - } > FLASH - - __exidx_start = .; - .ARM.exidx : - { - *(.ARM.exidx* .gnu.linkonce.armexidx.*) - } > FLASH - __exidx_end = .; - - /* Machine inspectable binary information */ - . = ALIGN(4); - __binary_info_start = .; - .binary_info : - { - KEEP(*(.binary_info.keep.*)) - *(.binary_info.*) - } > FLASH - __binary_info_end = .; - . = ALIGN(4); - - .ram_vector_table (NOLOAD): { - *(.ram_vector_table) - } > RAM - - .uninitialized_data (NOLOAD): { - . = ALIGN(4); - *(.uninitialized_data*) - } > RAM - - .data : { - __data_start__ = .; - *(vtable) - - *(.time_critical*) - - /* remaining .text and .rodata; i.e. stuff we exclude above because we want it in RAM */ - *(.text*) - . = ALIGN(4); - *(.rodata*) - . = ALIGN(4); - - *(.data*) - *(.sdata*) - - . = ALIGN(4); - *(.after_data.*) - . = ALIGN(4); - /* preinit data */ - PROVIDE_HIDDEN (__mutex_array_start = .); - KEEP(*(SORT(.mutex_array.*))) - KEEP(*(.mutex_array)) - PROVIDE_HIDDEN (__mutex_array_end = .); - - *(.jcr) - . = ALIGN(4); - } > RAM AT> FLASH - - .tdata : { - . = ALIGN(4); - *(.tdata .tdata.* .gnu.linkonce.td.*) - /* All data end */ - __tdata_end = .; - } > RAM AT> FLASH - PROVIDE(__data_end__ = .); - - /* __etext is (for backwards compatibility) the name of the .data init source pointer (...) */ - __etext = LOADADDR(.data); - - .tbss (NOLOAD) : { - . = ALIGN(4); - __bss_start__ = .; - __tls_base = .; - *(.tbss .tbss.* .gnu.linkonce.tb.*) - *(.tcommon) - - __tls_end = .; - } > RAM - - .bss (NOLOAD) : { - . = ALIGN(4); - __tbss_end = .; - - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*))) - *(COMMON) - PROVIDE(__global_pointer$ = . + 2K); - *(.sbss*) - . = ALIGN(4); - __bss_end__ = .; - } > RAM - - .heap (NOLOAD): - { - __end__ = .; - end = __end__; - KEEP(*(.heap*)) - } > RAM - /* historically on GCC sbrk was growing past __HeapLimit to __StackLimit, however - to be more compatible, we now set __HeapLimit explicitly to where the end of the heap is */ - __HeapLimit = ORIGIN(RAM) + LENGTH(RAM); - - /* Start and end symbols must be word-aligned */ - .scratch_x : { - __scratch_x_start__ = .; - *(.scratch_x.*) - . = ALIGN(4); - __scratch_x_end__ = .; - } > SCRATCH_X AT > FLASH - __scratch_x_source__ = LOADADDR(.scratch_x); - - .scratch_y : { - __scratch_y_start__ = .; - *(.scratch_y.*) - . = ALIGN(4); - __scratch_y_end__ = .; - } > SCRATCH_Y AT > FLASH - __scratch_y_source__ = LOADADDR(.scratch_y); - - /* .stack*_dummy section doesn't contains any symbols. It is only - * used for linker to calculate size of stack sections, and assign - * values to stack symbols later - * - * stack1 section may be empty/missing if platform_launch_core1 is not used */ - - /* by default we put core 0 stack at the end of scratch Y, so that if core 1 - * stack is not used then all of SCRATCH_X is free. - */ - .stack1_dummy (NOLOAD): - { - *(.stack1*) - } > SCRATCH_X - .stack_dummy (NOLOAD): - { - KEEP(*(.stack*)) - } > SCRATCH_Y - - .flash_end : { - KEEP(*(.embedded_end_block*)) - PROVIDE(__flash_binary_end = .); - } > FLASH =0xaa - - /* stack limit is poorly named, but historically is maximum heap ptr */ - __StackLimit = ORIGIN(RAM) + LENGTH(RAM); - __StackOneTop = ORIGIN(SCRATCH_X) + LENGTH(SCRATCH_X); - __StackTop = ORIGIN(SCRATCH_Y) + LENGTH(SCRATCH_Y); - __StackOneBottom = __StackOneTop - SIZEOF(.stack1_dummy); - __StackBottom = __StackTop - SIZEOF(.stack_dummy); - PROVIDE(__stack = __StackTop); - - /* picolibc and LLVM */ - PROVIDE (__heap_start = __end__); - PROVIDE (__heap_end = __HeapLimit); - PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) ); - PROVIDE( __tls_size_align = (__tls_size + __tls_align - 1) & ~(__tls_align - 1)); - PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) ); - - /* llvm-libc */ - PROVIDE (_end = __end__); - PROVIDE (__llvm_libc_heap_limit = __HeapLimit); - - /* Check if data + heap + stack exceeds RAM limit */ - ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed") - - ASSERT( __binary_info_header_end - __logical_binary_start <= 1024, "Binary info must be in first 1024 bytes of the binary") - ASSERT( __embedded_block_end - __logical_binary_start <= 4096, "Embedded block must be in first 4096 bytes of the binary") - - /* todo assert on extra code */ -} - diff --git a/0x0026a_custom-bootloader/app/src/app_main.c b/0x0026a_custom-bootloader/app/src/app_main.c deleted file mode 100644 index 16d9c78..0000000 --- a/0x0026a_custom-bootloader/app/src/app_main.c +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @file app_main.c - * @brief Application entry point: IR receiver drives the LED controller. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - * - * ----------------------------------------------------------------------------- - * - * This file is deliberately thin: it only wires the modules together and runs - * the poll loop. The NEC IR decoder lives in ir.c, the LED controller lives in - * led.c, and the AES-128-CBC protected banner lives in secret.c. - * - * Wiring: - * GPIO5 -> IR receiver OUT - * GPIO16 -> LED1 anode (with current-limiting resistor to GND) - * GPIO17 -> LED2 anode (with current-limiting resistor to GND) - * GPIO18 -> LED3 anode (with current-limiting resistor to GND) - */ - -#include -#include -#include "pico/stdlib.h" -#include "ir.h" -#include "led.h" -#include "secret.h" - -/** @brief GPIO pin number for the IR receiver. */ -#define IR_PIN 5 - -/** - * @brief Poll the IR receiver and dispatch decoded keys forever. - * @param leds Pointer to the LED controller to drive. - * @return void Does not return. - */ -static void ir_poll_loop(simple_led_ctrl_t *leds) { - while (true) { - int key = ir_getkey(); - if (key >= 0) led_handle_ir(leds, key); - else sleep_ms(1); - } -} - -int main(void) { - stdio_init_all(); - secret_print_banner(); - simple_led_ctrl_t leds = led_default(); - led_init(&leds); - ir_init(IR_PIN); - printf("IR receiver on GPIO %d ready\n", IR_PIN); - ir_poll_loop(&leds); -} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/app/src/ir.c b/0x0026a_custom-bootloader/app/src/ir.c deleted file mode 100644 index b47835c..0000000 --- a/0x0026a_custom-bootloader/app/src/ir.c +++ /dev/null @@ -1,131 +0,0 @@ -/** - * @file ir.c - * @brief Implementation of NEC IR receiver (decoder) - * @author Kevin Thomas - * @date 2025 - * - * MIT License - * - * Copyright (c) 2025 Kevin Thomas - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "ir.h" -#include "pico/stdlib.h" -#include "pico/time.h" -#include "hardware/gpio.h" - -/** @brief GPIO pin connected to the IR receiver */ -static unsigned int ir_pin = 0; - -/** - * @brief Wait for a GPIO pin to reach a given logic level - * - * Spins until the pin matches the requested level or a microsecond timeout - * is exceeded. Returns the elapsed time in microseconds, or -1 on timeout. - * - * @param gpio GPIO pin to monitor - * @param level Desired logic level (true = HIGH, false = LOW) - * @param timeout_us Maximum wait in microseconds - * @return int64_t Elapsed microseconds, or -1 on timeout - */ -static int64_t wait_for_level(unsigned int gpio, bool level, uint32_t timeout_us) { - absolute_time_t start = get_absolute_time(); - while (gpio_get(gpio) != level) { - if (absolute_time_diff_us(start, get_absolute_time()) > (int64_t)timeout_us) - return -1; - } - return absolute_time_diff_us(start, get_absolute_time()); -} - -/** - * @brief Wait for the NEC 9 ms leader pulse and 4.5 ms space - * - * @param void No parameters. - * @return bool true if a valid leader was detected, false on timeout - */ -static bool wait_leader(void) { - if (wait_for_level(ir_pin, 0, 150000) < 0) return false; - int64_t t = wait_for_level(ir_pin, 1, 12000); - if (t < 8000 || t > 10000) return false; - t = wait_for_level(ir_pin, 0, 7000); - if (t < 3500 || t > 5000) return false; - return true; -} - -/** - * @brief Read a single NEC-encoded bit from the IR receiver - * - * Measures the mark/space timing and shifts the result into the - * appropriate byte of the data array. - * - * @param data 4-byte array accumulating received bits - * @param i Bit index (0-31) - * @return bool true on success, false on timeout or protocol error - */ -static bool read_nec_bit(uint8_t *data, int i) { - if (wait_for_level(ir_pin, 1, 1000) < 0) return false; - int64_t t = wait_for_level(ir_pin, 0, 2500); - if (t < 200) return false; - int byte_idx = i / 8; - int bit_idx = i % 8; - if (t > 1200) data[byte_idx] |= (1 << bit_idx); - return true; -} - -/** - * @brief Read all 32 data bits of an NEC frame - * - * @param data 4-byte array filled with the received address and command - * @return bool true if all 32 bits were read, false on timeout - */ -static bool read_32_bits(uint8_t *data) { - for (int i = 0; i < 32; ++i) - if (!read_nec_bit(data, i)) return false; - return true; -} - -/** - * @brief Validate an NEC frame and extract the command byte - * - * Checks that the address and command pairs are bitwise-inverted. - * - * @param data 4-byte NEC frame (addr, ~addr, cmd, ~cmd) - * @return int Command byte (0-255) on success, -1 on validation failure - */ -static int validate_nec_frame(const uint8_t *data) { - if ((uint8_t)(data[0] + data[1]) == 0xFF && (uint8_t)(data[2] + data[3]) == 0xFF) - return data[2]; - return -1; -} - -void ir_init(uint8_t pin) { - ir_pin = pin; - gpio_init(pin); - gpio_set_dir(pin, GPIO_IN); - gpio_pull_up(pin); -} - -int ir_getkey(void) { - if (!wait_leader()) return -1; - uint8_t data[4] = {0, 0, 0, 0}; - if (!read_32_bits(data)) return -1; - return validate_nec_frame(data); -} diff --git a/0x0026a_custom-bootloader/app/src/led.c b/0x0026a_custom-bootloader/app/src/led.c deleted file mode 100644 index fee69f9..0000000 --- a/0x0026a_custom-bootloader/app/src/led.c +++ /dev/null @@ -1,103 +0,0 @@ -/** - * @file led.c - * @brief LED controller driven by decoded NEC IR commands. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include -#include "pico/stdlib.h" -#include "led.h" - -/** - * @brief Map an NEC command code to a logical LED number. - * @param ir_command Decoded NEC command byte. - * @return int Logical LED number 1-3, or 0 when the command is unmapped. - */ -static int led_number_for_command(int ir_command) { - if (ir_command == 0x0C) return 1; - if (ir_command == 0x18) return 2; - if (ir_command == 0x5E) return 3; - return 0; -} - -/** - * @brief Return the GPIO pin backing a logical LED number. - * @param leds Pointer to the LED controller. - * @param led_num Logical LED number (1-3). - * @return uint8_t GPIO pin number for the requested LED. - */ -static uint8_t led_pin_for(simple_led_ctrl_t *leds, int led_num) { - if (led_num == 1) return leds->led1_pin; - if (led_num == 2) return leds->led2_pin; - return leds->led3_pin; -} - -/** - * @brief Turn every LED output off. - * @param leds Pointer to the LED controller. - * @return void No return value. - */ -static void led_all_off(simple_led_ctrl_t *leds) { - gpio_put(leds->led1_pin, false); - gpio_put(leds->led2_pin, false); - gpio_put(leds->led3_pin, false); -} - -/** - * @brief Toggle a GPIO on and off for a number of blink cycles. - * @param pin GPIO pin to blink. - * @param count Number of on/off cycles. - * @param delay_ms Milliseconds to hold each phase. - * @return void No return value. - */ -static void led_blink(uint8_t pin, uint8_t count, uint32_t delay_ms) { - for (uint8_t i = 0; i < count; i++) { - gpio_put(pin, true); - sleep_ms(delay_ms); - gpio_put(pin, false); - sleep_ms(delay_ms); - } -} - -/** - * @brief Blink an LED, then leave it lit. - * @param leds Pointer to the LED controller. - * @param led_num Logical LED number to activate. - * @return void No return value. - */ -static void led_activate(simple_led_ctrl_t *leds, int led_num) { - uint8_t pin = led_pin_for(leds, led_num); - led_blink(pin, 3, 50); - gpio_put(pin, true); - printf("LED %d activated on GPIO %d\n", led_num, pin); -} - -simple_led_ctrl_t led_default(void) { - simple_led_ctrl_t leds = { - .led1_pin = 16, .led2_pin = 17, .led3_pin = 18, - .led1_state = false, .led2_state = false, .led3_state = false - }; - return leds; -} - -void led_init(simple_led_ctrl_t *leds) { - gpio_init(leds->led1_pin); - gpio_set_dir(leds->led1_pin, GPIO_OUT); - gpio_init(leds->led2_pin); - gpio_set_dir(leds->led2_pin, GPIO_OUT); - gpio_init(leds->led3_pin); - gpio_set_dir(leds->led3_pin, GPIO_OUT); -} - -void led_handle_ir(simple_led_ctrl_t *leds, int key) { - if (key < 0) return; - printf("NEC command: 0x%02X\n", key); - led_all_off(leds); - int led_num = led_number_for_command(key); - if (led_num == 0) return; - led_activate(leds, led_num); -} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/app/src/secret.c b/0x0026a_custom-bootloader/app/src/secret.c deleted file mode 100644 index 8f6df9e..0000000 --- a/0x0026a_custom-bootloader/app/src/secret.c +++ /dev/null @@ -1,88 +0,0 @@ -/** - * @file secret.c - * @brief Decrypts a runtime banner with the SDK Mbed TLS AES-128-CBC API. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - * - * ----------------------------------------------------------------------------- - * - * This module shows how to use the AES implementation that ships with the Pico - * SDK. A short banner is stored in flash only as AES-128-CBC ciphertext; the - * key and IV live in the same image. At startup secret_print_banner() rebuilds - * the plaintext with mbedtls_aes_crypt_cbc() and writes it to the console. - * - * The plaintext is exactly APP_BANNER_LEN bytes (two whole AES blocks), so no - * padding routine is required. The ciphertext was produced on the host with the - * matching key and IV, for example: - * - * printf '%s' 'SECRET: IR LINK SECURED ONLINE ' \ - * | openssl enc -aes-128-cbc -K 49726f6e4e6574426f6f744b65792121 \ - * -iv 41707053656372657449563132333435 -nopad | xxd -p - */ - -#include -#include -#include "mbedtls/aes.h" -#include "secret.h" - -/** @brief AES-128 key, the same 16 bytes the bootloader uses for CMAC. */ -static const uint8_t banner_key[APP_AES_BLOCK] = { - 0x49, 0x72, 0x6F, 0x6E, 0x4E, 0x65, 0x74, 0x42, - 0x6F, 0x6F, 0x74, 0x4B, 0x65, 0x79, 0x21, 0x21 -}; - -/** @brief Initialization vector used when the banner was encrypted. */ -static const uint8_t banner_iv[APP_AES_BLOCK] = { - 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x49, 0x56, 0x31, 0x32, 0x33, 0x34, 0x35 -}; - -/** @brief AES-128-CBC ciphertext of the runtime banner. */ -static const uint8_t banner_ct[APP_BANNER_LEN] = { - 0xBA, 0xEC, 0x4A, 0x19, 0x25, 0x86, 0x1B, 0xB9, - 0x2D, 0xFD, 0x9F, 0x13, 0xF7, 0x9B, 0x3E, 0x80, - 0xCF, 0x12, 0xB6, 0x98, 0xDB, 0x91, 0x65, 0xBE, - 0x8F, 0xD7, 0xC3, 0x47, 0x7B, 0xB2, 0xE7, 0x6E -}; - -/** - * @brief Run the AES-128-CBC decrypt in place over a working buffer. - * @param aes Pointer to an AES context holding an already-expanded key. - * @param iv Pointer to a mutable copy of the initialization vector. - * @param buf Pointer to the buffer holding ciphertext, then plaintext. - * @return int Zero on success, non-zero on failure. - */ -static int secret_cbc(mbedtls_aes_context *aes, uint8_t *iv, uint8_t *buf) { - int rc = mbedtls_aes_crypt_cbc(aes, MBEDTLS_AES_DECRYPT, APP_BANNER_LEN, - iv, buf, buf); - return rc; -} - -/** - * @brief Decrypt the banner ciphertext into a working buffer. - * @param buf Buffer of at least APP_BANNER_LEN bytes. - * @return int Zero on success, non-zero on failure. - */ -static int secret_decrypt(uint8_t *buf) { - mbedtls_aes_context aes; - uint8_t iv[APP_AES_BLOCK]; - memcpy(iv, banner_iv, APP_AES_BLOCK); - mbedtls_aes_init(&aes); - mbedtls_aes_setkey_dec(&aes, banner_key, 128); - int rc = secret_cbc(&aes, iv, buf); - mbedtls_aes_free(&aes); - return rc; -} - -int secret_print_banner(void) { - uint8_t buf[APP_BANNER_LEN + 1]; - memcpy(buf, banner_ct, APP_BANNER_LEN); - buf[APP_BANNER_LEN] = '\0'; - int rc = secret_decrypt(buf); - if (rc != 0) return rc; - printf("app banner: %s\n", (char *)buf); - return 0; -} diff --git a/0x0026a_custom-bootloader/bootloader/include/aes_cmac.h b/0x0026a_custom-bootloader/bootloader/include/aes_cmac.h deleted file mode 100644 index 8510e8a..0000000 --- a/0x0026a_custom-bootloader/bootloader/include/aes_cmac.h +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @file aes_cmac.h - * @brief AES-128-CMAC authentication tag helpers backed by Mbed TLS. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef AES_CMAC_H -#define AES_CMAC_H - -#include -#include -#include - -/** @brief AES block size in bytes. */ -#define AES_BLOCK_SIZE 16U - -/** - * @brief Compute an AES-128-CMAC tag over a memory region. - * @param key Pointer to the 16-byte AES-128 key. - * @param data Pointer to the message bytes, which may live in XIP flash. - * @param len Message length in bytes. - * @param tag Output buffer that receives the 16-byte CMAC tag. - * @return int Zero on success, non-zero when the cipher is unavailable. - */ -int aes128_cmac(const uint8_t *key, const uint8_t *data, size_t len, - uint8_t *tag); - -/** - * @brief Compare two CMAC tags without short-circuiting on the first byte. - * @param a Pointer to the first tag. - * @param b Pointer to the second tag. - * @return bool True when the tags are byte-for-byte identical. - */ -bool cmac_tags_equal(const uint8_t *a, const uint8_t *b); - -#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/boot.h b/0x0026a_custom-bootloader/bootloader/include/boot.h deleted file mode 100644 index 09f6e58..0000000 --- a/0x0026a_custom-bootloader/bootloader/include/boot.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @file boot.h - * @brief Secure boot console and application handoff helpers. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef BOOT_H -#define BOOT_H - -#include "manifest.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Bring up the debug console and print the boot banner. - * @param void No parameters. - * @return void No return value. - */ -void boot_init(void); - -/** - * @brief Print a boot failure reason and idle forever. - * @param reason Null-terminated message describing the failure. - * @return void Does not return. - */ -void boot_halt(const char *reason); - -/** - * @brief Announce the verified image and jump to its reset vector. - * @param manifest Pointer to the validated manifest. - * @return void Does not return. - */ -void boot_launch(const fw_manifest_t *manifest); - -#ifdef __cplusplus -} -#endif - -#endif // BOOT_H \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/include/flash_layout.h b/0x0026a_custom-bootloader/bootloader/include/flash_layout.h deleted file mode 100644 index 9338649..0000000 --- a/0x0026a_custom-bootloader/bootloader/include/flash_layout.h +++ /dev/null @@ -1,31 +0,0 @@ -/** - * @file flash_layout.h - * @brief Flash partition map shared by the bootloader and the host signer. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef FLASH_LAYOUT_H -#define FLASH_LAYOUT_H - -#include - -/** @brief Absolute base address of the bootloader image in XIP flash. */ -#define BOOTLOADER_BASE 0x10000000U - -/** @brief Absolute address of the one-sector firmware manifest. */ -#define FW_MANIFEST_BASE 0x1001F000U - -/** @brief Size in bytes of the flash sector holding the manifest. */ -#define FW_MANIFEST_SECTOR_SIZE 4096U - -/** @brief Absolute base address where the signed application runs. */ -#define APP_BASE 0x10020000U - -/** @brief Total XIP flash size in bytes on the RP2350 Pico 2 board. */ -#define FLASH_TOTAL_SIZE 0x200000U - -#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/image.h b/0x0026a_custom-bootloader/bootloader/include/image.h deleted file mode 100644 index 5173845..0000000 --- a/0x0026a_custom-bootloader/bootloader/include/image.h +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @file image.h - * @brief Control transfer into a freshly verified Cortex-M application. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef IMAGE_H -#define IMAGE_H - -#include - -/** - * @brief Jump to an application whose vector table starts at a base address. - * @param vector_base Base address of the application vector table. - * @return void Does not return to the caller. - */ -void image_start(uint32_t vector_base); - -#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/manifest.h b/0x0026a_custom-bootloader/bootloader/include/manifest.h deleted file mode 100644 index 2bc5336..0000000 --- a/0x0026a_custom-bootloader/bootloader/include/manifest.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @file manifest.h - * @brief Firmware manifest stored in the flash sector before the application. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef MANIFEST_H -#define MANIFEST_H - -#include -#include - -/** @brief Little-endian magic at the head of a valid manifest ("WFLB"). */ -#define FW_MANIFEST_MAGIC 0x424C4657U - -/** @brief Current manifest structure revision. */ -#define FW_MANIFEST_VERSION 1U - -/** @brief Length in bytes of an AES-128-CMAC authentication tag. */ -#define FW_TAG_SIZE 16U - -#pragma pack(push, 1) -/** @brief Fixed-layout record describing the signed application image. */ -typedef struct { - uint32_t magic; - uint32_t version; - uint32_t app_base; - uint32_t app_size; - uint8_t tag[FW_TAG_SIZE]; -} fw_manifest_t; -#pragma pack(pop) - -/** - * @brief Copy the manifest out of its fixed flash address. - * @param out Pointer to the manifest structure to populate. - * @return void No return value. - */ -void manifest_read(fw_manifest_t *out); - -/** - * @brief Report whether a manifest carries the expected magic and version. - * @param manifest Pointer to the manifest to inspect. - * @return bool True when the magic and version both match. - */ -bool manifest_is_valid(const fw_manifest_t *manifest); - -#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/verify.h b/0x0026a_custom-bootloader/bootloader/include/verify.h deleted file mode 100644 index 5734107..0000000 --- a/0x0026a_custom-bootloader/bootloader/include/verify.h +++ /dev/null @@ -1,32 +0,0 @@ -/** - * @file verify.h - * @brief Firmware authenticity verification for the secure bootloader. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#ifndef VERIFY_H -#define VERIFY_H - -#include -#include "manifest.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Recompute the CMAC over the application and compare it to the tag. - * @param manifest Pointer to the validated manifest. - * @return bool True when the tag matches, false otherwise. - */ -bool verify_manifest(const fw_manifest_t *manifest); - -#ifdef __cplusplus -} -#endif - -#endif // VERIFY_H \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/src/aes_cmac.c b/0x0026a_custom-bootloader/bootloader/src/aes_cmac.c deleted file mode 100644 index 9dcc481..0000000 --- a/0x0026a_custom-bootloader/bootloader/src/aes_cmac.c +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @file aes_cmac.c - * @brief AES-128-CMAC primitives implemented on top of the SDK Mbed TLS. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "mbedtls/cmac.h" -#include "mbedtls/cipher.h" -#include "aes_cmac.h" - -int aes128_cmac(const uint8_t *key, const uint8_t *data, size_t len, - uint8_t *tag) { - const mbedtls_cipher_info_t *info; - info = mbedtls_cipher_info_from_type(MBEDTLS_CIPHER_AES_128_ECB); - if (info == NULL) return -1; - return mbedtls_cipher_cmac(info, key, 128, data, len, tag); -} - -bool cmac_tags_equal(const uint8_t *a, const uint8_t *b) { - uint8_t diff = 0; - for (size_t i = 0; i < AES_BLOCK_SIZE; i++) { - diff |= (uint8_t)(a[i] ^ b[i]); - } - return diff == 0; -} diff --git a/0x0026a_custom-bootloader/bootloader/src/boot.c b/0x0026a_custom-bootloader/bootloader/src/boot.c deleted file mode 100644 index 0b1dcb1..0000000 --- a/0x0026a_custom-bootloader/bootloader/src/boot.c +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @file boot.c - * @brief Secure boot console and application handoff helpers. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include -#include "pico/stdlib.h" -#include "boot.h" -#include "image.h" - -void boot_init(void) { - stdio_init_all(); - sleep_ms(2000); - printf("\n=== 0x0026a secure bootloader ===\n"); -} - -void boot_halt(const char *reason) { - printf("BOOT FAILED: %s\n", reason); - while (true) { - sleep_ms(500); - } -} - -void boot_launch(const fw_manifest_t *manifest) { - printf("signature valid, entering app at 0x%08lx\n", - (unsigned long)manifest->app_base); - image_start(manifest->app_base); -} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/src/image.c b/0x0026a_custom-bootloader/bootloader/src/image.c deleted file mode 100644 index 8e3a5f3..0000000 --- a/0x0026a_custom-bootloader/bootloader/src/image.c +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @file image.c - * @brief Loads the application stack pointer and branches to its reset vector. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "image.h" - -/** @brief Application reset handler signature. */ -typedef void (*image_entry_t)(void); - -/** - * @brief Mask interrupts and point VTOR at the incoming image. - * @param base Vector table base address written to the VTOR register. - * @return void No return value. - */ -static void halt_irq_and_rebase(uint32_t base) { - __asm volatile ("cpsid i" ::: "memory"); - *(volatile uint32_t *)0xE000ED08U = base; -} - -void image_start(uint32_t vector_base) { - uint32_t *vectors = (uint32_t *)vector_base; - image_entry_t entry = (image_entry_t)vectors[1]; - halt_irq_and_rebase(vector_base); - __asm volatile ("msr msp, %0" :: "r" (vectors[0]) : "memory"); - __asm volatile ("dsb\n\tisb" ::: "memory"); - entry(); -} diff --git a/0x0026a_custom-bootloader/bootloader/src/main.c b/0x0026a_custom-bootloader/bootloader/src/main.c deleted file mode 100644 index 044abf5..0000000 --- a/0x0026a_custom-bootloader/bootloader/src/main.c +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @file main.c - * @brief Secure bootloader entry point (verify AES-128-CMAC, then boot). - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - * - * ----------------------------------------------------------------------------- - * - * This file is deliberately thin: it only sequences the secure boot steps. - * The console setup, halt reporting, and application handoff live in boot.c; - * the CMAC verification (and its key) live in verify.c; the manifest lives in - * manifest.c; and the raw reset-vector jump lives in image.c. - * - * Flash map (2 MiB, RP2350 Pico 2): - * 0x10000000 bootloader image (this program) - * 0x1001F000 one-sector firmware manifest (magic, size, CMAC tag) - * 0x10020000 signed application image - */ - -#include "manifest.h" -#include "boot.h" -#include "verify.h" - -int main(void) { - fw_manifest_t manifest; - boot_init(); - manifest_read(&manifest); - if (!manifest_is_valid(&manifest)) boot_halt("manifest invalid"); - if (!verify_manifest(&manifest)) boot_halt("firmware signature invalid"); - boot_launch(&manifest); -} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/src/manifest.c b/0x0026a_custom-bootloader/bootloader/src/manifest.c deleted file mode 100644 index 90514c1..0000000 --- a/0x0026a_custom-bootloader/bootloader/src/manifest.c +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @file manifest.c - * @brief Reads and validates the firmware manifest from XIP flash. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include "flash_layout.h" -#include "manifest.h" - -void manifest_read(fw_manifest_t *out) { - const fw_manifest_t *src = (const fw_manifest_t *)FW_MANIFEST_BASE; - *out = *src; -} - -bool manifest_is_valid(const fw_manifest_t *manifest) { - if (manifest->magic != FW_MANIFEST_MAGIC) return false; - if (manifest->version != FW_MANIFEST_VERSION) return false; - return true; -} diff --git a/0x0026a_custom-bootloader/bootloader/src/verify.c b/0x0026a_custom-bootloader/bootloader/src/verify.c deleted file mode 100644 index 08b55cd..0000000 --- a/0x0026a_custom-bootloader/bootloader/src/verify.c +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @file verify.c - * @brief Firmware authenticity verification for the secure bootloader. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - */ - -#include -#include "flash_layout.h" -#include "verify.h" -#include "aes_cmac.h" - -/** @brief AES-128 key that authenticates the application image. */ -static const uint8_t fw_key[FW_TAG_SIZE] = { - 0x49, 0x72, 0x6F, 0x6E, 0x4E, 0x65, 0x74, 0x42, - 0x6F, 0x6F, 0x74, 0x4B, 0x65, 0x79, 0x21, 0x21 -}; - -bool verify_manifest(const fw_manifest_t *manifest) { - const uint8_t *base = (const uint8_t *)manifest->app_base; - uint8_t computed[FW_TAG_SIZE]; - int rc = aes128_cmac(fw_key, base, manifest->app_size, computed); - if (rc != 0) return false; - return cmac_tags_equal(computed, manifest->tag); -} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/common/include/mbedtls_config.h b/0x0026a_custom-bootloader/common/include/mbedtls_config.h deleted file mode 100644 index 12ec622..0000000 --- a/0x0026a_custom-bootloader/common/include/mbedtls_config.h +++ /dev/null @@ -1,25 +0,0 @@ -/** - * @file mbedtls_config.h - * @brief Minimal Mbed TLS configuration for the 0x0026a bootloader and app. - * @author Kevin Thomas - * @date 2026 - * - * MIT License - * Copyright (c) 2026 Kevin Thomas - * - * The Pico SDK points MBEDTLS_CONFIG_FILE at pico_mbedtls_config.h, which in - * turn includes this file. Only the AES-128 building blocks needed for CMAC - * authentication and CBC encryption are enabled, keeping the image small. - */ - -#ifndef MBEDTLS_CONFIG_H -#define MBEDTLS_CONFIG_H - -#include - -#define MBEDTLS_AES_C -#define MBEDTLS_CIPHER_C -#define MBEDTLS_CIPHER_MODE_CBC -#define MBEDTLS_CMAC_C - -#endif diff --git a/0x0026a_custom-bootloader/manifest.bin b/0x0026a_custom-bootloader/manifest.bin deleted file mode 100644 index 7b734c4c0a6219eb27aa81bbf00556ac0f14a960..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmWG{^KoKi00Aa}86gY|?^)!IPWo^(UHz6?;N{{e)&EDqXb6mkz-S1JhQMeDjE2By a2#kinXb6mkz-S1JhQMeDjE2CF4*>u=zuSEP diff --git a/0x0026a_custom-bootloader/pico_sdk_import.cmake b/0x0026a_custom-bootloader/pico_sdk_import.cmake deleted file mode 100644 index d493cc2..0000000 --- a/0x0026a_custom-bootloader/pico_sdk_import.cmake +++ /dev/null @@ -1,121 +0,0 @@ -# This is a copy of /external/pico_sdk_import.cmake - -# This can be dropped into an external project to help locate this SDK -# It should be include()ed prior to project() - -# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -# following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -# disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products -# derived from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) - set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) - message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) - set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) - message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) - set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) - message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") -endif () - -if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) - set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) - message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") -endif () - -if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) - set(PICO_SDK_FETCH_FROM_GIT_TAG "master") - message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") -endif() - -set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") -set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") -set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") -set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") - -if (NOT PICO_SDK_PATH) - if (PICO_SDK_FETCH_FROM_GIT) - include(FetchContent) - set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) - if (PICO_SDK_FETCH_FROM_GIT_PATH) - get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") - endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - ) - - if (NOT pico_sdk) - message("Downloading Raspberry Pi Pico SDK") - # GIT_SUBMODULES_RECURSE was added in 3.17 - if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - GIT_SUBMODULES_RECURSE FALSE - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - else () - FetchContent_Populate( - pico_sdk - QUIET - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} - - SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src - BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build - SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild - ) - endif () - - set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) - endif () - set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) - else () - message(FATAL_ERROR - "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." - ) - endif () -endif () - -get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") -if (NOT EXISTS ${PICO_SDK_PATH}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") -endif () - -set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) -if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) - message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") -endif () - -set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) - -include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0026a_custom-bootloader/tools/make_full_uf2.py b/0x0026a_custom-bootloader/tools/make_full_uf2.py deleted file mode 100755 index bf65bea..0000000 --- a/0x0026a_custom-bootloader/tools/make_full_uf2.py +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env python3 -"""Build a single BOOTSEL-draggable UF2 holding the whole secure-boot chain. - -The 0x0026a chain is three separate images at three flash addresses: - - bootloader 0x10000000 (owns the system, verifies the next image) - manifest 0x1001F000 (header + AES-128-CMAC tag) - app 0x10020000 (the signed application) - -The SDK emits a UF2 only for the bootloader, so a bare board would need three -separate flashes. This tool packs all three into ONE UF2 so a single BOOTSEL -drag-and-drop brings the whole device up. - -How it works: - - 1. Lay the three images out in a flat buffer whose offset 0 maps to - 0x10000000, filling the reserved gap between them with 0xFF (erased - flash). - 2. Hand that flat image to picotool as a normal image at 0x10000000. - 3. picotool numbers the blocks, tags them with the rp2350-arm-s family and - injects the RP2350-E10 absolute block that makes the boot ROM write each - block to its absolute address. - -The result is exactly the shape the boot ROM accepts over the BOOTSEL mass -storage interface, and it has been verified on hardware: the ROM accepts the -drag, the bootloader verifies the manifest, and the app runs. -""" - -import argparse -import hashlib -import os -import struct -import subprocess -import sys -import tempfile - -BOOTLOADER_BASE = 0x10000000 -MANIFEST_BASE = 0x1001F000 -APP_BASE = 0x10020000 -FAMILY = "rp2350-arm-s" -PLATFORM = "rp2350" - - -def build_flat(bootloader, manifest, app): - """Lay the three images out flat, offset 0 mapped to 0x10000000.""" - if APP_BASE < MANIFEST_BASE < BOOTLOADER_BASE: - raise SystemExit("address map is not ordered") - size = (APP_BASE - BOOTLOADER_BASE) + len(app) - image = bytearray(b"\xFF" * size) - image[0:len(bootloader)] = bootloader - m_off = MANIFEST_BASE - BOOTLOADER_BASE - image[m_off:m_off + len(manifest)] = manifest - a_off = APP_BASE - BOOTLOADER_BASE - image[a_off:a_off + len(app)] = app - return bytes(image) - - -def convert(flat, out, picotool): - """Run picotool to turn the flat image into an absolute-address UF2.""" - with tempfile.NamedTemporaryFile(suffix=".bin", delete=False) as tmp: - tmp.write(flat) - flat_path = tmp.name - try: - cmd = [ - picotool, "uf2", "convert", flat_path, out, - "-o", hex(BOOTLOADER_BASE), - "--family", FAMILY, - "--platform", PLATFORM, - "--abs-block", - ] - subprocess.run(cmd, check=True) - finally: - os.unlink(flat_path) - - -def verify(out): - """Report the block count and the families present in the UF2.""" - data = open(out, "rb").read() - blocks = [data[i:i + 512] for i in range(0, len(data), 512)] - families = set() - payload = 0 - for blk in blocks: - if len(blk) != 512 or struct.unpack_from(" int: - """Multiply a byte by x in GF(2^8).""" - value <<= 1 - return (value ^ RB) & 0xFF if value & 0x100 else value - - -def _expand_key(key: bytes) -> list[int]: - """Expand a 16-byte key into the 176-byte AES-128 round key schedule.""" - schedule = list(key) - for index in range(16, 176, 4): - word = schedule[index - 4:index] - if index % 16 == 0: - word = word[1:] + word[:1] - word = [SBOX[byte] for byte in word] - word[0] ^= RCON[index // 16 - 1] - for offset in range(4): - schedule.append(schedule[index - 16 + offset] ^ word[offset]) - return schedule - - -def _add_round_key(state: list[int], schedule: list[int]) -> None: - """XOR the round key into the state in place.""" - for index in range(16): - state[index] ^= schedule[index] - - -def _sub_bytes(state: list[int]) -> None: - """Apply the AES S-box to every byte of the state.""" - for index in range(16): - state[index] = SBOX[state[index]] - - -def _shift_rows(state: list[int]) -> None: - """Rotate each row of the AES state left by its row index.""" - for row in range(1, 4): - cells = [state[row + 4 * col] for col in range(4)] - cells = cells[row:] + cells[:row] - for col in range(4): - state[row + 4 * col] = cells[col] - - -def _mix_columns(state: list[int]) -> None: - """Mix each column of the AES state with the fixed AES matrix.""" - for col in range(4): - base = 4 * col - a0, a1, a2, a3 = state[base:base + 4] - total = a0 ^ a1 ^ a2 ^ a3 - state[base + 0] = a0 ^ total ^ _xtime(a0 ^ a1) - state[base + 1] = a1 ^ total ^ _xtime(a1 ^ a2) - state[base + 2] = a2 ^ total ^ _xtime(a2 ^ a3) - state[base + 3] = a3 ^ total ^ _xtime(a3 ^ a0) - - -def aes_encrypt_block(block: bytes, schedule: list[int]) -> bytes: - """Encrypt one 16-byte block with the supplied round key schedule.""" - state = list(block) - _add_round_key(state, schedule) - for round_index in range(1, 10): - _sub_bytes(state) - _shift_rows(state) - _mix_columns(state) - _add_round_key(state, schedule[16 * round_index:]) - _sub_bytes(state) - _shift_rows(state) - _add_round_key(state, schedule[160:]) - return bytes(state) - - -def _double(block: bytes) -> bytes: - """Left-shift a 128-bit big-endian value, folding in the CMAC constant.""" - value = int.from_bytes(block, "big") - value <<= 1 - if block[0] & 0x80: - value ^= RB_128 - return (value & ((1 << 128) - 1)).to_bytes(16, "big") - - -def _subkeys(schedule: list[int]) -> tuple[bytes, bytes]: - """Derive the RFC 4493 K1 and K2 subkeys.""" - k1 = _double(aes_encrypt_block(bytes(16), schedule)) - return k1, _double(k1) - - -def _xor(left: bytes, right: bytes) -> bytes: - """XOR two equal-length byte strings.""" - return bytes(a ^ b for a, b in zip(left, right)) - - -def aes128_cmac(key: bytes, message: bytes) -> bytes: - """Return the RFC 4493 AES-128-CMAC tag of a message.""" - schedule = _expand_key(key) - k1, k2 = _subkeys(schedule) - blocks = [message[i:i + 16] for i in range(0, len(message), 16)] - complete = bool(blocks) and len(blocks[-1]) == 16 - if not complete: - tail = (blocks[-1] + b"\x80") if blocks else b"\x80" - blocks = blocks[:-1] + [tail.ljust(16, b"\x00")] - last = blocks[-1] - last = _xor(last, k1 if complete else k2) - state = bytes(16) - for block in blocks[:-1]: - state = aes_encrypt_block(_xor(state, block), schedule) - return aes_encrypt_block(_xor(state, last), schedule) - - -def build_manifest(app: bytes, app_base: int, key: bytes) -> bytes: - """Assemble the padded manifest sector for an application image.""" - tag = aes128_cmac(key, app) - header = struct.pack(" bytes: - """Decode a hex or UTF-8 key argument into 16 bytes.""" - raw = bytes.fromhex(text) if len(text) == 32 else text.encode() - if len(raw) != 16: - raise argparse.ArgumentTypeError("key must be 16 bytes") - return raw - - -def _read_image(path: str) -> bytes: - """Read an application binary from disk.""" - data = Path(path).read_bytes() - if not data: - raise SystemExit(f"error: {path} is empty") - return data - - -def _cmd_sign(args: argparse.Namespace) -> int: - """Sign an image and write the manifest sector.""" - app = _read_image(args.image) - manifest = build_manifest(app, args.app_base, args.key) - out = Path(args.out) - out.parent.mkdir(parents=True, exist_ok=True) - out.write_bytes(manifest) - tag = manifest[16:32].hex() - print(f"image : {args.image} ({len(app)} bytes)") - print(f"app_base : 0x{args.app_base:08x}") - print(f"cmac tag : {tag}") - print(f"manifest : {out} ({len(manifest)} bytes)") - return 0 - - -def _cmd_verify(args: argparse.Namespace) -> int: - """Recompute the tag and compare it against a manifest on disk.""" - app = _read_image(args.image) - manifest = Path(args.verify).read_bytes() - stored = manifest[16:32] - expected = aes128_cmac(args.key, app) - print(f"stored : {stored.hex()}") - print(f"computed : {expected.hex()}") - if stored != expected: - print("result : MISMATCH") - return 1 - print("result : MATCH") - return 0 - - -def main() -> int: - """Parse arguments and dispatch to sign or verify.""" - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("image", help="raw application .bin to sign") - parser.add_argument("--out", default="manifest.bin", - help="manifest output path (default: manifest.bin)") - parser.add_argument("--app-base", type=lambda v: int(v, 0), - default=DEFAULT_APP_BASE, - help="application base address (default: 0x10020000)") - parser.add_argument("--key", type=_parse_key, default=DEFAULT_KEY, - help="16-byte AES key as text or 32 hex digits") - parser.add_argument("--verify", metavar="MANIFEST", - help="verify an existing manifest instead of signing") - args = parser.parse_args() - if args.verify: - return _cmd_verify(args) - return _cmd_sign(args) - - -if __name__ == "__main__": - raise SystemExit(main()) diff --git a/README.md b/README.md index 79aed78..bb2b4c8 100644 --- a/README.md +++ b/README.md @@ -138,30 +138,30 @@ The **build** step is identical on all three platforms — CMake and Ninja are c ### Windows x64 ```powershell -cd 0x0001_hello-world +cd WEEK01\0x0001_hello-world cmake -B build -G Ninja -DPICO_BOARD=pico2 -DPICO_PLATFORM=rp2350 -DCMAKE_BUILD_TYPE=Release cmake --build build -..\flash.ps1 build\0x0001_hello-world.bin +..\..\flash.ps1 build\0x0001_hello-world.bin ``` Serial monitor: **PuTTY** -> *Serial* -> the Debug Probe's COM port -> **115200**. ### macOS Apple Silicon ```bash -cd 0x0001_hello-world +cd WEEK01/0x0001_hello-world cmake -B build -G Ninja -DPICO_BOARD=pico2 -DPICO_PLATFORM=rp2350 -DCMAKE_BUILD_TYPE=Release cmake --build build -../flash.sh build/0x0001_hello-world.bin +../../flash.sh build/0x0001_hello-world.bin screen /dev/cu.usbmodem* 115200 ``` ### Linux x64 ```bash -cd 0x0001_hello-world +cd WEEK01/0x0001_hello-world cmake -B build -G Ninja -DPICO_BOARD=pico2 -DPICO_PLATFORM=rp2350 -DCMAKE_BUILD_TYPE=Release cmake --build build -../flash.sh build/0x0001_hello-world.bin +../../flash.sh build/0x0001_hello-world.bin screen /dev/ttyACM0 115200 ``` @@ -283,15 +283,15 @@ Embedded System Analysis: Understanding the RP2350 Architecture w/ Comprehensive ### Ghidra Patching Tutorial [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK03/GHIDRA_PATCHING_TUTORIAL.md) -### CTF-01 Instructions [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0001b_ctf/CTF-01-I.md) +### CTF-01 Instructions [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK04/0x0001b_ctf/CTF-01-I.md) -### CTF-01 Rubric [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0001b_ctf/CTF-01-R.md) +### CTF-01 Rubric [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK04/0x0001b_ctf/CTF-01-R.md) -### CTF-01 Solution [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0001b_ctf/CTF-01-S.md) +### CTF-01 Solution [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK04/0x0001b_ctf/CTF-01-S.md) -### CTF-01 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0001b_ctf/CTF-01.bin) +### CTF-01 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK04/0x0001b_ctf/CTF-01.bin) -### CTF-01 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0001b_ctf/CTF-01.uf2) +### CTF-01 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK04/0x0001b_ctf/CTF-01.uf2) ### Chapter 4: Embedded System Analysis This chapter covers a comprehensive embedded system analysis reviewing parts of the RP2350 datasheet and helpful firmware analysis tools. @@ -406,11 +406,11 @@ This chapter covers hacking the double floating-point data type as it relates to ## Week 6 Static Variables in Embedded Systems: Debugging and Hacking Static Variables w/ GPIO Input Basics -### Classified Brief 0x01 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0011a_cb/CLASSIFIED-BRIEF-0x01.md) +### Classified Brief 0x01 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK05/0x0011a_cb/CLASSIFIED-BRIEF-0x01.md) -### Classified Brief 0x01 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0011a_cb/0x0011a_cb.bin) +### Classified Brief 0x01 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK05/0x0011a_cb/0x0011a_cb.bin) -### Classified Brief 0x01 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0011a_cb/0x0011a_cb.uf2) +### Classified Brief 0x01 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK05/0x0011a_cb/0x0011a_cb.uf2) ### Week 6 Slides [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK06/WEEK06-SLIDES.pdf) @@ -438,11 +438,11 @@ This chapter covers hacking static variables as well as an intro to GPIO inputs ## Week 7 Constants in Embedded Systems: Debugging and Hacking Constants w/ 1602 LCD I2C Basics -### Classified Brief 0x02 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0014a_cb/CLASSIFIED-BRIEF-0x02.md) +### Classified Brief 0x02 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK06/0x0014a_cb/CLASSIFIED-BRIEF-0x02.md) -### Classified Brief 0x02 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0014a_cb/0x0014a_cb.bin) +### Classified Brief 0x02 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK06/0x0014a_cb/0x0014a_cb.bin) -### Classified Brief 0x02 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0014a_cb/0x0014a_cb.uf2) +### Classified Brief 0x02 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK06/0x0014a_cb/0x0014a_cb.uf2) ### Week 7 Slides [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK07/WEEK07-SLIDES.pdf) @@ -470,25 +470,25 @@ This chapter covers hacking constants as well as an intro to I2C as we work a 16 ## Week 8 ### Midterm Exam -### CTF-02 Instructions [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0017a_ctf/CTF-02-I.md) +### CTF-02 Instructions [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK07/0x0017a_ctf/CTF-02-I.md) -### CTF-02 Rubric [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0017a_ctf/CTF-02-R.md) +### CTF-02 Rubric [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK07/0x0017a_ctf/CTF-02-R.md) -### CTF-02 Solution [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0017a_ctf/CTF-02-S.md) +### CTF-02 Solution [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK07/0x0017a_ctf/CTF-02-S.md) -### CTF-02 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0017a_ctf/CTF-02.bin) +### CTF-02 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK07/0x0017a_ctf/CTF-02.bin) -### CTF-02 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0017a_ctf/CTF-02.uf2) +### CTF-02 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK07/0x0017a_ctf/CTF-02.uf2) ## Week 9 Operators in Embedded Systems: Debugging and Hacking Operators w/ DHT11 Temperature & Humidity Sensor Single-Wire Protocol Basics -### Classified Brief 0x03 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x001aa_cb/CLASSIFIED-BRIEF-0x03.md) +### Classified Brief 0x03 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK09/0x001aa_cb/CLASSIFIED-BRIEF-0x03.md) -### Classified Brief 0x03 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x001aa_cb/0x001aa_cb.bin) +### Classified Brief 0x03 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK09/0x001aa_cb/0x001aa_cb.bin) -### Classified Brief 0x03 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x001aa_cb/0x001aa_cb.uf2) +### Classified Brief 0x03 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK09/0x001aa_cb/0x001aa_cb.uf2) ### Week 9 Slides [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK09/WEEK09-SLIDES.pdf) @@ -517,11 +517,11 @@ This chapter covers hacking operators as well as an intro to single-wire protoco Conditionals in Embedded Systems: Debugging and Hacking Static & Dynamic Conditionals w/ SG90 Servo Motor PWM Basics -### Classified Brief 0x04 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x001da_cb/CLASSIFIED-BRIEF-0x04.md) +### Classified Brief 0x04 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK10/0x001da_cb/CLASSIFIED-BRIEF-0x04.md) -### Classified Brief 0x04 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x001da_cb/0x001da_cb.bin) +### Classified Brief 0x04 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK10/0x001da_cb/0x001da_cb.bin) -### Classified Brief 0x04 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x001da_cb/0x001da_cb.uf2) +### Classified Brief 0x04 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK10/0x001da_cb/0x001da_cb.uf2) ## Week 10 Slides [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK10/WEEK10-SLIDES.pdf) @@ -565,11 +565,11 @@ This chapter covers hacking dynamic conditionals as well as additional PWM examp Structures and Functions in Embedded Systems: Debugging and Hacking w/ IR Remote Control and NEC Protocol Basics -### Classified Brief 0x05 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0020a_cb/CLASSIFIED-BRIEF-0x05.md) +### Classified Brief 0x05 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK10/0x0020a_cb/CLASSIFIED-BRIEF-0x05.md) -### Classified Brief 0x05 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0020a_cb/0x0020a_cb.bin) +### Classified Brief 0x05 BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK10/0x0020a_cb/0x0020a_cb.bin) -### Classified Brief 0x05 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0020a_cb/0x0020a_cb.uf2) +### Classified Brief 0x05 UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK10/0x0020a_cb/0x0020a_cb.uf2) ## Week 11 Slides [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/WEEK11-SLIDES.pdf) @@ -577,15 +577,15 @@ Structures and Functions in Embedded Systems: Debugging and Hacking w/ IR Remote ## Week 11a Secure Boot + Custom Bootloader Notebook [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/WEEK11a.md) -### 0x0026a Custom Secure Bootloader [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/README.md) +### 0x0026a Custom Secure Bootloader [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/0x0026a_custom-bootloader/README.md) -### 0x0026a Bootloader BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/0x0026a_bootloader.bin) +### 0x0026a Bootloader BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/0x0026a_custom-bootloader/0x0026a_bootloader.bin) -### 0x0026a Signed Application BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/0x0026a_app.bin) +### 0x0026a Signed Application BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/0x0026a_custom-bootloader/0x0026a_app.bin) -### 0x0026a Manifest BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/manifest.bin) +### 0x0026a Manifest BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/0x0026a_custom-bootloader/manifest.bin) -### 0x0026a Full Secure Boot UF2 (bootloader + manifest + app) [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/0x0026a_full.uf2) +### 0x0026a Full Secure Boot UF2 (bootloader + manifest + app) [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/0x0026a_custom-bootloader/0x0026a_full.uf2) ## Week 11-BN Notebook [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/WEEK11-BN.md) diff --git a/flash.ps1 b/flash.ps1 index 74790de..428f6ca 100644 --- a/flash.ps1 +++ b/flash.ps1 @@ -37,7 +37,7 @@ lower it to 1000. .EXAMPLE - .\flash.ps1 -Bin 0x0005_intro-to-variables\build\0x0005_intro-to-variables.bin + .\flash.ps1 -Bin WEEK04\0x0005_intro-to-variables\build\0x0005_intro-to-variables.bin .EXAMPLE $env:ADAPTER_SPEED=1000; .\flash.ps1 -Bin build\hacked.bin diff --git a/flash.sh b/flash.sh index 97ee9c5..12a5d17 100755 --- a/flash.sh +++ b/flash.sh @@ -40,7 +40,7 @@ # lower it to 1000. # # Examples: -# ./flash.sh 0x0005_intro-to-variables/build/0x0005_intro-to-variables.bin +# ./flash.sh WEEK04/0x0005_intro-to-variables/build/0x0005_intro-to-variables.bin # ADAPTER_SPEED=1000 ./flash.sh build/hacked.bin # PICO_OPENOCD=/opt/homebrew/bin ./flash.sh build/hacked.bin #

  • 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 P36415(xn^pwfO!Y^-2y| diff --git a/0x0001b_ctf/CTF-01-S.md b/0x0001b_ctf/CTF-01-S.md deleted file mode 100644 index 6d19d05..0000000 --- a/0x0001b_ctf/CTF-01-S.md +++ /dev/null @@ -1,467 +0,0 @@ -# Operation Black Start - Instructor Solution Key - -``` -+----------------------------------------------------------------------------------------+ -| | -| ██████╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗████████╗ █████╗ ██████╗ ████████╗ | -| ██╔══██╗██║ ██╔══██╗██╔════╝██║ ██╔╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝ | -| ██████╔╝██║ ███████║██║ █████╔╝ ███████╗ ██║ ███████║██████╔╝ ██║ | -| ██╔══██╗██║ ██╔══██║██║ ██╔═██╗ ╚════██║ ██║ ██╔══██║██╔══██╗ ██║ | -| ██████╔╝███████╗██║ ██║╚██████╗██║ ██╗███████╗ ██║ ██║ ██║██║ ██║ ██║ | -| ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝██║ ██║╚══════╝ ╚═╝ ╚═╝ ╚═╝██║ ██║ ██║ | -| | -| | -| O P E R A T I O N B L A C K S T A R T | -| | -| *** INSTRUCTOR SOLUTION KEY - RESTRICTED *** | -| | -+----------------------------------------------------------------------------------------+ -``` - -> The task and criterion headings in this key are word-for-word identical to -> `CTF-01-R.md`, so a student can match each criterion one-to-one. - ---- - -## Artifact Identity - -| Artifact | Value | -|----------|-------| -| Student image | `CTF-01.bin` | -| Flash image | `CTF-01.uf2` | -| Target | Raspberry Pi Pico 2 / RP2350 ARM Cortex-M33 | -| Image base | `0x10000000` | -| Console | UART0, GPIO 0 TX / GPIO 1 RX, 115200 8N1 | - -```text -CTF-01.bin 425591AC17FF4C22206286EE6F40B06A89523483804850A41854A9B6F89D7B70 -CTF-01.uf2 B1552EE3BB5763D96C65D8DF1C86984EE842EF1A823FDF5D94132B1E10FF9D16 -``` - -Proof tool: `python3 scripts/verify_ctf.py` returns `11/11 checks passed` against -`CTF-01.bin`. - ---- - -## Task 1: Setup and Initial Analysis (15 points) - -### Solution - -**Criterion 1.1: Ghidra Project Setup (3 points).** Import `CTF-01.bin` as -`Raw Binary`, language `ARM:LE:32:Cortex`, base address `0x10000000`, then run -auto-analysis. - -**Criterion 1.2: main() and Status-Loop Addresses (4 points).** - -| Element | Address | -|---------|---------| -| `main()` | `0x100001E0` | -| Recurring status loop start | `0x10000234` | -| Loop back-edge (`b.n 0x10000234`) | `0x10000266` | - -The back-edge instruction at `0x10000266` is `b.n 0x10000234`, encoded as bytes -`E5 E7`. - -**Criterion 1.3: Vector Table Decoding (4 points).** -First 32 bytes of `CTF-01.bin`: - -```text -00 20 08 20 5B 01 00 10 1B 01 00 10 1D 01 00 10 -11 01 00 10 11 01 00 10 11 01 00 10 11 01 00 10 -``` - -| Evidence | Answer | -|----------|--------| -| Vector table base | `0x10000000` | -| Initial SP | `0x20082000` | -| Reset pointer (as stored) | `0x1000015B` | -| Reset instruction address | `0x1000015A` | - -**Criterion 1.4: Thumb Addressing (4 points).** -The stored reset pointer `0x1000015B` has bit 0 set to 1, which selects Thumb -mode. Clearing bit 0 (`0x1000015B & ~1`) gives the real instruction address -`0x1000015A`. The equally odd interrupt vectors (`0x1000011B`, `0x1000011D`, -`0x10000111`) are handled the same way. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 1.1: Ghidra Project Setup | 3 | Correct project name, `ARM:LE:32:Cortex` (ARM Cortex 32-bit little endian), base `0x10000000` | One item off | Not set up | -| Criterion 1.2: main() and Status-Loop Addresses | 4 | Both addresses correct | One correct | Neither found | -| Criterion 1.3: Vector Table Decoding | 4 | Correct base, initial SP, reset pointer | One missing | Not found | -| Criterion 1.4: Thumb Addressing | 4 | Correctly clears bit 0 and identifies `main()` | General explanation | Incorrect | - -### Instructor Notes & Assembly - -- Confirm the Ghidra import used `Raw Binary`, `ARM:LE:32:Cortex`, base - `0x10000000`, and that auto-analysis completed before any address was read. -- Verify `main()` is `0x100001E0`, the loop head is `0x10000234`, and the - back-edge bytes `E5 E7` sit at `0x10000266`. -- The reset vector is stored as `0x1000015B`; the real Thumb entry is - `0x1000015A`. Do not accept the un-cleared `0x1000015B` as an instruction - address. - ---- - -## Task 2: Find and Patch Bug #1: The Miscalibrated Safety Threshold (30 points) - -### Solution - -`grid_deviation` is `volatile`, so the compiler emits two independent compares: -one for the operator status and one for the automated dispatch decision. - -**Criterion 2.1: Locate Compare Site A (5 points).** - -```text -100001fc: 2b5e cmp r3, #94 @ 0x5e -``` - -| Item | Value | -|------|-------| -| Address | `0x100001FC` | -| File offset | `0x1FC` | -| Original bytes | `5E 2B` | -| Original instruction | `cmp r3, #94` | - -**Criterion 2.2: Locate Compare Site B (5 points).** - -```text -1000020a: 2b5e cmp r3, #94 @ 0x5e -``` - -| Item | Value | -|------|-------| -| Address | `0x1000020A` | -| File offset | `0x20A` | -| Original bytes | `5E 2B` | -| Original instruction | `cmp r3, #94` | - -**Criterion 2.3: Correct Immediate-Value Reasoning (8 points).** -The source constant is `SAFE_THRESHOLD = 95` and the test is `x < 95`. For an -unsigned value, `x < 95` is exactly `x <= 94`, which the compiler emits as -`cmp r3, #94` plus `ite hi`. The correct engineering limit is `60`, so the test -is `x < 60`, which is `x <= 59`. The correct patched immediate is therefore -**`0x3B` (59)**, not `0x3C` (60). Patching to `0x3C` would wrongly accept a -reading of exactly 60. - -**Criterion 2.4: Patch Compare Site A (4 points).** - -| Address | File Offset | Original | Patched | Before | After | -|---------|-------------|----------|---------|--------|-------| -| `0x100001FC` | `0x1FC` | `5E 2B` | `3B 2B` | `cmp r3, #94` | `cmp r3, #59` | - -**Criterion 2.5: Patch Compare Site B (4 points).** - -| Address | File Offset | Original | Patched | Before | After | -|---------|-------------|----------|---------|--------|-------| -| `0x1000020A` | `0x20A` | `5E 2B` | `3B 2B` | `cmp r3, #94` | `cmp r3, #59` | - -**Criterion 2.6: Explain Why Both Sites Must Be Patched (4 points).** -`operator_state` (`0x20000844`) and `dispatch_state` (`0x20000834`) are each -computed from their own read of `grid_deviation`. Patching only site A fixes the -displayed text while the automated dispatch at site B still authorizes on the -dangerous reading. Frozen reading `87`: `87 <= 94` is true (STABLE/AUTHORIZED, -wrong); `87 <= 59` is false (CRITICAL/HELD, correct). - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 2.1: Locate Compare Site A | 5 | Correct address and original bytes | Address off | Not found | -| Criterion 2.2: Locate Compare Site B | 5 | Correct address and original bytes | Address off | Not found | -| Criterion 2.3: Correct Immediate-Value Reasoning | 8 | Explains the `<` to `<=` transform and gives `0x3B` | Correct value, no reasoning | Wrong value | -| Criterion 2.4: Patch Compare Site A | 4 | Byte change verified | Wrong byte | Not patched | -| Criterion 2.5: Patch Compare Site B | 4 | Byte change verified | Wrong byte | Not patched | -| Criterion 2.6: Explain Why Both Sites Must Be Patched | 4 | Clear explanation of the two independent comparisons | Vague | Missing | - -### Instructor Notes & Assembly - -- Both sites must be patched: `0x100001FC` for operator status and - `0x1000020A` for the automated dispatch decision. -- The correct immediate is `0x3B` (59), not `0x3C` (60); the source test is a - strict `<`, compiled as `<= 94`. -- Verify the byte changes on hardware: after patching, `operator_state` - (`0x20000844`) and `dispatch_state` (`0x20000834`) read `0` and `0`. -- **Ghidra ARM/Thumb Context Note:** In raw `.bin` files, patching an instruction - that precedes an `IT` block (`ite hi`) using the GUI *Patch Instruction* action - triggers Ghidra's `ReDisassembleCommand`. The re-disassembler encounters an - internal context register conflict when trying to re-declare the `ITBlock` - context over existing instructions, collapsing Thumb decoding into 32-bit ARM - mode and swallowing Site B (`0x1000020A`). Students must patch using the Bytes - window workflow (Clear `C` -> edit byte `5E` -> `3B` in Bytes window with pencil - icon -> Disassemble `D`) to keep Site B visible and cleanly aligned. - ---- - -## Task 3: Find and Patch Bug #2: The False Signal Banner (20 points) - -### Solution - -**Criterion 3.1: Locate the Banner String (5 points).** - -| String | Address | -|--------|---------| -| `"SIGNAL: NORMAL\r"` | `0x10003678` | -| `"NORMAL"` substring to patch | `0x10003680` | - -The string is loaded at call site `0x10000224` (`ldr r0, [pc, #92]` -> -`0x10003678`) and printed by `bl __wrap_puts` at `0x10000226`. It is printed -once at boot and never recomputed. - -**Criterion 3.2: Patch Six Characters (8 points).** -`NORMAL` and `DANGER` are both six ASCII characters, so the patch preserves the -string length. - -| Address Range | Original Bytes | Patched Bytes | -|---------------|----------------|---------------| -| `0x10003680` - `0x10003685` | `4E 4F 52 4D 41 4C` | `44 41 4E 47 45 52` | - -**Criterion 3.3: Character-by-Character Documentation (4 points).** - -| Address | Original Char | Original Byte | Patched Char | Patched Byte | -|---------|---------------|---------------|--------------|--------------| -| `0x10003680` | N | `4E` | D | `44` | -| `0x10003681` | O | `4F` | A | `41` | -| `0x10003682` | R | `52` | N | `4E` | -| `0x10003683` | M | `4D` | G | `47` | -| `0x10003684` | A | `41` | E | `45` | -| `0x10003685` | L | `4C` | R | `52` | - -**Criterion 3.4: Explain the Danger of a Hardcoded Status Word (3 points).** -The banner never consults the reading, so it reports a healthy line even while -the frozen reading is dangerous. Operators trust supervisory banners, so a -hardcoded `NORMAL` masks the hazard and prevents manual intervention. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 3.1: Locate the Banner String | 5 | Correct address | Approximate | Not found | -| Criterion 3.2: Patch Six Characters | 8 | All six bytes changed, length preserved | Correct text, wrong bytes documented | Wrong length | -| Criterion 3.3: Character-by-Character Documentation | 4 | Original vs patched byte for all six characters | Partial | Missing | -| Criterion 3.4: Explain the Danger of a Hardcoded Status Word | 3 | Clear, specific reasoning | Generic | Missing | - -### Instructor Notes & Assembly - -- `NORMAL` and `DANGER` are both six characters; the patch must not change the - string length or overwrite adjacent flash. -- The banner is printed once at boot and never recomputed, so it is a separate - defect from the threshold and must be graded independently. -- Confirm the patch covers `0x10003680` through `0x10003685` exactly. - ---- - -## Task 4: Recover the Quarantined Dispatch Frame (10 points) - -### Solution - -**Criterion 4.1: Recover the Dispatch Frame (6 points).** -Address `0x100037A0` in flash `.rodata`: - -```text -WORLDGRID:BLACKSTART:GRID-7:WATER-3 -``` - -**Criterion 4.2: Explain Why It Is Never Transmitted (4 points).** -`retain_dispatch_frame()` reads only the first character into a `volatile` local -so the linker keeps the string, but the pointer is never passed to any print or -UART routine. The frame is evidence only and must not be patched. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 4.1: Recover the Dispatch Frame | 6 | Correct address and full text | Partial text | Not found | -| Criterion 4.2: Explain Why It Is Never Transmitted | 4 | Clear static-analysis explanation | Vague | Missing | - -### Instructor Notes & Assembly - -- Accept the full string `WORLDGRID:BLACKSTART:GRID-7:WATER-3` at `0x100037A0` - in flash `.rodata`. -- The frame is evidence only. Penalize any submission that patches or rewrites - it instead of recovering it. - ---- - -## Task 5: Export and Verify (20 points) - -### Solution - -**Criterion 5.1: Export CTF-01_fixed.bin (4 points).** -Export the patched program from Ghidra (`File -> Export Program...`, `Binary -Format`) as `CTF-01_fixed.bin`. - -**Criterion 5.2: Convert to CTF-01_fixed.uf2 (4 points).** - -```bash -python uf2conv.py CTF-01_fixed.bin --base 0x10000000 --family 0xe48bff59 --output CTF-01_fixed.uf2 -``` - -**Criterion 5.3: Hardware Verification (8 points).** - -Before patching: - -```text -GLOBAL EMBEDDED RESPONSE NETWORK -BLACK START WINDOW: 27 MINUTES -UART0 115200 8N1 | AUTHORIZED LAB CONSOLE -SIGNAL: NORMAL -RESPONSE> GRID STATUS: STABLE -DISPATCH PATH: AUTHORIZED -LAST FRAME: QUARANTINED -RESPONSE> -``` - -After all three patches: - -```text -GLOBAL EMBEDDED RESPONSE NETWORK -BLACK START WINDOW: 27 MINUTES -UART0 115200 8N1 | AUTHORIZED LAB CONSOLE -SIGNAL: DANGER -RESPONSE> GRID STATUS: CRITICAL -DISPATCH PATH: HELD -LAST FRAME: QUARANTINED -RESPONSE> -``` - -If the console is not wired, the same proof is read over SWD: after reset, -`operator_state` (`0x20000844`) and `dispatch_state` (`0x20000834`) are `1` and -`1` for the shipped image, and `0` and `0` for the patched image. This has been -confirmed on real hardware. - -**Criterion 5.4: Summary Table of All Patches (4 points).** - -| # | What | Address(es) | Original | Patched | -|---|------|-------------|----------|---------| -| 1a | Operator threshold | `0x100001FC` | `5E 2B` | `3B 2B` | -| 1b | Dispatch threshold | `0x1000020A` | `5E 2B` | `3B 2B` | -| 2 | Signal banner | `0x10003680`-`0x10003685` | `4E 4F 52 4D 41 4C` | `44 41 4E 47 45 52` | - -Total: **8 bytes actually change** (one immediate byte at each compare site and -six string bytes). - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 5.1: Export CTF-01_fixed.bin | 4 | Valid patched binary | Corrupted | Not submitted | -| Criterion 5.2: Convert to CTF-01_fixed.uf2 | 4 | Correct base and family flags | Wrong flags | Not submitted | -| Criterion 5.3: Hardware Verification | 8 | Corrected console output confirmed on hardware | Some lines corrected | No verification | -| Criterion 5.4: Summary Table of All Patches | 4 | Complete address and before/after table | Missing entries | No table | - -### Instructor Notes & Assembly - -- Verify the exported image with `python3 scripts/verify_ctf.py`; the shipped - check expects `11/11 checks passed` against `CTF-01.bin`. -- Confirm the UF2 conversion used base `0x10000000` and family `0xe48bff59`. -- **Serial Terminal Timing:** Note that `print_boot_banner()` (`SIGNAL: DANGER`) - fires within the first 5 milliseconds of boot. In normal lab usage, PuTTY - attaches after boot and will display the continuous 1-second status loop - (`GRID STATUS: CRITICAL`, `DISPATCH PATH: HELD`). To see `SIGNAL: DANGER`, - the student must pulse `RUN` to `GND` while PuTTY is open, or demonstrate - the string change at `0x10003680` via Ghidra static analysis. -- If no console is available, accept the SWD capture showing `operator_state` - and `dispatch_state` at `0` and `0` on the patched image. - ---- - -## Task 6: Written Reflection (5 points) - -### Solution - -**Criterion 6.1: "Rushed Build" Is Not an Excuse (2 points).** -The missed review step is exactly what shipped the false-safe report; pressure -explains why the safeguard was skipped, not why it should be skipped. - -**Criterion 6.2: One Engineering Practice per Bug (3 points).** -- Bug #1 (duplicated threshold): a unit test or static-analysis rule that - requires every comparison against `SAFE_THRESHOLD` to use one shared source of - truth. -- Bug #2 (hardcoded banner): a hardware-in-the-loop smoke test that checks the - boot banner against the latched reading. - -### Grading Rubric (1-to-1 Mapping) - -| Criterion | Points | Full Credit (Answer Key) | Partial Credit | No Credit | -|-----------|--------|--------------------------|----------------|-----------| -| Criterion 6.1: "Rushed Build" Is Not an Excuse | 2 | Specific, grounded reasoning | Generic | Missing | -| Criterion 6.2: One Engineering Practice per Bug | 3 | Concrete practice for each bug | One bug only | Missing | - -### Instructor Notes & Assembly - -- Grade the specificity of the reasoning, not the length of the prose. -- Require one concrete engineering practice for each of the two bugs. - ---- - -## How To Breadboard - -- **Raspberry Pi Pico 2** powered over USB. -- **3.3 V USB-UART adapter**: - - Adapter RX to Pico GP0 (UART0 TX) - - Adapter TX to Pico GP1 (UART0 RX) - - Adapter GND to Pico GND - - Do not connect the adapter VCC while the Pico is USB powered. -- **Serial monitor:** 115200 baud, 8 data bits, no parity, 1 stop bit. -- No other peripherals are required; all evidence is obtained from the console. - ---- - -## Complete Grading Summary - -| Task | Title | Points | -|------|-------|--------| -| Task 1 | Setup and Initial Analysis | 15 | -| Task 2 | Find and Patch Bug #1: The Miscalibrated Safety Threshold | 30 | -| Task 3 | Find and Patch Bug #2: The False Signal Banner | 20 | -| Task 4 | Recover the Quarantined Dispatch Frame | 10 | -| Task 5 | Export and Verify | 20 | -| Task 6 | Written Reflection | 5 | -| **TOTAL** | | **100** | - ---- - -## Instructor Notes - -Safety: Use only the supplied Pico 2, 3.3 V UART adapter, and firmware. Never -connect the exercise to an operational grid, water plant, public network, -military system, or third-party device. - -### Common Student Mistakes - -- Patching only one threshold site (`0x100001FC` or `0x1000020A`), which leaves - one status line lying. -- Assuming the immediate equals the limit, producing an off-by-one boundary; - the correct byte is `0x3B` (59), not `0x3C` (60). -- Replacing the banner string with a different length, corrupting adjacent - flash; `NORMAL` and `DANGER` are both 6 bytes. -- Treating the odd vector address `0x1000015B` as invalid instead of clearing - bit 0 to get `0x1000015A`. -- Modifying the quarantined dispatch frame at `0x100037A0`, which destroys - evidence. - -### Partial Credit Guidelines - -- Award partial credit for one correct threshold site out of two, or for a - correct immediate value without the `<` to `<=` reasoning. -- Award partial credit for a correct banner text with incorrectly documented - bytes, or for partial character-by-character documentation. -- Accept an SWD read of `operator_state` and `dispatch_state` as equivalent - proof when no UART console is available. -- Award no credit for patches that change string length or overwrite adjacent - flash. - ---- - -## Appendix: Expected Binary Diff - -| # | What | File Offset(s) | Address(es) | Original Bytes | Patched Bytes | -|---|------|----------------|-------------|----------------|---------------| -| 1a | Operator threshold | `0x1FC` | `0x100001FC` | `5E 2B` | `3B 2B` | -| 1b | Dispatch threshold | `0x20A` | `0x1000020A` | `5E 2B` | `3B 2B` | -| 2 | Signal banner | `0x3680` - `0x3685` | `0x10003680` - `0x10003685` | `4E 4F 52 4D 41 4C` | `44 41 4E 47 45 52` | - -Total: **8 bytes actually change** (one immediate byte at each compare site and -six string bytes). diff --git a/0x0001b_ctf/CTF-01-S.pdf b/0x0001b_ctf/CTF-01-S.pdf deleted file mode 100644 index 1180fbe0e83cb19139c6c40e9ac625c382f4afb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529327 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%0D4(xx&HL^e0J#Io(B(KZG9+r6Vv8%LQ&O| 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