#/bin/bash
ESP_TOOL="esptool"
FIRMWARE="riego.ino.bin"

set -e

if [ $1 ]; then
  FIRMWARE="$1"
fi

if ! [ -f "$FIRMWARE" ]; then
  echo "Error: firmware $FIRMWARE not found." 
  echo "Usage: $0 [firmware.bin]" 
  exit 1
fi

if ! [ -d ".venv" ]; then
  echo "Setting up virtual environment in directory '.venv'"
  python3 -m venv .venv
fi
source .venv/bin/activate
if ! [ -x "$(command -v $ESP_TOOL)" ]; then
  echo "Installing esptool..."
  pip -q install esptool
fi

source .venv/bin/activate

if ! [ -x "$(command -v $ESP_TOOL)" ]; then
  echo 'Error: esptool is not installed or not executable.' >&2
  exit 1
fi

$ESP_TOOL --chip esp32c3 --port "/dev/ttyACM0" --baud 921600\
   write-flash 0x10000 $FIRMWARE
