first commit

This commit is contained in:
2026-06-23 09:13:51 +03:00
commit f6c7db328f
103 changed files with 1618 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
from typing import Literal
from pydantic import BaseModel, Field
from app.models.coverage import LinkRx, LinkTx
class LinkBudgetRequest(BaseModel):
tx: LinkTx
rx: LinkRx
frequency_mhz: float = Field(gt=0)
model: Literal["p452", "itm", "manual"] = "manual"
include_buildings: bool = True
include_vegetation: bool = True
k_factor: float = Field(default=1.333, gt=0)
class LinkBudgetResponse(BaseModel):
distance_km: float
fspl_db: float
diffraction_db: float
vegetation_db: float
atmospheric_db: float
total_loss_db: float
rx_power_dbm: float
fade_margin_db: float
fresnel_clear: bool
link_viable: bool