-
Notifications
You must be signed in to change notification settings - Fork 757
Open
Description
Issue Description
The takeoff command in MAVProxy provides misleading feedback that confuses users, especially beginners.
Current Behavior
When executing takeoff 10 in unsuitable conditions:
- Console prints: "Take Off started" ✅ (misleading - just means command sent)
- Terminal shows: "Got COMMAND_ACK: NAV_TAKEOFF: FAILED" ❌ (actual result, often missed)
This happens when:
- Vehicle is disarmed
- Copter is in wrong mode (STABILIZE, LAND, RTL, etc.)
- Invalid altitude provided (zero, negative, or non-numeric)
Expected Behavior
Command should validate conditions before sending and provide clear, immediate feedback:
- "Takeoff refused: Vehicle is DISARMED"
- "Takeoff refused: Current mode is STABILIZE"
- "Error: Invalid altitude value"
Proposed Solution
Add client-side pre-flight validation in mavproxy_cmdlong.py:
- Check armed status
- Check flight mode (copter requires GUIDED or AUTO)
- Validate altitude input
- Provide actionable error messages
Environment
- MAVProxy version: master branch
- Vehicle type: Copter (SITL)
- Python version: 3.10
Testing
Reproduced in SITL:
STABILIZE> takeoff 10
Take Off started
Got COMMAND_ACK: NAV_TAKEOFF: FAILEDWilling to Contribute
Yes, I have a working implementation tested in SITL and ready for PR.
Metadata
Metadata
Assignees
Labels
No labels