import json
import time
from transceptor1262 import Transceptor1262

print("Inicializando SX1262 ...")

# Cargar configuración desde archivo JSON
try:
    with open("transceptor.json", "r") as f:
        config = json.load(f)
    print("[INFO] Configuración cargada desde transceptor.json.")
except Exception as e:
    print(f"[ERROR] No se pudo cargar transceptor.json: {e}")
    raise

# Extraer parámetros
pines = config["pines"]
lora = config["lora"]

# Inicializar transceptor
transceptor = Transceptor1262(
    spi_bus=pines["spi_bus"],
    clk=pines["clk"],
    mosi=pines["mosi"],
    miso=pines["miso"],
    cs=pines["cs"],
    irq=pines["irq"],
    rst=pines["rst"],
    gpio=pines["gpio"]
)

# Iniciar módulo LoRa
try:
    transceptor.iniciar(
        freq=lora["freq"],
        bw=lora["bw"],
        sf=lora["sf"],
        cr=lora["cr"],
        potencia=lora["potencia"],
        limite_corriente=lora["limite_corriente"],
        longitud_preambulo=lora["longitud_preambulo"],
        tcxo_voltaje=lora["tcxo_voltaje"],
        usar_ldo=lora["usar_ldo"]
    )
    print("[INFO] Inicialización completada.")
except Exception as e:
    print(f"[ERROR] Fallo en iniciar(): {e}")
    raise

print("[INFO] Transceptor funcionando...")