#!/bin/bash

# Script pour envoyer et lancer un script Python sur Cheap Yellow Display (CYD)
# Usage: ./run_on_cyd.sh [votre_script.py]
#    ou: ./run_on_cyd.sh [/dev/ttyUSB0] [votre_script.py]

PORT=${1:-/dev/ttyUSB0}
FILE=${2:-demo_display.py}

# Détection intelligente : si le premier argument est un fichier qui existe
# et qu'aucun deuxième argument n'est fourni, on permute.
if [ -f "$1" ] && [ -z "$2" ]; then
    FILE=$1
    PORT=/dev/ttyUSB0
fi

PYTHON_VENV="./venv/bin/python3"

if [ ! -f "$FILE" ]; then
    echo "Erreur : Le fichier '$FILE' n'existe pas."
    exit 1
fi

echo "--- DEPLOIEMENT SUR $PORT ---"
echo "1. Envoi de $FILE en tant que main.py..."

$PYTHON_VENV -m ampy.cli --port "$PORT" put "$FILE" main.py

if [ $? -eq 0 ]; then
    echo "2. Lancement immédiat de $FILE..."
    echo "------------------------------------------------"
    echo "NOTE: Le script tourne sur la CYD (boucle infinie = normal)."
    echo "------------------------------------------------"
    # --no-output : ampy lance le script sans attendre sa fin
    $PYTHON_VENV -m ampy.cli --port "$PORT" run --no-output "$FILE"
    echo "Script lancé sur la CYD."
else
    echo "Erreur lors de l'envoi du fichier. Vérifiez le port et fermez l'IDE."
    exit 1
fi
