commit 87d249e035bdb644fa8c9c31c6cf5ab4659d1c0e Author: Rafa Date: Sat May 10 22:21:47 2025 +0100 Create project, with script and README diff --git a/README.md b/README.md new file mode 100644 index 0000000..bd419a0 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# Installation scripts to use Wokwi and Arduino in VSCode/VSCodium + +## Installation steps + +### Install Dependencies + +Instal the xdotool package: + +Debian based distros: +`sudo apt install xdotool` + +Arch based distros: +`sudo pacman -S xdotool` + +### VSCode/VSCodium configuration + +Install the Wokwi extension and request the license key [here](https://wokwi.com/license): + +Extension for VSCode [here](https://marketplace.visualstudio.com/items?itemName=Wokwi.wokwi-vscode) + +Extension for VSCodium [here](https://open-vsx.org/extension/Wokwi/wokwi-vscode) + +To activate the license key open the IDE press `F1` and select `Wokwi: Manually Enter License Key` and paste the license key + +### Installation Script + +For linux execute the `install-linux.sh` script + +## After the installation process + +After the installation is completed you will have the following project structure: + +### Project Structure + + .vscode/ --> VSCode config files + run + tasks.json + bin/ --> Binnaries and executables + arduino-cli + code/ --> Main project code directory + code.ino + libs/ --> Arduino library's + .gitignore + diagram.json --> Wokwi diagram/circuit + wokwi.toml --> wokwi config file + +### How to use + +You can compile and execute the arduino project/sketch just by pressing `Ctrl` + `Shift` + `B`. diff --git a/install-linux.sh b/install-linux.sh new file mode 100755 index 0000000..23102d3 --- /dev/null +++ b/install-linux.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +# Create dirs + +mkdir .vscode bin libs + +# create files + +echo " +#!/bin/bash + +./bin/arduino-cli compile --fqbn arduino:avr:uno code --libraries ./libraries/ --build-path ./build --clean + +echo \"Starting simulation...\" + +sleep 1 + +xdotool key ctrl+shift+p +xdotool type \"Wokwi: Start Simulation\" +xdotool key Return +" >> .vscode/run + +chmod +x .vscode/run + +echo " +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + \"version\": \"2.0.0\", + \"tasks\": [ + { + \"label\": \"Run\", + \"type\": \"shell\", + \"command\": \"\${workspaceFolder}/.vscode/run\", + \"group\": { + \"kind\": \"build\", + \"isDefault\": true + } + } + ] +} +" >> .vscode/tasks.json + +echo " +build/ + +" >> .gitignore + +echo " +{ + \"version\": 1, + \"author\": \"Anonymous maker\", + \"editor\": \"wokwi\", + \"parts\": [ { \"type\": \"wokwi-arduino-uno\", \"id\": \"uno\", \"top\": -28.2, \"left\": -10.2, \"attrs\": {} } ], + \"connections\": [], + \"dependencies\": {} +} +" >> diagram.json + +echo " +[wokwi] +version = 1 +firmware = 'build/code.ino.hex' +elf = 'build/code.ino.elf' +" >> wokwi.toml + +# get arduino-cli + +cd bin +wget https://github.com/ebranlard/xdotool-for-windows/raw/master/_bin/xdotool.exe +wget https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz +tar xvf arduino-cli_latest_Linux_64bit.tar.gz +rm arduino-cli_latest_Linux_64bit.tar.gz +rm LICENSE.txt + +./arduino-cli core install arduino:avr + +cd .. + +./bin/arduino-cli sketch new code + + +rm -rf README.md +rm -rf .git/ +rm -rf install.sh \ No newline at end of file