48 lines
1.6 KiB
Markdown
48 lines
1.6 KiB
Markdown
# Arduino Neovim Configuration
|
|
|
|
This directory contains the Neovim configuration for Arduino development, using [Arduino-Nvim](https://github.com/yuukiflow/Arduino-Nvim) with **LazyVim**.
|
|
|
|
## Installation
|
|
|
|
1. Copy `lua/plugins/arduino.lua` to your LazyVim plugins directory (e.g. `~/.config/nvim/lua/plugins/`)
|
|
2. Copy `.arduino_config.lua` to your Arduino project root
|
|
|
|
## Custom Keybinds
|
|
|
|
| Keybind | Command | Description |
|
|
|---------|---------|-------------|
|
|
| `<Leader>mc` | `:InoCheck` | Compile and verify sketch |
|
|
| `<Leader>mu` | `:InoUpload` | Upload sketch to board |
|
|
| `<Leader>ms` | `:InoStatus` | Display board, port & FQBN status |
|
|
| `<Leader>mg` | `:InoGUI` | Open GUI for board/port selection |
|
|
| `<Leader>mm` | `:InoMonitor` | Open serial monitor |
|
|
| `<Leader>ml` | `:InoLib` | Open library manager |
|
|
| `<Leader>mb` | `:InoSelectBoard` | Select Arduino board |
|
|
| `<Leader>mp` | `:InoSelectPort` | Select Arduino port |
|
|
| `<Leader>mr` | `:InoUploadReset` | Upload with manual reset (UNO R4 WiFi) |
|
|
|
|
## Board Configuration
|
|
|
|
Edit `.arduino_config.lua` to set your board, port, and baudrate:
|
|
|
|
```lua
|
|
return {
|
|
board = "studuino:avr:studuino",
|
|
port = "/dev/ttyUSB0",
|
|
baudrate = "115200",
|
|
}
|
|
```
|
|
|
|
## Requirements
|
|
|
|
The repository setup script can install the command-line prerequisites with:
|
|
|
|
```bash
|
|
./setup.sh --with-editor
|
|
```
|
|
|
|
This installs `arduino-cli`, the `clang` package that provides `clangd`, `neovim`, and `arduino-language-server` on Arch Linux. The Neovim plugin dependencies are:
|
|
|
|
- [Telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)
|
|
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) for Neovim versions older than 0.11
|