Spaces:
Sleeping
Sleeping
| """API models.""" | |
| from pydantic import BaseModel, Field | |
| from typing import Optional | |
| class ChatMessage(BaseModel): | |
| """Chat message model.""" | |
| message: str = Field(..., min_length=1, max_length=500) | |
| class DroneTelemetry(BaseModel): | |
| """Drone telemetry data received from hardware.""" | |
| altitude: float = Field(..., description="Current altitude in meters") | |
| batteryRemaining: int = Field(..., description="Battery percentage remaining") | |
| cellCount: int = Field(..., description="Number of battery cells") | |
| distance: int = Field(..., description="Total distance traveled in meters") | |
| distanceToHome: float = Field(..., description="Distance to home position in meters") | |
| firmware: str = Field(..., description="Firmware version") | |
| flightTime: int = Field(..., description="Total flight time in seconds") | |
| frame: str = Field(..., description="Aircraft frame type") | |
| frameId: int = Field(..., description="Frame type ID") | |
| groundSpeed: float = Field(..., description="Ground speed in m/s") | |
| heading: float = Field(..., description="Heading in degrees") | |
| latitude: float = Field(..., description="Current latitude") | |
| longitude: float = Field(..., description="Current longitude") | |
| mode: str = Field(..., description="Current flight mode") | |
| pitch: float = Field(..., description="Pitch angle in degrees") | |
| roll: float = Field(..., description="Roll angle in degrees") | |
| satellite: int = Field(..., description="Number of GPS satellites") | |
| voltage: float = Field(..., description="Battery voltage") | |
| yaw: float = Field(..., description="Yaw angle in degrees") | |