Spaces:
Sleeping
Sleeping
File size: 1,621 Bytes
8579cdc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
"""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")
|