From 77f3b848b40cbf37cf7e65fc9da8c487ba0d455a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Misbach?= Date: Tue, 19 Sep 2023 12:26:35 +0200 Subject: [PATCH] rebase on main --- interfaces/interuss/automated_testing | 2 +- .../automated_testing/rid/v1/injection.py | 153 +++++++++--------- .../automated_testing/rid/v1/observation.py | 127 ++------------- 3 files changed, 84 insertions(+), 198 deletions(-) diff --git a/interfaces/interuss/automated_testing b/interfaces/interuss/automated_testing index e5e5ff2..e669531 160000 --- a/interfaces/interuss/automated_testing +++ b/interfaces/interuss/automated_testing @@ -1 +1 @@ -Subproject commit e5e5ff2a3f1ae6a381402e9ce5f9efb37d3b9876 +Subproject commit e6695316e38607343cd16ba31175eac21a1e46b3 diff --git a/src/uas_standards/interuss/automated_testing/rid/v1/injection.py b/src/uas_standards/interuss/automated_testing/rid/v1/injection.py index af3f6b7..261e93a 100644 --- a/src/uas_standards/interuss/automated_testing/rid/v1/injection.py +++ b/src/uas_standards/interuss/automated_testing/rid/v1/injection.py @@ -144,6 +144,53 @@ class SpeedAccuracy(str, Enum): SA03mps = "SA03mps" +class RIDHeightReference(str, Enum): + """The reference datum above which the height is reported.""" + + TakeoffLocation = "TakeoffLocation" + GroundLevel = "GroundLevel" + + +class RIDHeight(ImplicitDict): + """A relative altitude for the purposes of remote ID.""" + + distance: float + """Distance above reference datum. This value is provided in meters and must have a minimum resolution of 1 meter.""" + + reference: RIDHeightReference + """The reference datum above which the height is reported.""" + + +Latitude = float +"""Degrees of latitude north of the equator, with reference to the WGS84 ellipsoid.""" + + +Longitude = float +"""Degrees of longitude east of the Prime Meridian, with reference to the WGS84 ellipsoid.""" + + +class LatLngPoint(ImplicitDict): + """Point on the earth's surface.""" + + lng: Longitude + + lat: Latitude + + +Altitude = float +"""An altitude, in meters, above the WGS84 ellipsoid.""" + + +class RIDOperationalStatus(str, Enum): + """Indicates operational status of associated aircraft.""" + + Undeclared = "Undeclared" + Ground = "Ground" + Airborne = "Airborne" + Emergency = "Emergency" + RemoteIDSystemFailure = "RemoteIDSystemFailure" + + class RIDAircraftType(str, Enum): """Type of aircraft for the purposes of remote ID. @@ -195,6 +242,24 @@ class UAClassificationEUClass(str, Enum): +class OperatorAltitudeAltitudeType(str, Enum): + """Source of data for the altitude field.""" + + Takeoff = "Takeoff" + Dynamic = "Dynamic" + Fixed = "Fixed" + + +class OperatorAltitude(ImplicitDict): + """Altitude associated with the Remote Pilot""" + + altitude: Optional[float] + """Provides the Operator Altitude based on WGS-84 height above ellipsoid (HAE) (See Geodetic Altitude). This value is provided in meters and must have a minimum resolution of 1 m.""" + + altitude_type: Optional[OperatorAltitudeAltitudeType] + """Source of data for the altitude field.""" + + SpecificSessionID = str """A unique 20 byte ID intended to identify a specific flight (session) while providing a greater level of privacy to the operator. The first byte is the registered unique Specific Session ID @@ -226,82 +291,6 @@ class UASID(ImplicitDict): specific_session_id: Optional[SpecificSessionID] -Latitude = float -"""Degrees of latitude north of the equator, with reference to the WGS84 ellipsoid.""" - - -Longitude = float -"""Degrees of longitude east of the Prime Meridian, with reference to the WGS84 ellipsoid.""" - - -Altitude = float -"""An altitude, in meters, above the WGS84 ellipsoid.""" - - -OperatorId = str -"""CAA-issued registration/license ID for the remote pilot or operator. """ - - -class LatLngPoint(ImplicitDict): - """Point on the earth's surface.""" - - lng: Longitude - - lat: Latitude - - -class OperatorAltitudeAltitudeType(str, Enum): - """Source of data for the altitude field.""" - - Takeoff = "Takeoff" - Dynamic = "Dynamic" - Fixed = "Fixed" - - -class OperatorAltitude(ImplicitDict): - """Altitude associated with the Remote Pilot""" - - altitude: Optional[Altitude] - - altitude_type: Optional[OperatorAltitudeAltitudeType] - """Source of data for the altitude field.""" - - -class RIDOperationalStatus(str, Enum): - """Indicates operational status of associated aircraft.""" - - Undeclared = "Undeclared" - Ground = "Ground" - Airborne = "Airborne" - Emergency = "Emergency" - RemoteIDSystemFailure = "RemoteIDSystemFailure" - - -RIDTrack = float -"""Direction of flight expressed as a "True North-based" ground track angle. This value is provided in degrees East of North with a minimum resolution of 1 degree.""" - - -RIDSpeed = float -"""Ground speed of flight in meters per second.""" - - -class RIDHeightReference(str, Enum): - """The reference datum above which the height is reported.""" - - TakeoffLocation = "TakeoffLocation" - GroundLevel = "GroundLevel" - - -class RIDHeight(ImplicitDict): - """A relative altitude for the purposes of remote ID.""" - - distance: float - """Distance above reference datum. This value is provided in meters and must have a minimum resolution of 1 meter.""" - - reference: RIDHeightReference - """The reference datum above which the height is reported.""" - - class RIDAircraftPosition(ImplicitDict): """Position of an aircraft as reported for remote ID purposes.""" @@ -309,7 +298,8 @@ class RIDAircraftPosition(ImplicitDict): lng: Longitude - alt: Altitude + alt: float + """Geodetic altitude (NOT altitude above launch, altitude above ground, or EGM96): aircraft distance above the WGS84 ellipsoid as measured along a line that passes through the aircraft and is normal to the surface of the WGS84 ellipsoid. This value is provided in meters and must have a minimum resolution of 1 meter.""" accuracy_h: Optional[HorizontalAccuracy] """Horizontal error that is likely to be present in this reported position. Required when `extrapolated` field is true and always in the entry for the current state.""" @@ -330,7 +320,8 @@ class RIDFlightDetails(ImplicitDict): id: str """ID for this flight, matching argument in request.""" - operator_id: Optional[OperatorId] + operator_id: Optional[str] + """CAA-issued registration/license ID for the remote pilot or operator. """ operator_location: Optional[LatLngPoint] """Location of party controlling the aircraft.""" @@ -374,9 +365,11 @@ class RIDAircraftState(ImplicitDict): position: RIDAircraftPosition - track: RIDTrack + track: float + """Direction of flight expressed as a "True North-based" ground track angle. This value is provided in degrees East of North with a minimum resolution of 1 degree.""" - speed: RIDSpeed + speed: float + """Ground speed of flight in meters per second.""" speed_accuracy: SpeedAccuracy """Accuracy of horizontal ground speed.""" diff --git a/src/uas_standards/interuss/automated_testing/rid/v1/observation.py b/src/uas_standards/interuss/automated_testing/rid/v1/observation.py index 754d6e1..a4d3d7e 100644 --- a/src/uas_standards/interuss/automated_testing/rid/v1/observation.py +++ b/src/uas_standards/interuss/automated_testing/rid/v1/observation.py @@ -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.0.1 OpenAPI""" # This file is autogenerated; do not modify manually! @@ -12,94 +12,25 @@ from implicitdict import ImplicitDict -API_VERSION = "0.0.2" +API_VERSION = "0.0.1" """Version of Remote ID Display Data Observation OpenAPI specification from which the objects in this package were generated.""" -class UAS(ImplicitDict): - """UAS information""" - - id: Optional[str] - """Observed arbitrary and format agnostic (string) identification of a UAS.""" - - -class RIDOperationalStatus(str, Enum): - """Indicates operational status of associated aircraft.""" - - Undeclared = "Undeclared" - Ground = "Ground" - Airborne = "Airborne" - Emergency = "Emergency" - RemoteIDSystemFailure = "RemoteIDSystemFailure" - - -RIDTrack = float -"""Direction of flight expressed as a "True North-based" ground track angle. This value is provided in degrees East of North with a minimum resolution of 1 degree.""" - - -RIDSpeed = float -"""Ground speed of flight in meters per second.""" - - -Longitude = float -"""Degrees of longitude east of the Prime Meridian, with reference to the WGS84 ellipsoid.""" - - -Latitude = float -"""Degrees of latitude north of the equator, with reference to the WGS84 ellipsoid.""" - - -class OperatorAltitudeAltitudeType(str, Enum): - """Source of data for the altitude field.""" - - Takeoff = "Takeoff" - Dynamic = "Dynamic" - Fixed = "Fixed" - - -Altitude = float -"""An altitude, in meters, above the WGS84 ellipsoid.""" - - -class RIDHeightReference(str, Enum): - """The reference datum above which the height is reported.""" - - TakeoffLocation = "TakeoffLocation" - GroundLevel = "GroundLevel" - - -class RIDHeight(ImplicitDict): - """A relative altitude for the purposes of remote ID.""" - - distance: float - """Distance above reference datum. This value is provided in meters and must have a minimum resolution of 1 meter.""" - - reference: RIDHeightReference - """The reference datum above which the height is reported.""" - - -class CurrentState(ImplicitDict): - """Current state of an aircraft.""" - - timestamp: Optional[str] - """Time at which the message containing the current state information was generated by the display provider.""" - - operational_status: Optional[RIDOperationalStatus] - - track: Optional[RIDTrack] +class GetDetailsResponse(ImplicitDict): + """Response to a request to get details about a flight.""" - speed: Optional[RIDSpeed] class Position(ImplicitDict): """A position on Earth.""" - lat: Latitude - - lng: Longitude + lat: float + """Degrees of latitude north of the equator, with reference to the WGS84 ellipsoid.""" - alt: Optional[Altitude] + lng: float + """Degrees of longitude east of the Prime Meridian, with reference to the WGS84 ellipsoid.""" - height: Optional[RIDHeight] + alt: Optional[float] + """Geodetic altitude (NOT altitude above launch, altitude above ground, or EGM96): aircraft distance above the WGS84 ellipsoid as measured along a line that passes through the aircraft and is normal to the surface of the WGS84 ellipsoid.""" class Path(ImplicitDict): @@ -109,29 +40,10 @@ 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""" - - altitude: Optional[Altitude] - - altitude_type: Optional[OperatorAltitudeAltitudeType] - """Source of data for the altitude field.""" - - class Flight(ImplicitDict): id: str """Identifier of flight that may be used to obtain details about the flight. This is not necessarily the UTM/flight ID in the remote ID system.""" - current_state: Optional[CurrentState] - most_recent_position: Optional[Position] """Most recent position known for the flight.""" @@ -139,17 +51,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.""" @@ -173,14 +74,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"