Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[interuss/automated_testing] Update flight_planning and RID observation APIs #15

Merged
merged 1 commit into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Data types and operations from Flight Planning Automated Testing Interface 0.3.0 OpenAPI"""
"""Data types and operations from Flight Planning Automated Testing Interface 0.4.0 OpenAPI"""

# This file is autogenerated; do not modify manually!

Expand All @@ -12,7 +12,7 @@
from implicitdict import ImplicitDict, StringBasedDateTime


API_VERSION = "0.3.0"
API_VERSION = "0.4.0"
"""Version of Flight Planning Automated Testing Interface OpenAPI specification from which the objects in this package were generated."""

FlightPlanID = str
Expand Down Expand Up @@ -40,7 +40,7 @@ class StatusResponse(ImplicitDict):
"""Indication of the API implemented at this URL. Must be "Flight Planning Automated Testing Interface"."""

api_version: Optional[str]
"""Indication of the API version implemented at this URL. Must be "v0.3.0" when implementing this version of the API."""
"""Indication of the API version implemented at this URL. Must be "v0.4.0" when implementing this version of the API."""


class FlightPlanAdditionalInformation(ImplicitDict):
Expand All @@ -54,10 +54,12 @@ class BasicFlightPlanInformationUsageState(str, Enum):
area with an active UAS.

`InUse`: The user is currently using the defined area with an active UAS.
`Closed`: The user is no longer using, or planning to use, the flight plan.
"""

Planned = "Planned"
InUse = "InUse"
Closed = "Closed"


class BasicFlightPlanInformationUasState(str, Enum):
Expand All @@ -71,11 +73,15 @@ class BasicFlightPlanInformationUasState(str, Enum):

- `Contingent`: The user or UAS reports or implies that it is not performing nominally and may be unable
to recover to normal operation.

- `NotSpecified`: The UAS status is not currently available or known (for instance, if the flight is
planned in the future and the UAS that will be flying has not yet connected to the system).
"""

Nominal = "Nominal"
OffNominal = "OffNominal"
Contingent = "Contingent"
NotSpecified = "NotSpecified"


class ExecutionStyle(str, Enum):
Expand Down Expand Up @@ -462,6 +468,7 @@ class BasicFlightPlanInformation(ImplicitDict):
area with an active UAS.

`InUse`: The user is currently using the defined area with an active UAS.
`Closed`: The user is no longer using, or planning to use, the flight plan.
"""

uas_state: BasicFlightPlanInformationUasState
Expand All @@ -475,10 +482,15 @@ class BasicFlightPlanInformation(ImplicitDict):

- `Contingent`: The user or UAS reports or implies that it is not performing nominally and may be unable
to recover to normal operation.

- `NotSpecified`: The UAS status is not currently available or known (for instance, if the flight is
planned in the future and the UAS that will be flying has not yet connected to the system).
"""

area: Optional[List[Volume4D]] = []
"""The complete area in which the user intends to fly, or may fly, as known by the user. The user intends to fly, or may fly, anywhere in this entire area."""
"""The complete area in which the user intends to fly, or may fly, as known by the user. The user intends to fly, or may fly, anywhere in this entire area.
This means, for instance, that an ASTM F3548-21 operational intent supporting this flight must have volumes that are a superset of this area. If the operational intent did not cover this entire area, then all of the intended flight would not be covered by the operational intent (for at least part of the flight, the operator intends to fly outside the operational intent).
"""


class ClearAreaRequest(ImplicitDict):
Expand Down
84 changes: 50 additions & 34 deletions src/uas_standards/interuss/automated_testing/rid/v1/observation.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Data types and operations from Remote ID Display Data Observation 0.0.2 OpenAPI"""
"""Data types and operations from Remote ID Display Data Observation 0.1.0 OpenAPI"""

# This file is autogenerated; do not modify manually!

Expand All @@ -12,7 +12,7 @@
from implicitdict import ImplicitDict


API_VERSION = "0.0.2"
API_VERSION = "0.1.0"
"""Version of Remote ID Display Data Observation OpenAPI specification from which the objects in this package were generated."""

class UAS(ImplicitDict):
Expand Down Expand Up @@ -60,6 +60,13 @@ class OperatorAltitudeAltitudeType(str, Enum):
"""An altitude, in meters, above the WGS84 ellipsoid."""


class AltitudeReference(str, Enum):
W84 = "W84"
EGM96 = "EGM96"
EGM2008 = "EGM2008"
Other = "Other"


class RIDHeightReference(str, Enum):
"""The reference datum above which the height is reported."""

Expand Down Expand Up @@ -90,6 +97,41 @@ class CurrentState(ImplicitDict):
speed: Optional[RIDSpeed]


class LatLngPoint(ImplicitDict):
"""Point on the earth's surface."""

lng: Longitude

lat: Latitude


class OperatorAltitude(ImplicitDict):
"""Altitude associated with the Remote Pilot"""

altitude: Optional[Altitude]

altitude_type: Optional[OperatorAltitudeAltitudeType]
"""Source of data for the altitude field."""


class MSLAltitude(ImplicitDict):
meters: Optional[float] = 0
"""Height, in meters, above a mean sea level datum."""

reference_datum: Optional[AltitudeReference]


class Operator(ImplicitDict):
"""Operator's information"""

id: Optional[str]
"""CAA-issued registration/license ID for the remote pilot or operator."""

location: Optional[LatLngPoint]

altitude: Optional[OperatorAltitude]


class Position(ImplicitDict):
"""A position on Earth."""

Expand All @@ -99,6 +141,8 @@ class Position(ImplicitDict):

alt: Optional[Altitude]

msl_alt: Optional[MSLAltitude]

height: Optional[RIDHeight]


Expand All @@ -109,21 +153,12 @@ class Path(ImplicitDict):
"""Sequential positions available for a flight."""


class LatLngPoint(ImplicitDict):
"""Point on the earth's surface."""

lng: Longitude

lat: Latitude


class OperatorAltitude(ImplicitDict):
"""Altitude associated with the Remote Pilot"""
class GetDetailsResponse(ImplicitDict):
"""Response to a request to get details about a flight."""

altitude: Optional[Altitude]
operator: Optional[Operator]

altitude_type: Optional[OperatorAltitudeAltitudeType]
"""Source of data for the altitude field."""
uas: Optional[UAS]


class Flight(ImplicitDict):
Expand All @@ -139,17 +174,6 @@ class Flight(ImplicitDict):
"""Paths the flight recently traveled, if available."""


class Operator(ImplicitDict):
"""Operator's information"""

id: Optional[str]
"""CAA-issued registration/license ID for the remote pilot or operator."""

location: Optional[LatLngPoint]

altitude: Optional[OperatorAltitude]


class Cluster(ImplicitDict):
"""A general area containing one or more flight."""

Expand All @@ -173,14 +197,6 @@ class GetDisplayDataResponse(ImplicitDict):
"""Current information for sets of discovered flights whose precise locations are not known."""


class GetDetailsResponse(ImplicitDict):
"""Response to a request to get details about a flight."""

operator: Optional[Operator]

uas: Optional[UAS]


class OperationID(str, Enum):
GetDisplayData = "getDisplayData"
GetDetails = "getDetails"
Expand Down