Skip to content

Latest commit

 

History

History
81 lines (59 loc) · 2.28 KB

File metadata and controls

81 lines (59 loc) · 2.28 KB

Development Setup

These scripts build and deploy Vector to a Raspberry Pi Pico.

Environment

Vector requires Python 3 and the mpy-cross and mpremote tools.

Using venv

python3 -m venv .venv
# Linux/macOS
source .venv/bin/activate
# Windows (Git Bash)
source .venv/Scripts/activate
pip install -r dev/requirements.txt
pre-commit install

Using Conda

conda create -n vector python=3
conda activate vector
pip install -r dev/requirements.txt
pre-commit install

Build and Flash

Run the sync.py script from the repository root. Pass the target hardware (sys11, wpc, em, or auto) as the first argument and optionally the Pico serial port as the second argument.

python dev/sync.py sys11 /dev/ttyACM0

The script builds the project, wipes the Pico, copies the files and connects to the REPL.

To automatically detect and flash all connected boards, run:

python dev/sync.py auto

Each board is identified, firmware for each hardware platform is built once, and all boards are flashed in parallel. Build artifacts are always written to build/<hardware> so individual builds do not interfere with one another. When more than one board is flashed, build and flash logs are suppressed and progress updates in place starting at 0 of N boards complete with a small ellipsis animation until all boards finish.

Automatic Configuration

Create a dev/config.json file so the sync script can configure Wi‑Fi and game settings automatically:

{
  "ssid": "Your WiFi SSID",
  "password": "Your WiFi Password",
  "gamename": "GenericSystem11",
  "Gpassword": ""
}

Tip

Optionally, if you create a dev/config_{system}.json (wpc,sys11,em), it will use that config instead. Useful if you find yourself flashing different machine system versions often.

Save the file with your values before running sync.py.

Building Update Packages

To generate an over‑the‑air update file run:

python dev/build_update.py --version 1.2.3 --target_hardware sys11

The script packages files from build/<hardware> by default and writes update.json to the repository root. Supplying --build-dir is optional; if you point it at the root build directory the script automatically selects the appropriate hardware subfolder.