Commit Graph

3 Commits

Author SHA1 Message Date
1d095cd233 Fix TypeError altitude null + erreurs affichées dans l'UI
- float(cmd.get("altitude") or 15) : gère altitude=null retourné
  par Gemini pour les commandes sans altitude (land, rtl, status…)
- /command attrape les exceptions et retourne JSON 500 avec le
  message d'erreur, évite le "Erreur réseau" opaque dans la page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 14:49:22 +02:00
6024655a50 Fix event loop bloqué + /status non-bloquant
- init_pymavlink() passe en run_in_executor : ne bloque plus
  l'event loop asyncio pendant le démarrage de uvicorn
- Ajout monitor_telemetry() : batterie et mode mis à jour en
  continu en cache (même logique que monitor_armed)
- /status et action status lisent telemetry_cache directement,
  plus aucun async for bloquant dans les route handlers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 14:22:02 +02:00
bcda9cf334 Ajout serveur web FastAPI sur port 8765
- wireclaw_core : expose drone comme global, extrait init()
  depuis main() pour permettre l'import par web_server.py ;
  corrige aussi le bug drone_armed manquant global dans init
- web_server.py : FastAPI avec process(text) générique
  (interpret_command → execute_command), routes GET / POST /command
  GET /status, page HTML sobre avec statut temps réel (2s)
  et historique des commandes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01 13:54:54 +02:00