diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..84d2aa4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,35 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "esp32_c3_lcdkit - Wokwi GDB", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build.esp32_c3_lcdkit/esp32-sdl3-swift-example.elf", + "cwd": "${workspaceFolder}", + "MIMode": "gdb", + "miDebuggerPath": "${command:espIdf.getToolchainGdb}", + "miDebuggerServerAddress": "localhost:3333" + }, + { + "name": "esp32_c6_devkit - Wokwi GDB", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build.esp32_c6_devkit/esp32-sdl3-swift-example.elf", + "cwd": "${workspaceFolder}", + "MIMode": "gdb", + "miDebuggerPath": "${command:espIdf.getToolchainGdb}", + "miDebuggerServerAddress": "localhost:3333" + }, + { + "name": "esp32_p4_function_ev_board - Wokwi GDB", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build.esp32_p4_function_ev_board/esp32-sdl3-swift-example.elf", + "cwd": "${workspaceFolder}", + "MIMode": "gdb", + "miDebuggerPath": "${command:espIdf.getToolchainGdb}", + "miDebuggerServerAddress": "localhost:3333" + }, + ] + } \ No newline at end of file diff --git a/README.md b/README.md index 268cb43..28fd9a5 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,14 @@ idf.py @boards/esp32_c6_devkit.cfg menuconfig idf.py @boards/esp32_c6_devkit.cfg flash monitor ``` +### Run simulation in VS Code + +- Build the project, to get binaries for simulation. +- Install [Wokwi for VS Code](https://docs.wokwi.com/vscode/getting-started/). +- Open file `boards/esp32_.../diagram.json`. +- Click Play button to start simulation. +- Click Pause button to freeze simulation and display states of GPIOs. + ## Credits - Graphical assets: https://opengameart.org/content/platformer-tiles diff --git a/boards/esp32_c3_lcdkit/wokwi.toml b/boards/esp32_c3_lcdkit/wokwi.toml index e9da89c..e74bf03 100644 --- a/boards/esp32_c3_lcdkit/wokwi.toml +++ b/boards/esp32_c3_lcdkit/wokwi.toml @@ -2,6 +2,6 @@ # Reference: https://docs.wokwi.com/vscode/project-config [wokwi] version = 1 -firmware = 'build.esp32_c3_lcdkit/flasher_args.json' -elf = 'build.esp32_c3_lcdkit/esp32-sdl3-swift-example.elf' -gdbServerPort=3333 +firmware = '../../build.esp32_c3_lcdkit/flasher_args.json' +elf = '../../build.esp32_c3_lcdkit/esp32-sdl3-swift-example.elf' +# gdbServerPort=3333 diff --git a/boards/esp32_c6_devkit/diagram.json b/boards/esp32_c6_devkit/diagram.json index a70c491..27f90c8 100644 --- a/boards/esp32_c6_devkit/diagram.json +++ b/boards/esp32_c6_devkit/diagram.json @@ -1,33 +1,29 @@ { - "version": 1, - "author": "Juraj Michálek", - "editor": "wokwi", - "parts": [ - { - "type": "board-esp32-c6-devkitc-1", - "id": "esp", - "top": -494.32, - "left": -455.03 - }, - { - "type": "wokwi-ili9341", - "id": "lcd1", - "top": -546.22, - "left": -134.92 - } - ], - "connections": [ - [ "esp:TX", "$serialMonitor:RX", "", [] ], - [ "esp:RX", "$serialMonitor:TX", "", [] ], - [ "esp:3V3", "lcd1:VCC", "green", [] ], - [ "esp:GND.1", "lcd1:GND", "black", [] ], - [ "esp:6", "lcd1:SCK", "blue", [] ], - [ "esp:7", "lcd1:MOSI", "orange", [] ], - [ "esp:20", "lcd1:CS", "red", [] ], - [ "esp:21", "lcd1:D/C", "magenta", [] ], - [ "esp:3", "lcd1:RST", "yellow", [] ], - [ "lcd1:LED", "esp:3V3", "white", [] ] - ], - "serialMonitor": { "display": "terminal" }, - "dependencies": {} - } \ No newline at end of file + "version": 1, + "author": "Juraj Michálek", + "editor": "wokwi", + "parts": [ + { + "type": "board-esp32-c6-devkitc-1", + "id": "esp", + "top": -494.32, + "left": -455.03, + "attrs": {} + }, + { "type": "wokwi-ili9341", "id": "lcd1", "top": -546.22, "left": -134.92, "attrs": {} } + ], + "connections": [ + [ "esp:TX", "$serialMonitor:RX", "", [] ], + [ "esp:RX", "$serialMonitor:TX", "", [] ], + [ "esp:3V3", "lcd1:VCC", "green", [ "v221.21", "h362.93" ] ], + [ "esp:GND.1", "lcd1:GND", "black", [ "h-11.25", "v86.81", "h383.78" ] ], + [ "esp:6", "lcd1:SCK", "blue", [ "h-40.05", "v240.41", "h460.59" ] ], + [ "esp:7", "lcd1:MOSI", "orange", [ "h-30.45", "v221.21", "h441.39" ] ], + [ "esp:20", "lcd1:CS", "red", [ "h16.45", "v173.21", "h278.18" ] ], + [ "esp:21", "lcd1:D/C", "magenta", [ "h26.05", "v202.01", "h287.78" ] ], + [ "esp:3", "lcd1:RST", "yellow", [ "h-20.85", "v134.81", "h412.58" ] ], + [ "lcd1:LED", "esp:3V3", "white", [ "v86.22", "h-479.79", "v-288.41" ] ] + ], + "serialMonitor": { "display": "terminal" }, + "dependencies": {} +} \ No newline at end of file diff --git a/boards/esp32_c6_devkit/wokwi.toml b/boards/esp32_c6_devkit/wokwi.toml index 9a80fd8..67d197f 100644 --- a/boards/esp32_c6_devkit/wokwi.toml +++ b/boards/esp32_c6_devkit/wokwi.toml @@ -2,6 +2,6 @@ # Reference: https://docs.wokwi.com/vscode/project-config [wokwi] version = 1 -firmware = 'build.esp32_c6_devkit/flasher_args.json' -elf = 'build.esp32_c6_devkit/esp32-sdl3-swift-example.elf' -gdbServerPort=3333 +firmware = '../../build.esp32_c6_devkit/flasher_args.json' +elf = '../../build.esp32_c6_devkit/esp32-sdl3-swift-example.elf' +# gdbServerPort=3333 diff --git a/boards/esp32_p4_function_ev_board/wokwi.toml b/boards/esp32_p4_function_ev_board/wokwi.toml index 7d5a8a2..2826a1c 100644 --- a/boards/esp32_p4_function_ev_board/wokwi.toml +++ b/boards/esp32_p4_function_ev_board/wokwi.toml @@ -2,6 +2,6 @@ # Reference: https://docs.wokwi.com/vscode/project-config [wokwi] version = 1 -firmware = 'build.esp32_p4_function_ev_board/flasher_args.json' -elf = 'build.esp32_p4_function_ev_board/esp32-sdl3-swift-example.elf' -gdbServerPort=3333 +firmware = '../../build.esp32_p4_function_ev_board/flasher_args.json' +elf = '../../build.esp32_p4_function_ev_board/esp32-sdl3-swift-example.elf' +# gdbServerPort=3333 diff --git a/diagram.json b/diagram.json deleted file mode 100644 index d05a522..0000000 --- a/diagram.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "version": 1, - "author": "Uri Shaked", - "editor": "wokwi", - "parts": [ - { "type": "board-esp32-p4-function-ev", "id": "esp", "top": 0, "left": 0, - "attrs": { - "flashSize": "16", - "psramSize": "32" - } - } - ], - "connections": [ - ["esp:37", "$serialMonitor:RX", "", []], - ["esp:38", "$serialMonitor:TX", "", []] - ] -} diff --git a/wokwi.toml b/wokwi.toml deleted file mode 100644 index 7d5a8a2..0000000 --- a/wokwi.toml +++ /dev/null @@ -1,7 +0,0 @@ -# Wokwi Configuration File -# Reference: https://docs.wokwi.com/vscode/project-config -[wokwi] -version = 1 -firmware = 'build.esp32_p4_function_ev_board/flasher_args.json' -elf = 'build.esp32_p4_function_ev_board/esp32-sdl3-swift-example.elf' -gdbServerPort=3333