- Ajout instruction explicite : message toujours en français
- Nouveau champ delta dans le schéma JSON : "monte de 5m" → delta=5,
"descend de 3m" → delta=-3, null pour altitude absolue
- takeoff et altitude calculent target_alt = current_alt + delta
quand delta est présent, sinon utilisent altitude absolue
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- altitude : change la hauteur en vol via goto_location,
ou décollage depuis le sol si alt < 2m
- position_gps : position complète avec horodatage HH:MM:SS,
fix GPS et nombre de satellites via telemetry.gps_info()
- SYSTEM_PROMPT et message d'accueil mis à jour
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- 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>
Ajout de eeprom.bin, logs/, terrain/, mav.tlog.raw générés
automatiquement par ArduPilot/MAVProxy à chaque session.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Quand Gemini mappe "monte à Xm" sur takeoff et que le drone est
déjà en vol, on recalcule l'altitude absolue MSL et on utilise
goto_location pour atteindre la nouvelle altitude à position fixe.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
drone_armed reste True après une session précédente même si le drone
est au sol. Le guard utilise désormais current_pos["alt"] < 2.0
comme goto et orbit, avec un refresh_position préalable.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>