diff --git a/esp32-led-blink-sdk/README.md b/esp32-led-blink-sdk/README.md index 379aac7..4ca94d9 100644 --- a/esp32-led-blink-sdk/README.md +++ b/esp32-led-blink-sdk/README.md @@ -37,3 +37,24 @@ $ idf.py flash ``` - The LED should be blinking now. +## Simulating + +The project can be simulated using Wokwi Simulator in [IDE](https://docs.wokwi.com/vscode/getting-started). + +- Build the UF2 image recognized by the simulator: + +```console +idf.py uf2 +``` + +- Open the directory with the project in the IDE. + +- Start the simulator. + +Alternatively the project can be launched with pre-built binary in web browser: + +[![ESP32-C6 Embedded Swift Example](assets/images/esp32-led-blink-sdk.webp)](https://wokwi.com/experimental/viewer?diagram=https://raw.githubusercontent.com/georgik/swift-embedded-examples/feature/wokwi/esp32-led-blink-sdk/diagram.json&firmware=https://github.com/georgik/swift-embedded-examples/releases/download/v0.1/embedded-swift-esp32-c6-led-blink-sdk.uf2.bin +) + +[Run on-line in Wokwi Simulator](https://wokwi.com/experimental/viewer?diagram=https://raw.githubusercontent.com/georgik/swift-embedded-examples/feature/wokwi/esp32-led-blink-sdk/diagram.json&firmware=https://github.com/georgik/swift-embedded-examples/releases/download/v0.1/embedded-swift-esp32-c6-led-blink-sdk.uf2.bin +) diff --git a/esp32-led-blink-sdk/assets/images/esp32-led-blink-sdk.webp b/esp32-led-blink-sdk/assets/images/esp32-led-blink-sdk.webp new file mode 100644 index 0000000..5b60eb2 Binary files /dev/null and b/esp32-led-blink-sdk/assets/images/esp32-led-blink-sdk.webp differ diff --git a/esp32-led-blink-sdk/diagram.json b/esp32-led-blink-sdk/diagram.json new file mode 100644 index 0000000..5d4fda8 --- /dev/null +++ b/esp32-led-blink-sdk/diagram.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "author": "Juraj Michálek", + "editor": "wokwi", + "parts": [ + { + "type": "board-esp32-c6-devkitc-1", + "id": "esp", + "top": 0, + "left": 0, + "attrs": { "builder": "esp-idf" } + }, + { + "type": "wokwi-resistor", + "id": "r1", + "top": 119.15, + "left": -76.8, + "attrs": { "value": "1000" } + }, + { + "type": "wokwi-led", + "id": "led1", + "top": 25.2, + "left": -111.4, + "attrs": { "color": "red" } + } + ], + "connections": [ + [ "esp:TX", "$serialMonitor:RX", "", [] ], + [ "esp:RX", "$serialMonitor:TX", "", [] ], + [ "r1:2", "esp:8", "red", [ "v0" ] ], + [ "r1:1", "led1:A", "red", [ "h0" ] ], + [ "led1:C", "esp:GND.1", "black", [ "v0" ] ] + ], + "dependencies": {} +} \ No newline at end of file diff --git a/esp32-led-blink-sdk/wokwi.toml b/esp32-led-blink-sdk/wokwi.toml new file mode 100644 index 0000000..689fc7e --- /dev/null +++ b/esp32-led-blink-sdk/wokwi.toml @@ -0,0 +1,5 @@ +[wokwi] +version = 1 +elf = "build/uf2.bin" +firmware = "build/uf2.bin" + diff --git a/esp32-led-strip-sdk/README.md b/esp32-led-strip-sdk/README.md index 5318c10..0b25c65 100644 --- a/esp32-led-strip-sdk/README.md +++ b/esp32-led-strip-sdk/README.md @@ -36,3 +36,25 @@ $ idf.py flash ``` - The LED strip should now be animating a sequence of random colors moving in one direction. + +## Simulating + +The project can be simulated using Wokwi Simulator in [IDE](https://docs.wokwi.com/vscode/getting-started). + +- Build the UF2 image recognized by the simulator: + +```console +idf.py uf2 +``` + +- Open the directory with the project in the IDE. + +- Start the simulator. + +Alternatively the project can be launched with pre-built binary in web browser: + +[![ESP32-C6 Embedded Swift Example](assets/images/esp32-led-strip-sdk.webp)](https://wokwi.com/experimental/viewer?diagram=https://raw.githubusercontent.com/georgik/swift-embedded-examples/feature/wokwi/esp32-led-strip-sdk/diagram.json&firmware=https://github.com/georgik/swift-embedded-examples/releases/download/v0.1/embedded-swift-esp32-c6-led-strip-sdk.uf2.bin +) + +[Run on-line in Wokwi Simulator](https://wokwi.com/experimental/viewer?diagram=https://raw.githubusercontent.com/georgik/swift-embedded-examples/feature/wokwi/esp32-led-strip-sdk/diagram.json&firmware=https://github.com/georgik/swift-embedded-examples/releases/download/v0.1/embedded-swift-esp32-c6-led-strip-sdk.uf2.bin +) diff --git a/esp32-led-strip-sdk/assets/images/esp32-led-strip-sdk.webp b/esp32-led-strip-sdk/assets/images/esp32-led-strip-sdk.webp new file mode 100644 index 0000000..a7071db Binary files /dev/null and b/esp32-led-strip-sdk/assets/images/esp32-led-strip-sdk.webp differ diff --git a/esp32-led-strip-sdk/diagram.json b/esp32-led-strip-sdk/diagram.json new file mode 100644 index 0000000..e7bb880 --- /dev/null +++ b/esp32-led-strip-sdk/diagram.json @@ -0,0 +1,44 @@ +{ + "version": 1, + "author": "Juraj Michálek", + "editor": "wokwi", + "parts": [ + { + "type": "board-esp32-c6-devkitc-1", + "id": "esp", + "top": -13.91, + "left": 90.52, + "attrs": { "builder": "esp-idf" } + }, + { "type": "wokwi-neopixel", "id": "rgb1", "top": 73.3, "left": -20.2, "attrs": {} }, + { "type": "wokwi-neopixel", "id": "rgb2", "top": 73.3, "left": 18.2, "attrs": {} }, + { "type": "wokwi-neopixel", "id": "rgb3", "top": 73.3, "left": -250.6, "attrs": {} }, + { "type": "wokwi-neopixel", "id": "rgb4", "top": 73.3, "left": -212.2, "attrs": {} }, + { "type": "wokwi-neopixel", "id": "rgb5", "top": 73.3, "left": -58.6, "attrs": {} }, + { "type": "wokwi-neopixel", "id": "rgb6", "top": 73.3, "left": -173.8, "attrs": {} }, + { "type": "wokwi-neopixel", "id": "rgb7", "top": 73.3, "left": -97, "attrs": {} }, + { "type": "wokwi-neopixel", "id": "rgb8", "top": 73.3, "left": -135.4, "attrs": {} } + ], + "connections": [ + [ "esp:TX", "$serialMonitor:RX", "", [] ], + [ "esp:RX", "$serialMonitor:TX", "", [] ], + [ "rgb2:DIN", "esp:0", "green", [ "h28", "v-38.4" ] ], + [ "rgb2:DOUT", "rgb1:DIN", "green", [ "h-9.6", "v-10.5" ] ], + [ "rgb5:DOUT", "rgb7:DIN", "green", [ "h-9.6", "v-10.5" ] ], + [ "rgb8:DOUT", "rgb6:DIN", "green", [ "h-9.6", "v-10.5" ] ], + [ "rgb6:DOUT", "rgb4:DIN", "green", [ "v-0.9", "h-9.6", "v-9.6" ] ], + [ "rgb4:DOUT", "rgb3:DIN", "green", [ "v-0.9", "h-9.6", "v-9.6" ] ], + [ "rgb1:DOUT", "rgb5:DIN", "green", [ "h-9.6", "v-10.5" ] ], + [ "rgb2:VSS", "esp:5V", "red", [ "h18.4", "v75.9" ] ], + [ "rgb2:VDD", "rgb1:VSS", "red", [ "h-9.6", "v10.5" ] ], + [ "rgb1:VDD", "rgb5:VSS", "red", [ "h-9.6", "v10.5" ] ], + [ "rgb5:VDD", "rgb7:VSS", "red", [ "h-9.6", "v10.5" ] ], + [ "rgb7:VDD", "rgb8:VSS", "red", [ "h-9.6", "v10.5" ] ], + [ "rgb8:VDD", "rgb6:VSS", "red", [ "h-9.6", "v10.5" ] ], + [ "rgb6:VDD", "rgb4:VSS", "red", [ "h-9.6", "v10.5" ] ], + [ "rgb4:VDD", "rgb3:VSS", "red", [ "h-9.6", "v10.5" ] ], + [ "rgb3:VDD", "esp:GND.1", "black", [ "h-9.6", "v96" ] ], + [ "rgb8:DIN", "rgb7:DOUT", "green", [ "h8.8", "v9.6", "h9.6" ] ] + ], + "dependencies": {} +} \ No newline at end of file diff --git a/esp32-led-strip-sdk/wokwi.toml b/esp32-led-strip-sdk/wokwi.toml new file mode 100644 index 0000000..689fc7e --- /dev/null +++ b/esp32-led-strip-sdk/wokwi.toml @@ -0,0 +1,5 @@ +[wokwi] +version = 1 +elf = "build/uf2.bin" +firmware = "build/uf2.bin" +