first commit
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
from app.core.geo import GeoPoint
|
||||
from app.core.propagation import manual_link_budget
|
||||
from app.models.link import LinkBudgetRequest, LinkBudgetResponse
|
||||
|
||||
|
||||
def link_budget(request: LinkBudgetRequest) -> LinkBudgetResponse:
|
||||
if request.model != "manual":
|
||||
raise NotImplementedError(f"{request.model} link model is implemented in a later stage")
|
||||
|
||||
budget = manual_link_budget(
|
||||
tx=GeoPoint(lat=request.tx.lat, lon=request.tx.lon),
|
||||
rx=GeoPoint(lat=request.rx.lat, lon=request.rx.lon),
|
||||
tx_power_dbm=request.tx.power_dbm,
|
||||
tx_gain_dbi=request.tx.gain_dbi,
|
||||
rx_gain_dbi=request.rx.gain_dbi,
|
||||
sensitivity_dbm=request.rx.sensitivity_dbm,
|
||||
frequency_mhz=request.frequency_mhz,
|
||||
)
|
||||
return LinkBudgetResponse(**budget.__dict__)
|
||||
Reference in New Issue
Block a user