From e087d467cd690f24643afa9989a71ccb13166345 Mon Sep 17 00:00:00 2001 From: Ulysse Cura Date: Sun, 20 Sep 2026 22:21:44 +0200 Subject: [PATCH] Modified vscodium settings and extensions and added udev rules for pico developement. --- README.md | 26 +++++++++-------- config/60-picotool.rules | 42 ++++++++++++++++++++++++++++ user-config/vscodium-settings.jsonc | 43 +---------------------------- 3 files changed, 57 insertions(+), 54 deletions(-) create mode 100644 config/60-picotool.rules diff --git a/README.md b/README.md index 07fcf70..8ff2836 100644 --- a/README.md +++ b/README.md @@ -314,14 +314,14 @@ cp user-config/vscodium-settings.jsonc $HOME/.config/VSCodium/User/settings.json ### Extensions - Bash IDE : "mads-hartmann.bash-ide-vscode" - - ccls : "ccls-project.ccls" + - [C/C++](http://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-vscode/vsextensions/cpptools/1.24.4/vspackage?targetPlatform=linux-x64) : "ms-vscode.cpptools" + - CLI Launcher Theme : "rockuen.cli-launcher-theme" - CMake : "twxs.cmake" - HTML CSS Support : "ecmel.vscode-html-css" - - Kylin Native Debug : "kylinideteam.kylin-debug" + - [Teleplot](https://marketplace.visualstudio.com/_apis/public/gallery/publishers/alexnesnes/vsextensions/teleplot/1.1.4/vspackage) : "alexnesnes.teleplot" - Live Server : "yandeu.five-server" - PDF Viewer : "mathematic.vscode-pdf" - Pyrefly : "meta.pyrefly" - - Tallow : "jdberlinski.tallow-theme" ## Configure Reaper @@ -386,7 +386,7 @@ See more on [Poivron-Robotique](https://poivron-robotique.fr/Rpi-Pico-Installer- Install dependencies. ``` -sudo apt install git make cmake gcc-arm-none-eabi gcc g++ cutecom libusb-1.0-0-dev +sudo apt install git make cmake gcc-arm-none-eabi gcc g++ libusb-1.0-0-dev ``` Create and go into pico-sdk directory. @@ -397,7 +397,7 @@ cd $HOME/.local/share/pico-sdk Clone pico-sdk. ``` -git clone -b master --depth 1 https://github.com/raspberrypi/pico-sdk.git --shallow-submodules . +git clone -b master https://github.com/raspberrypi/pico-sdk.git --shallow-submodules . git submodule update --init ``` @@ -415,26 +415,28 @@ cd $HOME/.local/share/picotool Clone picotool. ``` -git clone -b master --depth 1 https://github.com/raspberrypi/picotool.git . +git clone -b master https://github.com/raspberrypi/picotool.git . ``` Build picotool. ``` mkdir build cd build -cmake .. -make +cmake -DCMAKE_INSTALL_PREFIX=~/.local .. +make -j$(nproc) ``` And install it. ``` -cp picotool $HOME/.local/bin/ +make install ``` -Add env var. +Add user to group dialout and add udev rules. ``` -echo "export PICOTOOL_FETCH_FROM_GIT_PATH=$(pwd)" >> ~/.bashrc -source $HOME/.bashrc +sudo usermod -aG dialout +sudo usermod -aG plugdev +sudo cp config/60-picotool.rules /etc/udev/rules.d/ +sudo udevadm control --reload ``` ## Install the fxSDK diff --git a/config/60-picotool.rules b/config/60-picotool.rules new file mode 100644 index 0000000..b2e92e6 --- /dev/null +++ b/config/60-picotool.rules @@ -0,0 +1,42 @@ +# Copy this file to /etc/udev/rules.d/ +# You can reload the udev rules with "udevadm control --reload" + +# Rules for plugdev access +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="0003", \ + MODE="660", \ + GROUP="plugdev" +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="0009", \ + MODE="660", \ + GROUP="plugdev" +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="000a", \ + MODE="660", \ + GROUP="plugdev" +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="000f", \ + MODE="660", \ + GROUP="plugdev" + +# Rules for seat access +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="0003", \ + TAG+="uaccess" +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="0009", \ + TAG+="uaccess" +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="000a", \ + TAG+="uaccess" +SUBSYSTEM=="usb", \ + ATTRS{idVendor}=="2e8a", \ + ATTRS{idProduct}=="000f", \ + TAG+="uaccess" diff --git a/user-config/vscodium-settings.jsonc b/user-config/vscodium-settings.jsonc index d367a4d..4da9c9d 100644 --- a/user-config/vscodium-settings.jsonc +++ b/user-config/vscodium-settings.jsonc @@ -42,47 +42,6 @@ }, "bashIde.shellcheckArguments": "--exclude=SC2120,SC2155,SC2119", - "ccls.cache.directory": ".vscode/ccls-cache", "extensions.ignoreRecommendations": true, - "git.enabled": false, - "markdown-preview-enhanced.previewTheme": "atom-dark.css", - "nix.enableLanguageServer": true, - "nix.serverPath": "nil", // or "nixd", or ["executable", "argument1", ...] - // LSP config can be passed via the ``nix.serverSettings.{lsp}`` as shown below. - "nix.serverSettings": { - // check https://github.com/oxalica/nil/blob/main/docs/configuration.md for all options available - "nil": { - // "diagnostics": { - // "ignored": ["unused_binding", "unused_with"], - // }, - "formatting": { - "command": [ - "nixfmt" - ] - } - }, - // check https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md for all nixd config - "nixd": { - "formatting": { - "command": [ - "nixfmt" - ] - }, - "options": { - // By default, this entry will be read from `import { }`. - // You can write arbitrary Nix expressions here, to produce valid "options" declaration result. - // Tip: for flake-based configuration, utilize `builtins.getFlake` - "nixos": { - "expr": "(builtins.getFlake \"/absolute/path/to/flake\").nixosConfigurations..options" - }, - "home-manager": { - "expr": "(builtins.getFlake \"/absolute/path/to/flake\").homeConfigurations..options" - }, - // Tip: use ${workspaceFolder} variable to define path - "nix-darwin": { - "expr": "(builtins.getFlake \"${workspaceFolder}/path/to/flake\").darwinConfigurations..options" - } - } - } - } + "git.enabled": false } \ No newline at end of file