f8bb23e409
Package as 'autohover' with uv run / uvx entry points
...
Add main.py and a flat-layout hatchling build with a console script (autohover = mission_client:main), replacing tool.uv package=false, so the app runs via 'uv run main.py' and installs via uvx / uv tool install -- matching the sibling Crazyflie projects.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 14:35:00 -07:00
eed9778e59
Initial checkpoint: Crazyflie mission client (DearPyGui)
...
Two-step ARM -> LAUNCH -> LAND flight flow for a Crazyflie + Flow v2 deck:
- controller.py: cflib link + flight logic on one worker thread with a
command queue. Supervisor arming, Kalman estimator reset/convergence
wait, high-level-commander takeoff/land, configurable hover height
(0.2-2.0 m), emergency stop, graceful land-on-shutdown, thread-safe
snapshot()/scan(). States: DISCONNECTED/CONNECTING/READY/ARMING/ARMED/
FLYING/LANDING/EMERGENCY/ERROR.
- mission_client.py: DearPyGui front-end, manual render loop polling
snapshot() each frame. Context button ARM(green)->LAUNCH(blue)->LAND
(yellow), secondary Disarm, hover-height slider, console log, and an
Estimator state panel (x/y/z, yaw, flow counts) for drift inspection.
- uv-managed (pyproject.toml + uv.lock); run `uv run mission_client.py`.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 15:44:07 -07:00