DroneAgent / src /api /models.py
zok213
Initial commit
8579cdc
"""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")