Skip to main content

Projects on disk

A project is an ordinary folder, so it works with any backup tool or with Git.

blink/
├── runeweave.toml name, version, board and dependencies
└── patches/
├── main/
│ └── patch.rwp the patch @/main
└── blinker/
├── patch.rwp the patch @/blinker
├── patch.cpp its native code for microcontrollers (optional)
└── patch.v its native code for FPGAs (optional)

Every folder under patches/ with a patch.rwp in it is a patch, named after its path: patches/io/button/ is @/io/button.

The project file​

[project]
name = "blink"
version = "0.1.0"
description = "Blinks the built-in LED."

[settings]
platform = "mcu" # "mcu" (microcontroller, via C++) or "fpga" (via Verilog)
board = "clickclack-spark"

[dependencies]
"sdp/core" = "^0.1"
"sdp/gpio" = "^0.1"

board is an id from the board list. Versions are semantic versions, and requirements are written as in Cargo: ^0.1 means 0.1.0 up to, but not including, 0.2.0.