#!/usr/bin/env bash
set -euo pipefail

echo "[verify-host] rustup"
if ! command -v rustup >/dev/null 2>&1; then
  echo "rustup not found. Install from https://rustup.rs/ and rerun."
  echo "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh"
  exit 1
fi
rustup --version

echo "[verify-host] cargo"
cargo --version

echo "[verify-host] rustc"
rustc --version

echo "[setup] ensuring stable toolchain..."
rustup toolchain install stable
rustup default stable

echo "[setup] adding embedded target thumbv7m-none-eabi..."
rustup target add thumbv7m-none-eabi

echo "[setup] checking probe-rs..."
if ! command -v probe-rs >/dev/null 2>&1; then
  echo "[setup] installing probe-rs-tools via cargo..."
  cargo install probe-rs-tools
  sudo groupadd --system plugdev
  sudo usermod -a -G plugdev $USER
  probe-rs complete install
else
  echo "[setup] probe-rs already installed"
  probe-rs --version
fi

probe-rs list
probe-rs info
probe-rs chip list | grep STM32F103C8

echo "[setup] done"
