import serial
import sys
import argparse

# Konfiguration
PORT = "/dev/ttyUSB0"
BAUD = 38400

def send_signal(value):
    try:
        # Initialisierung der seriellen Schnittstelle
        with serial.Serial(PORT, BAUD, timeout=1) as ser:
            # Sende den Wert als String oder Byte
            ser.write(str(value).encode())
            print(f"Erfolgreich '{value}' an {PORT} gesendet.")
    except serial.SerialException as e:
        print(f"Fehler: Konnte nicht auf {PORT} zugreifen. {e}")
        sys.exit(1)
    except Exception as e:
        print(f"Ein unerwarteter Fehler ist aufgetreten: {e}")
        sys.exit(1)

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Sendet 1 oder 0 an einen seriellen Port.")
    parser.add_argument("value", choices=["0", "1"], help="Der zu sendende Wert (0 oder 1)")
    args = parser.parse_args()
    
    send_signal(args.value)
