Index: EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn =================================================================== --- EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn (nonexistent) +++ EV-RSR/EV_RechargingSpotReservation_PDU_Descriptions.asn (working copy) @@ -0,0 +1,157 @@ +EV-RechargingSpotReservation-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + ItsPduHeader FROM ITS-Container { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) +}; + +EV-RSR ::= SEQUENCE { + header ItsPduHeader, + messageBody EV-RSR-MessageBody +} + +EV-RSR-MessageBody ::= CHOICE { + preReservationRequestMessage PreReservationRequestMessage, + preReservationResponseMessage PreReservationResponseMessage, + reservationRequestMessage ReservationRequestMessage, + reservationResponseMessage ReservationResponseMessage, + cancellationRequestMessage CancellationRequestMessage, + cancellationResponseMessage CancellationResponseMessage, + updateRequestMessage UpdateRequestMessage, + updateResponseMessage UpdateResponseMessage, +... +} + +PreReservationRequestMessage ::= SEQUENCE { + evse-ID EVSE-ID, + arrivalTime TimestampUTC, + departureTime TimestampUTC OPTIONAL, + rechargingType RechargingType, + batteryType BatteryType OPTIONAL, + ... +} + +PreReservationResponseMessage ::= SEQUENCE { + preReservation-ID PreReservation-ID, + availabilityStatus AvailabilityStatus, + preReservationExpirationTime TimestampUTC, + supportedPaymentTypes SupportedPaymentTypes, + ... +} + +ReservationRequestMessage ::= SEQUENCE { + currentTime TimestampUTC, + preReservation-ID PreReservation-ID, + arrivalTime TimestampUTC, + departureTime TimestampUTC OPTIONAL, + eAmount EAmount, + eAmountMin EAmount, + paymentType PaymentType, + payment-ID Payment-ID, + secondPayment-ID Payment-ID OPTIONAL, + pairing-ID Pairing-ID OPTIONAL, + ... +} + +ReservationResponseMessage ::= SEQUENCE { + reservationResponseCode ReservationResponseCode, + reservation-ID Reservation-ID OPTIONAL, + reservation-Password Reservation-Password OPTIONAL, + stationDetails StationDetails OPTIONAL, + chargingSpotLabel ChargingSpotLabel OPTIONAL, + expirationTime TimestampUTC, + freeCancelTimeLimit TimestampUTC OPTIONAL, + ... +} + +CancellationRequestMessage ::= SEQUENCE { + reservation-ID Reservation-ID, + reservation-Password Reservation-Password, + currentTime TimestampUTC, + ... +} + +CancellationResponseMessage ::= SEQUENCE { + reservation-ID Reservation-ID, + cancellationResponseCode CancellationResponseCode, + ... +} + +UpdateRequestMessage ::= SEQUENCE { + reservation-ID Reservation-ID, + reservation-Password Reservation-Password, + updatedArrivalTime TimestampUTC, + updatedDepartureTime TimestampUTC, + ... +} + +UpdateResponseMessage ::= SEQUENCE { + reservation-ID Reservation-ID, + updateResponseCode UpdateResponseCode, + chargingSpotLabel ChargingSpotLabel OPTIONAL, + ... +} + + + +AvailabilityStatus ::= ENUMERATED { available, no-free-capacity } + +BatteryType ::= UTF8String (SIZE(1..16)) + +CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password } + +ChargingSpotLabel ::= UTF8String (SIZE(1..4)) + +ContractID ::= UTF8String (SIZE(1..24)) + +EAmount ::= INTEGER { oneWh(1) } (1..500000) + +ChargingPower ::= INTEGER { oneW(1) } (1..200000) + +EVSE-ID ::= OCTET STRING (SIZE(1..32)) + +ExternalIdentificationMeans ::= UTF8String (SIZE(1..24)) + +Pairing-ID ::= VisibleString (SIZE(1..64)) + +PaymentType ::= ENUMERATED {contract, externalIdentification} + +Payment-ID ::= CHOICE { + contractID ContractID, + externalIdentificationMeans ExternalIdentificationMeans +} + +RechargingType ::= SEQUENCE { + rechargingMode RechargingMode, + powerSource PowerSource +} + +RechargingMode ::= INTEGER { mode1(0), mode2(1), mode3(2), mode4(3), quickDrop(8), inductiveChargingWhileStationary(12), inductiveChargingWhileDriving(14) } (0..15) + +PowerSource::= INTEGER { notApplicable(0), ac1Phase(1), ac2Phase(2), ac3Phase(3), dcc(4), chaDeMo(5) } (0..7) +ReservationResponseCode ::= ENUMERATED {ok, invalid-EVSE-ID, payment-type-not-supported, payment-error, authentication-error, insufficient-power-availability } + +Reservation-ID ::= VisibleString (SIZE(8)) + +PreReservation-ID ::= Reservation-ID + +Reservation-Password ::= VisibleString (SIZE(8)) + + +StationDetails ::= UTF8String (SIZE(1..32)) + +SupportedPaymentTypes ::= BIT STRING { contract(0), externalIdentification (1) } (SIZE(2)) + +TimestampUTC ::= INTEGER { utcStartOf2013(0), oneSecondAfterUTCStartOf2013(1) } + +UpdateResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password, invalid-Arrival-Time, invalid-Departure-Time } + +StatusResponseCode ::= ENUMERATED { charging-Spot-Occupied, charging-Spot-Unoccupied, charging-Ongoing, reservation-Limit-Exceeded, reservation-Cancelled, unknown-Reservation-ID, expired-Reservation-ID } + +END \ No newline at end of file Index: EVCSN/EVCSN_PDU_Descriptions.asn =================================================================== --- EVCSN/EVCSN_PDU_Descriptions.asn (nonexistent) +++ EVCSN/EVCSN_PDU_Descriptions.asn (working copy) @@ -0,0 +1,102 @@ +-- Point of Interest (POI) notification for charging spot +-- for electric vehicle +-- EVCSN Message definition +-- ASN.1 Start Definition + +EVCSN-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) itsDomain (5) +wg1 (1) ts (101556) evcsn (1) version (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + ItsPduHeader, + StationID, + TimestampIts, + ReferencePosition +FROM ITS-Container { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) +}; + +-- Root Message PDU: EvcsnPdu + +EvcsnPdu ::= SEQUENCE { + header ItsPduHeader, + evcsn EVChargingSpotNotificationPOIMessage +} + +EVChargingSpotNotificationPOIMessage ::= SEQUENCE { + poiHeader ItsPOIHeader, -- Specific POI Message Header + evcsnData ItsEVCSNData -- Electric Vehicle Charging Spot Data Elements +} + +ItsPOIHeader ::= SEQUENCE { + poiType POIType, -- set to "EV charging station POI ID = 1" + timeStamp TimestampIts, + relayCapable BOOLEAN +} + + +ItsEVCSNData ::= SEQUENCE { + totalNumberOfStations NumberStations, + chargingStationsData SEQUENCE (SIZE(1..256)) OF ItsChargingStationData +} + +ItsChargingStationData ::= SEQUENCE { + chargingStationID StationID, + utilityDistributorId UTF8String (SIZE(1..32)) OPTIONAL, + providerID UTF8String (SIZE(1..32)) OPTIONAL, + chargingStationLocation ReferencePosition, + address UTF8String OPTIONAL, + phoneNumber NumericString (SIZE(1..16)) OPTIONAL, + accessibility UTF8String (SIZE(1..32)), + digitalMap DigitalMap OPTIONAL, + openingDaysHours UTF8String, + pricing UTF8String, + bookingContactInfo UTF8String OPTIONAL, + payment UTF8String OPTIONAL, + chargingSpotsAvailable ItsChargingSpots, + ... +} + + +ItsChargingSpots ::= SEQUENCE (SIZE(1..16)) OF ItsChargingSpotDataElements + + +ItsChargingSpotDataElements ::= SEQUENCE { + type ChargingSpotType, + evEquipmentID UTF8String OPTIONAL, + typeOfReceptacle TypeOfReceptacle, + energyAvailability UTF8String, + parkingPlacesData ParkingPlacesData OPTIONAL +} + +DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition + +ChargingSpotType ::= BIT STRING { + standardChargeMode1(0), + standardChargeMode2(1), + standardOrFastChargeMode3(2), + fastChargeWithExternalCharger(3), + quickDrop(8), + inductiveChargeWhileStationary(12), + inductiveChargeWhileDriving(14) +} + +TypeOfReceptacle ::= BIT STRING + +ParkingPlacesData ::= SEQUENCE (SIZE(1..4)) OF SpotAvailability + +SpotAvailability ::= SEQUENCE { + maxWaitingTimeMinutes INTEGER (0..1400), -- 0 if available or max waiting + -- time (minutes) + blocking BOOLEAN -- true if the spot can be blocked +} + +POIType ::= INTEGER(0..65535) +NumberStations ::= INTEGER(1..256) + +END \ No newline at end of file Index: IS/AddGrpC.asn =================================================================== --- IS/AddGrpC.asn (nonexistent) +++ IS/AddGrpC.asn (working copy) @@ -0,0 +1,111 @@ +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: AddGrpC +-- ISO TS 19091 Oct 2015 v0910 +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } + + +DEFINITIONS AUTOMATIC TAGS::= BEGIN + +IMPORTS +--FIXME RGY all definitions are moved to IS-DSRC-noCircular to cut circular import loop +--NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC +NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM IS-DSRC-REGION-noCircular +Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; + + +ConnectionManeuverAssist-addGrpC ::= SEQUENCE { + vehicleToLanePositions VehicleToLanePositionList OPTIONAL, + rsuGNSSOffset NodeOffsetPointXY OPTIONAL +} + +ConnectionTrajectory-addGrpC ::= SEQUENCE { + nodes NodeSetXY, + ... +} + +/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop +Control-addGrpC ::= SEQUENCE { + ptvRequest PtvRequestType, + ... +} +*/ + +IntersectionState-addGrpC ::= SEQUENCE { + activePrioritizations PrioritizationResponseList OPTIONAL, + ... +} + +MapData-addGrpC ::= SEQUENCE { + signalHeadLocations SignalHeadLocationList OPTIONAL, + ... +} + +Position3D-addGrpC ::= SEQUENCE { + altitude Altitude, + ... +} + +PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse + +PrioritizationResponse ::= SEQUENCE { + stationed StationID, + priorState PrioritizationResponseStatus, + signalGroup SignalGroupID, + ... +} + +RestrictionUserType-addGrpC ::= SEQUENCE { + emission EmissionType OPTIONAL, + ... +} + +SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation + +SignalHeadLocation ::= SEQUENCE { + nodeXY NodeOffsetPointXY, + nodeZ DeltaAltitude, + signalGroupID SignalGroupID, + ... +} + +SignalStatusPackage-addGrpC ::= SEQUENCE { + synchToSchedule DeltaTime OPTIONAL, + ... +} + + +VehicleToLanePositionList ::= SEQUENCE SIZE(1..5) OF VehicleToLanePosition + +VehicleToLanePosition ::= SEQUENCE { + stationID StationID, + laneID LaneID, + timeReference TimeReference OPTIONAL, + ... +} +EmissionType ::= ENUMERATED { + euro1, + euro2, + euro3, + euro4, + euro5, + euro6, + ... +} + +/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop +PtvRequestType ::= ENUMERATED { + preRequest, + mainRequest, + doorCloseRequest, + cancelRequest, + emergencyRequest, + ... +} +*/ + +TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) + +END Property changes on: IS/AddGrpC.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/AddGrpC_noCircular.asn =================================================================== --- IS/AddGrpC_noCircular.asn (nonexistent) +++ IS/AddGrpC_noCircular.asn (working copy) @@ -0,0 +1,30 @@ +--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: AddGrpC +-- ISO TS 19091 Oct 2015 v0910 +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +--FIXME RGY definitions are moved here from AddGrpC; created to cut circular import loops amongst ASN.1 files +AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } + + +DEFINITIONS AUTOMATIC TAGS::= BEGIN + + +Control-addGrpC ::= SEQUENCE { + ptvRequest PtvRequestType, + ... +} + +PtvRequestType ::= ENUMERATED { + preRequest, + mainRequest, + doorCloseRequest, + cancelRequest, + emergencyRequest, + ... +} + +END Property changes on: IS/AddGrpC_noCircular.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/EfcModule.asn =================================================================== --- IS/EfcModule.asn (nonexistent) +++ IS/EfcModule.asn (working copy) @@ -0,0 +1,139 @@ +-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-- ISO TS 14906 +-- +-- +-- +-- This document contains only the data element needed for the encoding of an IVI message +-- as defined in ISO TS 19321(2015) +-- +-- Published version location: +-- http://standards.iso.org/iso/14906/old/ +-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +EfcModule {iso standard 14906 modules(0) efc(0) version(1)} DEFINITIONS + +AUTOMATIC TAGS +::= BEGIN +--EXPORTS ALL; +-- IMPORTS CountryCode, CS5, IssuerIdentifier FROM AVIAEINumberingAndDataStructures{iso(1) standard(0) 14816 } +IMPORTS CountryCode, IssuerIdentifier FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}; +-- defined in ISO 14816 -- +-- Container, AttributeIdList, Attributes, AttributeList FROM DSRCData{iso standard 14906 modules (0) dsrc (1) version (1)}; +-- NOTE: The following are the definitions of the action and response +-- parameters + +AxleWeightLimits ::= SEQUENCE{ + maxLadenweightOnAxle1 Int2, + maxLadenweightOnAxle2 Int2, + maxLadenweightOnAxle3 Int2, + maxLadenweightOnAxle4 Int2, + maxLadenweightOnAxle5 Int2 +} + +-- Fritz include +DieselEmissionValues::= SEQUENCE { + particulate SEQUENCE { + unitType UnitType, + value INTEGER (0..32767) + }, + absorptionCoeff Int2 +} + +-- Fritz include +EnvironmentalCharacteristics::= SEQUENCE { + euroValue EuroValue, + copValue CopValue +} + +EuroValue::= ENUMERATED { + noEntry (0), + euro-1 (1), + euro-2 (2), + euro-3 (3), + euro-4 (4), + euro-5 (5), + euro-6 (6), + reservedForUse1 (7), + reservedForUse2 (8), + reservedForUse3 (9), + reservedForUse4 (10), + reservedForUse5 (11), + reservedForUse6 (12), + reservedForUse7 (13), + reservedForUse8 (14), + reservedForUse9 (15) +} -- 4 bits, EURO-Clases as defined in EC directive 88/77/EEC, annex 1 +-- and in 91/542/EEC, 96/1/EC, 1999/96/EC, 2001/27/EC + +CopValue::= ENUMERATED { + noEntry (0), + co2class1 (1), -- below 101 g/km + co2class2 (2), -- 101 to 120 g/km + co2class3 (3), -- 121 to 140 g/km + co2class4 (4), -- 141 to 160 g/km + co2class5 (5), -- 161 to 200 g/km + co2class6 (6), -- 201 to 250 g/km + co2class7 (7), -- above 250 g/km + reservedforUse (8) -- reserved for future CEN and ISO use +} -- 4 bits, reserved for carbon dioxide pollution values as defined in +-- EC directive 2003/127/EC' + +-- Fritz include +EngineCharacteristics::= INTEGER { + noEntry (0), + noEngine (1), + petrolUnleaded (2), + petrolLeaded (3), + diesel (4), + lPG (5), + battery (6), + solar (7) + -- (8-255) are reserved for future CEN use +} (0..255) + +-- Fritz include +ExhaustEmissionValues ::= SEQUENCE { + unitType UnitType, + emissionCO INTEGER (0.. 32767), + emissionHC Int2, + emissionNOX Int2, + emissionHCNOX Int2 +} + +Int1 ::= INTEGER(0..255) + +Int2 ::= INTEGER(0..65535) + +-- Fritz include +PassengerCapacity ::= SEQUENCE{ + numberOfSeats Int1, + numberOfStandingPlaces Int1 +} + +Provider ::= SEQUENCE { -- Fritz include +countryCode CountryCode, +providerIdentifier IssuerIdentifier +} + +SoundLevel ::= SEQUENCE{ -- fritz include +soundstationary Int1, +sounddriveby Int1 +} + +UnitType ::=ENUMERATED { + mg-km (0), + mg-kWh (1) +} + +VehicleDimensions ::= SEQUENCE { -- Fritz include +vehicleLengthOverall Int1, +vehicleHeigthOverall Int1, +vehicleWidthOverall Int1 +} + +VehicleWeightLimits ::= SEQUENCE { -- fritz include +vehicleMaxLadenWeight Int2, +vehicleTrainMaximumWeight Int2, +vehicleWeightUnladen Int2 +} +END Property changes on: IS/EfcModule.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/ETSI_TS_103301.asn =================================================================== --- IS/ETSI_TS_103301.asn (revision 1297) +++ IS/ETSI_TS_103301.asn (nonexistent) @@ -1,146 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ETSI TS 103 301 --- --- This ASN.1 was generated: 30.08.2016 --- --- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message --- as defined in ETSI TS 103 301 --- --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: SPAT-MESSAGE-PDU-Descriptions --- --- This ASN.1 was created: 30.08.2016 --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -SPATEM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) spatem (0) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - - -SPATEM ::= SEQUENCE { - header ItsPduHeader, - spat SPAT -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: MAP-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -MAPEM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) mapem (1) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; - - -MAPEM ::= SEQUENCE { - header ItsPduHeader, - map MapData -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: IVI-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -IVIM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ivim (2) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; - - -IVIM ::= SEQUENCE { - header ItsPduHeader, - ivi IviStructure -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: SRM-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -SREM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) srem (3) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - -SREM ::= SEQUENCE { - header ItsPduHeader, - srm SignalRequestMessage -} - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: SSM-MESSAGE-PDU-Descriptions --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -SSEM-PDU-Descriptions { - itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ssem (4) version1 (1) -} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - -IMPORTS -SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } -ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - - -SSEM ::= SEQUENCE { - header ItsPduHeader, - ssm SignalStatusMessage -} - -END - Property changes on: IS/ETSI_TS_103301.asn ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -URL Id \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: IS/IS_DSRC.asn =================================================================== --- IS/IS_DSRC.asn (nonexistent) +++ IS/IS_DSRC.asn (working copy) @@ -0,0 +1,1906 @@ +--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: DSRC +-- ISO TS 19091 Oct 2015 v0909 +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +--FIXME RGY renamed from DSRC, as module DSRC already exists in MAP-SPAT +IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } + +DEFINITIONS AUTOMATIC TAGS::= BEGIN + +IMPORTS +--FIXME RGY definitions moved to module IS-DSRC-REGION-noCircular are commented our below +StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } +Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, +Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, /*Reg-LaneDataAttribute,*/ Reg-MovementEvent, Reg-MovementState, +/*Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,*/ Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, +--FIXME RGY module name changed to IS-REGION as REGION already used in MAP_SPAT +--Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)}; +Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM IS-REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} + +--FIXME RGY definitions moved to IS-DSRC-REGION-noCircular but also refernced here are re-imported +DeltaAngle, DeltaTime, LaneID, NodeSetXY, PrioritizationResponseStatus, RegionalExtension, SignalGroupID, SpeedLimitList, Velocity, +Reg-LaneDataAttribute, Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY FROM IS-DSRC-REGION-noCircular +Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)} +; + + +-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +-- +-- Start of entries from table Messages... +-- This table typicaly contains message entries. +-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +-- + +MessageFrame ::= SEQUENCE { + messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), + value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), + ... + } + +MESSAGE-ID-AND-TYPE ::= CLASS { + &id DSRCmsgID UNIQUE, + &Type + } WITH SYNTAX {&Type IDENTIFIED BY &id} + +MessageTypes MESSAGE-ID-AND-TYPE ::= { + { MapData IDENTIFIED BY mapData } | + { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | + { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | + { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, + ... -- Expansion to be used only by the SAE J2735 DSRC TC + } + + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +-- Regional extensions support +REG-EXT-ID-AND-TYPE ::= CLASS { + &id RegionId UNIQUE, + &Type + } WITH SYNTAX {&Type IDENTIFIED BY &id} + +RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { + regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), + regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) + } +*/ + +SPAT ::= SEQUENCE { + timeStamp MinuteOfTheYear OPTIONAL, + name DescriptiveName OPTIONAL, + -- human readable name for this collection + -- to be used only in debug mode + + intersections IntersectionStateList, + -- sets of SPAT data (one per intersection) + + -- If PrioritizationResponse data is required, it is found + -- in the RegionalSPAT entry below + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-SPAT}} OPTIONAL, + ... + } + +SignalRequestMessage ::= SEQUENCE { + timeStamp MinuteOfTheYear OPTIONAL, + second DSecond, + sequenceNumber MsgCount OPTIONAL, + + requests SignalRequestList OPTIONAL, + -- Request Data for one or more signalized + -- intersections that support SRM dialogs + + requestor RequestorDescription, + -- Requesting Device and other User Data + -- contains vehicle ID (if from a vehicle) + -- as well as type data and current position + -- and may contain additional transit data + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, + ... +} + +SignalStatusMessage ::= SEQUENCE { + timeStamp MinuteOfTheYear OPTIONAL, + second DSecond, + sequenceNumber MsgCount OPTIONAL, + + -- Status Data for one of more signalized intersections + status SignalStatusList, + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, + ... +} + +MapData ::= SEQUENCE { + timeStamp MinuteOfTheYear OPTIONAL, + msgIssueRevision MsgCount, + layerType LayerType OPTIONAL, + layerID LayerID OPTIONAL, + intersections IntersectionGeometryList OPTIONAL, + -- All Intersection definitions + roadSegments RoadSegmentList OPTIONAL, + -- All roadway descriptions + + dataParameters DataParameters OPTIONAL, + -- Any meta data regarding the map contents + + restrictionList RestrictionClassList OPTIONAL, + -- Any restriction ID tables which have + -- established for these map entries + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-MapData}} OPTIONAL, + + -- NOTE: + -- Other map data will be added here as it is defined + -- Examples of the type of content to be added include + -- curve warnings, construction routes, etc. + ... +} + + +-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +-- +-- Start of entries from table Data_Frames... +-- This table typicaly contains data frame entries. +-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +-- + +AdvisorySpeed ::= SEQUENCE { + type AdvisorySpeedType, + -- the type of advisory which this is. + speed SpeedAdvice OPTIONAL, + -- See Section 11 for converting and translating speed + -- expressed in mph into units of m/s + -- This element is optional ONLY when superceded + -- by the presence of a regional speed element found in + -- Reg-AdvisorySpeed entry + confidence SpeedConfidence OPTIONAL, + -- A confidence value for the above speed + distance ZoneLength OPTIONAL, + -- Unit = 1 meter, + -- The distance indicates the region for which the advised speed + -- is recommended, it is specified upstream from the stop bar + -- along the connected egressing lane + class RestrictionClassID OPTIONAL, + -- the vehicle types to which it applies + -- when absent, the AdvisorySpeed applies to + -- all motor vehicle types + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, + ... + } + +AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed + +ComputedLane ::= SEQUENCE { + -- Data needed to created a computed lane + referenceLaneId LaneID, + -- the lane ID upon which this + -- computed lane will be based + -- Lane Offset in X and Y direction + offsetXaxis CHOICE { + small DrivenLineOffsetSm, + large DrivenLineOffsetLg + }, + offsetYaxis CHOICE { + small DrivenLineOffsetSm, + large DrivenLineOffsetLg + }, + -- A path X offset value for translations of the + -- path's points when creating translated lanes. + -- The values found in the reference lane are + -- all offset based on the X and Y values from + -- the coordinates of the reference lane's + -- initial path point. + -- Lane Rotation + rotateXY Angle OPTIONAL, + -- A path rotation value for the entire lane + -- Observe that this rotates the existing orientation + -- of the referenced lane, it does not replace it. + -- Rotation occurs about the initial path point. + -- Lane Path Scale (zooming) + scaleXaxis Scale-B12 OPTIONAL, + scaleYaxis Scale-B12 OPTIONAL, + -- value for translations or zooming of the path's + -- points. The values found in the reference lane + -- are all expanded or contracted based on the X + -- and Y and width values from the coordinates of + -- the reference lane's initial path point. + -- The Z axis remains untouched. + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-ComputedLane}} OPTIONAL, + ... + } +ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection + +ConnectingLane ::= SEQUENCE { + lane LaneID, -- Index of the connecting lane + maneuver AllowedManeuvers OPTIONAL + -- The Maneuver between + -- the enclosing lane and this lane + -- at the stop line to connect them + } + + +Connection ::= SEQUENCE { + -- The subject lane connecting to this lane is: + connectingLane ConnectingLane, + -- The index of the connecting lane and also + -- the maneuver from the current lane to it + remoteIntersection IntersectionReferenceID OPTIONAL, + -- This entry is only used when the + -- indicated connecting lane belongs + -- to another intersection layout. This + -- provides a means to create meshes of lanes + + -- SPAT mapping details at the stop line are: + signalGroup SignalGroupID OPTIONAL, + -- The matching signal group send by + -- the SPAT message for this lane/maneuver. + -- Shall be present unless the connectingLane + -- has no signal group (is un-signalized) + userClass RestrictionClassID OPTIONAL, + -- The Restriction Class of users this applies to + -- The use of some lane/maneuver and SignalGroupID + -- pairings are restricted to selected users. + -- When absent, the SignalGroupID applies to all + + -- Movement assist details are given by: + connectionID LaneConnectionID OPTIONAL + -- An optional connection index used to + -- relate this lane connection to any dynamic + -- clearance data in the SPAT. Note that + -- the index may be shared with other + -- connections if the clearance data is common + } + + +ConnectionManeuverAssist ::= SEQUENCE { + connectionID LaneConnectionID, + -- the common connectionID used by all lanes to which + -- this data applies + -- (this value traces to ConnectsTo entries in lanes) + -- Expected Clearance Information + queueLength ZoneLength OPTIONAL, + -- Unit = 1 meter, 0 = no queue + -- The distance from the stop line to the back + -- edge of the last vehicle in the queue, + -- as measured along the lane center line. + availableStorageLength ZoneLength OPTIONAL, + -- Unit = 1 meter, 0 = no space remains + -- Distance (e.g. beginning from the downstream + -- stop-line up to a given distance) with a high + -- probability for successfully executing the + -- connecting maneuver between the two lanes + -- during the current cycle. + -- Used for enhancing the awareness of vehicles + -- to anticipate if they can pass the stop line + -- of the lane. Used for optimizing the green wave, + -- due to knowledge of vehicles waiting in front + -- of a red light (downstream). + -- The element nextTime in TimeChangeDetails + -- in the containing data frame contains the next + -- timemark at which an active phase is expected, + -- a form of storage flush interval. + waitOnStop WaitOnStopline OPTIONAL, + -- If "true", the vehicles on this specific connecting + -- maneuver have to stop on the stop-line and not + -- to enter the collision area + pedBicycleDetect PedestrianBicycleDetect OPTIONAL, + -- true if ANY ped or bicycles are detected crossing + -- the above lanes. Set to false ONLY if there is a + -- high certainty that there are none present, + -- otherwise element is not sent. + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, + ... + } + +DataParameters ::= SEQUENCE { + processMethod IA5String(SIZE(1..255)) OPTIONAL, + processAgency IA5String(SIZE(1..255)) OPTIONAL, + lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, + geoidUsed IA5String(SIZE(1..255)) OPTIONAL, + ... + } + +EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID + -- The unique ID numbers for each + -- lane object which is 'active' + -- as part of the dynamic map contents. + +GenericLane ::= SEQUENCE { + laneID LaneID, + -- The unique ID number assigned + -- to this lane object + name DescriptiveName OPTIONAL, + -- often for debug use only + -- but at times used to name ped crossings + ingressApproach ApproachID OPTIONAL, -- inbound + egressApproach ApproachID OPTIONAL, -- outbound + -- Approach IDs to which this lane belongs + laneAttributes LaneAttributes, + -- All Attribute information about + -- the basic selected lane type + -- Directions of use, Geometric co-sharing + -- and Type Specific Attributes + -- These Attributes are 'lane - global' that is, + -- they are true for the entire length of the lane + maneuvers AllowedManeuvers OPTIONAL, + -- the permitted maneuvers for this lane + nodeList NodeListXY, + -- Lane spatial path information as well as + -- various Attribute information along the node path + -- Attributes found here are more general and may + -- come and go over the length of the lane. + connectsTo ConnectsToList OPTIONAL, + -- a list of other lanes and their signal group IDs + -- each connecting lane and its signal group ID + -- is given, therefore this element provides the + -- information formerly in "signalGroups" in prior + -- editions. + overlays OverlayLaneList OPTIONAL, + -- A list of any lanes which have spatial paths that + -- overlay (run on top of, and not simply cross) + -- the path of this lane when used + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-GenericLane}} OPTIONAL, + ... + } + +IntersectionAccessPoint ::= CHOICE { + lane LaneID, + approach ApproachID, + connection LaneConnectionID, + ... + } + +IntersectionGeometry ::= SEQUENCE { + name DescriptiveName OPTIONAL, + -- For debug use only + id IntersectionReferenceID, + -- A globally unique value set, + -- consisting of a regionID and + -- intersection ID assignment + revision MsgCount, + + -- Required default values about lane descriptions follow + refPoint Position3D, -- The reference from which subsequent + -- data points are offset until a new + -- point is used. + laneWidth LaneWidth OPTIONAL, + -- Reference width used by all subsequent + -- lanes unless a new width is given + speedLimits SpeedLimitList OPTIONAL, + -- Reference regulatory speed limits + -- used by all subsequent + -- lanes unless a new speed is given + -- See Section 11 for converting and + -- translating speed expressed in mph + -- into units of m/s + -- Complete details regarding each lane type in this intersection + laneSet LaneList, -- Data about one or more lanes + -- (all lane data is found here) + + -- Data describing how to use and request preemption and + -- priority services from this intersection (if supported) + -- NOTE Additonal data may be added in the next release of the + -- standard at this point to handle this concept + preemptPriorityData PreemptPriorityList OPTIONAL, + -- data about one or more regional + -- preempt or priority zones + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, + ... + } + +IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry + +IntersectionReferenceID ::= SEQUENCE { + region RoadRegulatorID OPTIONAL, + -- a globally unique regional assignment value + -- typical assigned to a regional DOT authority + -- the value zero shall be used for testing needs + id IntersectionID + -- a unique mapping to the intersection + -- in question within the above region of use + } + +IntersectionState ::= SEQUENCE { + name DescriptiveName OPTIONAL, + -- human readable name for intersection + -- to be used only in debug mode + id IntersectionReferenceID, + -- A globally unique value set, consisting of a + -- regionID and intersection ID assignment + -- provides a unique mapping to the + -- intersection MAP in question + -- which provides complete location + -- and approach/move/lane data + revision MsgCount, + status IntersectionStatusObject, + -- general status of the controller(s) + moy MinuteOfTheYear OPTIONAL, + -- Minute of current UTC year + -- used only with messages to be archived + timeStamp DSecond OPTIONAL, + -- the mSec point in the current UTC minute that + -- this message was constructed + enabledLanes EnabledLaneList OPTIONAL, + -- a list of lanes where the RevocableLane bit + -- has been set which are now active and + -- therefore part of the current intersection + states MovementList, + -- Each Movement is given in turn + -- and contains its signal phase state, + -- mapping to the lanes it applies to, and + -- point in time it will end, and it + -- may contain both active and future states + maneuverAssistList ManeuverAssistList OPTIONAL, + -- Assist data + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-IntersectionState}} OPTIONAL, + ... + } + +IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState + +LaneAttributes ::= SEQUENCE { + directionalUse LaneDirection, -- directions of lane use + sharedWith LaneSharing, -- co-users of the lane path + laneType LaneTypeAttributes, -- specific lane type data + regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL + } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +LaneDataAttribute ::= CHOICE { + -- Segment attribute types and the data needed for each + pathEndPointAngle DeltaAngle, + -- adjusts final point/width slant + -- of the lane to align with the stop line + laneCrownPointCenter RoadwayCrownAngle, + -- sets the canter of the road bed + -- from centerline point + laneCrownPointLeft RoadwayCrownAngle, + -- sets the canter of the road bed + -- from left edge + laneCrownPointRight RoadwayCrownAngle, + -- sets the canter of the road bed + -- from right edge + laneAngle MergeDivergeNodeAngle, + -- the angle or direction of another lane + -- this is required to support Japan style + -- when a merge point angle is required + speedLimits SpeedLimitList, + -- Reference regulatory speed limits + -- used by all segments + + -- Add others as needed, in regional space + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-LaneDataAttribute}}, + ... + } + +LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute +*/ + +LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane + +LaneSharing ::= BIT STRING { + -- With bits as defined: + overlappingLaneDescriptionProvided (0), + -- Assert when another lane object is present to describe the + -- path of the overlapping shared lane + -- this construct is not used for lane objects which simply cross + multipleLanesTreatedAsOneLane (1), + -- Assert if the lane object path and width details represents + -- multiple lanes within it that are not further described + + -- Various modes and type of traffic that may share this lane: + otherNonMotorizedTrafficTypes (2), -- horse drawn etc. + individualMotorizedVehicleTraffic (3), + busVehicleTraffic (4), + taxiVehicleTraffic (5), + pedestriansTraffic (6), + cyclistVehicleTraffic (7), + trackedVehicleTraffic (8), + pedestrianTraffic (9) + } (SIZE (10)) + -- All zeros would indicate 'not shared' and 'not overlapping' + +LaneTypeAttributes ::= CHOICE { + vehicle LaneAttributes-Vehicle, -- motor vehicle lanes + crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks + bikeLane LaneAttributes-Bike, -- bike lanes + sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths + median LaneAttributes-Barrier, -- medians & channelization + striping LaneAttributes-Striping, -- roadway markings + trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys + parking LaneAttributes-Parking, -- parking and stopping lanes + ... + } + +ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist + +MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent + +MovementEvent ::= SEQUENCE { + eventState MovementPhaseState, + -- Consisting of: + -- Phase state (the basic 11 states) + -- Directional, protected, or permissive state + + timing TimeChangeDetails OPTIONAL, + -- Timing Data in UTC time stamps for event + -- includes start and min/max end times of phase + -- confidence and estimated next occurrence + + speeds AdvisorySpeedList OPTIONAL, + -- various speed advisories for use by + -- general and specific types of vehicles + -- supporting green-wave and other flow needs + -- See Section 11 for converting and translating + -- speed expressed in mph into units of m/s + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-MovementEvent}} OPTIONAL, + ... + } + +MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState + +MovementState ::= SEQUENCE { + movementName DescriptiveName OPTIONAL, + -- uniquely defines movement by name + -- human readable name for intersection + -- to be used only in debug mode + signalGroup SignalGroupID, + -- the group id is used to map to lists + -- of lanes (and their descriptions) + -- which this MovementState data applies to + -- see comments in the Remarks for usage details + state-time-speed MovementEventList, + -- Consisting of sets of movement data with: + -- a) SignalPhaseState + -- b) TimeChangeDetails, and + -- c) AdvisorySpeeds (optional ) + -- Note one or more of the movement events may be for + -- a future time and that this allows conveying multiple + -- predictive phase and movement timing for various uses + -- for the current signal group + maneuverAssistList ManeuverAssistList OPTIONAL, + -- This information may also be placed in the + -- IntersectionState when common information applies to + -- different lanes in the same way + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-MovementState}} OPTIONAL, + ... + } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +NodeAttributeSetXY ::= SEQUENCE { + localNode NodeAttributeXYList OPTIONAL, + -- Attribute states which pertain to this node point + disabled SegmentAttributeXYList OPTIONAL, + -- Attribute states which are disabled at this node point + enabled SegmentAttributeXYList OPTIONAL, + -- Attribute states which are enabled at this node point + -- and which remain enabled until disabled or the lane ends + data LaneDataAttributeList OPTIONAL, + -- Attributes which require an additional data values + -- some of these are local to the node point, while others + -- persist with the provided values until changed + -- and this is indicated in each entry + dWidth Offset-B10 OPTIONAL, + -- A value added to the current lane width + -- at this node and from this node onwards, in 1cm steps + -- lane width between nodes are a linear taper between pts + -- the value of zero shall not be sent here + dElevation Offset-B10 OPTIONAL, + -- A value added to the current Elevation + -- at this node from this node onwards, in 10cm steps + -- elevations between nodes are a linear taper between pts + -- the value of zero shall not be sent here + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, + ... + } + +NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY + +NodeAttributeXY ::= ENUMERATED { + -- Various values which pertain only to the current node point + + -- General Items + reserved, + stopLine, -- point where a mid-path stop line exists + -- See also 'do not block' for segments + + -- Path finish details + roundedCapStyleA, -- Used to control final path rounded end shape + -- with edge of curve at final point in a circle + roundedCapStyleB, -- Used to control final path rounded end shape + -- with edge of curve extending 50% of width past + -- final point in a circle + + -- Topography Points (items with no concept of a distance along the path) + mergePoint, -- Japan merge with 1 or more lanes + divergePoint, -- Japan diverge with 1 or more lanes + downstreamStopLine, -- Japan style downstream intersection + -- (a 2nd intersection) stop line + downstreamStartNode, -- Japan style downstream intersection + -- (a 2nd intersection) start node + + -- Pedestrian Support Attributes + closedToTraffic, -- where a pedestrian may NOT go + -- to be used during construction events + safeIsland, -- a pedestrian safe stopping point + -- also called a traffic island + -- This usage described a point feature on a path, + -- other entries can describe a path + curbPresentAtStepOff, -- the sidewalk to street curb is NOT + -- angled where it meets the edge of the + -- roadway (user must step up/down) + + -- Lane geometry details (see standard for defined shapes) + hydrantPresent, -- Or other services access + ... + } +*/ + +Node-LLmD-64b ::= SEQUENCE { + lon Longitude, + lat Latitude + } + + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop + Node-XY-20b ::= SEQUENCE { + x Offset-B10, + y Offset-B10 + } + +Node-XY-22b ::= SEQUENCE { + x Offset-B11, + y Offset-B11 + } + + +Node-XY-24b ::= SEQUENCE { + x Offset-B12, + y Offset-B12 + } + + +Node-XY-26b ::= SEQUENCE { + x Offset-B13, + y Offset-B13 + } + + +Node-XY-28b ::= SEQUENCE { + x Offset-B14, + y Offset-B14 + } + + +Node-XY-32b ::= SEQUENCE { + x Offset-B16, + y Offset-B16 + } +*/ + +NodeListXY ::= CHOICE { + nodes NodeSetXY, + -- a lane made up of two or more + -- XY node points and any attributes + -- defined in those nodes + computed ComputedLane, + -- a lane path computed by translating + -- the data defined by another lane + ... + } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +NodeOffsetPointXY ::= CHOICE { + -- Nodes with X,Y content + node-XY1 Node-XY-20b, -- node is within 5.11m of last node + node-XY2 Node-XY-22b, -- node is within 10.23m of last node + node-XY3 Node-XY-24b, -- node is within 20.47m of last node + node-XY4 Node-XY-26b, -- node is within 40.96m of last node + node-XY5 Node-XY-28b, -- node is within 81.91m of last node + node-XY6 Node-XY-32b, -- node is within 327.67m of last node + node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range + regional RegionalExtension {{Reg-NodeOffsetPointXY}} + -- node which follows is of a + -- regional definition type + } + +NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY + +NodeXY ::= SEQUENCE { + delta NodeOffsetPointXY, + -- A choice of which X,Y offset value to use + -- this includes various delta values as well a regional choices + attributes NodeAttributeSetXY OPTIONAL, + -- Any optional Attributes which are needed + -- This includes changes to the current lane width and elevation + ... +} +*/ + +OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID + -- The unique ID numbers for any lane object which have + -- spatial paths that overlay (run on top of, and not + -- simply cross with) the current lane. + -- Such as a train path that overlays a motor vehicle + -- lane object for a roadway segment. + +Position3D ::= SEQUENCE { + lat Latitude, -- in 1/10th micro degrees + long Longitude, -- in 1/10th micro degrees + elevation Elevation OPTIONAL, -- in 10 cm units + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-Position3D}} OPTIONAL, + ... + } + +PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +RegulatorySpeedLimit ::= SEQUENCE { + type SpeedLimitType, + -- The type of regulatory speed which follows + speed Velocity + -- The speed in units of 0.02 m/s + -- See Section 11 for converting and translating + -- speed expressed in mph into units of m/s + } +*/ + +RequestorDescription ::= SEQUENCE { + id VehicleID, + -- The ID used in the BSM or CAM of the requestor + -- This ID is presumed not to change + -- during the exchange + type RequestorType OPTIONAL, + -- Information regarding all type and class data + -- about the requesting vehicle + position RequestorPositionVector OPTIONAL, + -- The location of the requesting vehicle + name DescriptiveName OPTIONAL, + -- A human readable name for debugging use + -- Support for Transit requests + routeName DescriptiveName OPTIONAL, + -- A string for transit operations use + transitStatus TransitVehicleStatus OPTIONAL, + -- current vehicle state (loading, etc.) + transitOccupancy TransitVehicleOccupancy OPTIONAL, + -- current vehicle occupancy + transitSchedule DeltaTime OPTIONAL, + -- current vehicle schedule adherence + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, + ... + } + +RequestorPositionVector ::= SEQUENCE { + position Position3D, + heading Angle OPTIONAL, + speed TransmissionAndSpeed OPTIONAL, + ... + } + +RequestorType ::= SEQUENCE { + -- Defines who is requesting + role BasicVehicleRole, -- Basic role of this user at this time + subrole RequestSubRole OPTIONAL, -- A local list with role based items + + -- Defines what kind of request (a level of importance in the Priority Scheme) + request RequestImportanceLevel OPTIONAL, -- A local list with request items + + -- Additional classification details + iso3883 Iso3833VehicleType OPTIONAL, + hpmsType VehicleType OPTIONAL, -- HPMS classification types + + regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, + ... + } + +RestrictionClassAssignment ::= SEQUENCE { + id RestrictionClassID, + -- the unique value (within an intersection or local region) + -- that is assigned to this group of users + users RestrictionUserTypeList + -- The list of user types/classes + -- to which this restriction ID applies + } + +RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment + +RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType + +RestrictionUserType ::= CHOICE { + basicType RestrictionAppliesTo, + -- a set of the most commonly used types + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-RestrictionUserType}}, + ... + } + +RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane + +RoadSegmentReferenceID ::= SEQUENCE { + region RoadRegulatorID OPTIONAL, + -- a globally unique regional assignment value + -- typically assigned to a regional DOT authority + -- the value zero shall be used for testing needs + id RoadSegmentID + -- a unique mapping to the road segment + -- in question within the above region of use + -- during its period of assignment and use + -- note that unlike intersectionID values, + -- this value can be reused by the region + } + +RoadSegment ::= SEQUENCE { + name DescriptiveName OPTIONAL, + id RoadSegmentReferenceID, + -- a globally unique value for the segment + revision MsgCount, + -- Required default values about the descriptions to follow + refPoint Position3D, -- the reference from which subsequent + -- data points are offset until a new + -- point is used. + laneWidth LaneWidth OPTIONAL, + -- Reference width used by all subsequent + -- lanes unless a new width is given + speedLimits SpeedLimitList OPTIONAL, + -- Reference regulatory speed limits + -- used by all subsequent + -- lanes unless a new speed is given + -- See Section 11 for converting and + -- translating speed expressed in mph + -- into units of m/s + + -- Data describing disruptions in the RoadSegment + -- such as work zones etc will be added here; + -- in the US the SAE ITIS codes would be used here + -- The details regarding each lane type in the RoadSegment + roadLaneSet RoadLaneSetList, + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-RoadSegment}} OPTIONAL, + ... + } + +RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY +*/ + +SignalControlZone ::= SEQUENCE { + zone RegionalExtension {{Reg-SignalControlZone}}, + ... + } + +SignalRequesterInfo ::= SEQUENCE { + -- These three items serve to uniquely identify the requester + -- and the specific request to all parties + id VehicleID, + request RequestID, + sequenceNumber MsgCount, + role BasicVehicleRole OPTIONAL, + + typeData RequestorType OPTIONAL, + -- Used when addition data besides the role + -- is needed, at which point the role entry + -- above is not sent. + ... + } + +SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage + +SignalRequestPackage ::= SEQUENCE { + request SignalRequest, + -- The specific request to the intersection + -- contains IntersectionID, request type, + -- requested action (approach/lane request) + + -- The Estimated Time of Arrival (ETA) when the service is requested + minute MinuteOfTheYear OPTIONAL, + second DSecond OPTIONAL, + duration DSecond OPTIONAL, + -- The duration value is used to provide a short interval that + -- extends the ETA so that the requesting vehicle can arrive at + -- the point of service with uncertainty or with some desired + -- duration of service. This concept can be used to avoid needing + -- to frequently update the request. + -- The requester must update the ETA and duration values if the + -- period of services extends beyond the duration time. + -- It should be assumed that if the vehicle does not clear the + -- intersection when the duration is reached, the request will + -- be cancelled and the intersection will revert to + -- normal operation. + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, + ... + } + +SignalRequest ::= SEQUENCE { + -- the unique ID of the target intersection + id IntersectionReferenceID, + + -- The unique requestID used by the requestor + requestID RequestID, + + -- The type of request or cancel for priority or preempt use + -- when a prior request is canceled, only the requestID is needed + requestType PriorityRequestType, + + -- In typical use either an approach or a lane number would + -- be given, this indicates the requested + -- path through the intersection to the degree it is known. + inBoundLane IntersectionAccessPoint, + -- desired entry approach or lane + outBoundLane IntersectionAccessPoint OPTIONAL, + -- desired exit approach or lane + -- the values zero is used to indicate + -- intent to stop within the intersection + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-SignalRequest}} OPTIONAL, + ... + } + +SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus + +SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage + +SignalStatusPackage ::= SEQUENCE { + -- The party that made the initial SRM request + requester SignalRequesterInfo OPTIONAL, + -- The lanes or approaches used in the request + inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle + outboundOn IntersectionAccessPoint OPTIONAL, + + -- The Estimated Time of Arrival (ETA) when the service is requested + -- This data echos the data of the request + minute MinuteOfTheYear OPTIONAL, + second DSecond OPTIONAL, + duration DSecond OPTIONAL, + + -- the SRM status for this request + status PrioritizationResponseStatus, + -- Status of request, this may include rejection + + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, + ... + } + +SignalStatus ::= SEQUENCE { + sequenceNumber MsgCount, + -- changed whenever the below contents have change + id IntersectionReferenceID, + -- this provides a unique mapping to the + -- intersection map in question + -- which provides complete location + -- and approach/movement/lane data + -- as well as zones for priority/preemption + sigStatus SignalStatusPackageList, + -- a list of detailed status containing all + -- priority or preemption state data, both + -- active and pending, and who requested it + -- requests which are denied are also listed + -- here for a short period of time + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-SignalStatus}} OPTIONAL, + ... + } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit + + +SpeedLimitType ::= ENUMERATED { + unknown, -- Speed limit type not available + maxSpeedInSchoolZone, -- Only sent when the limit is active + maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time + maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. + -- where a reduced speed is present + vehicleMinSpeed, + vehicleMaxSpeed, -- Regulatory speed limit for general traffic + vehicleNightMaxSpeed, + + truckMinSpeed, + truckMaxSpeed, + truckNightMaxSpeed, + + vehiclesWithTrailersMinSpeed, + vehiclesWithTrailersMaxSpeed, + vehiclesWithTrailersNightMaxSpeed, + ... + } +*/ + +TimeChangeDetails ::= SEQUENCE { + startTime TimeMark OPTIONAL, + -- When this phase 1st started + minEndTime TimeMark, + -- Expected shortest end time + maxEndTime TimeMark OPTIONAL, + -- Expected longest end time + + likelyTime TimeMark OPTIONAL, + -- Best predicted value based on other data + confidence TimeIntervalConfidence OPTIONAL, + -- Applies to above time element only + + nextTime TimeMark OPTIONAL + -- A rough estimate of time when + -- this phase may next occur again + -- used to support various ECO driving power + -- management needs. + } + +TimeMark ::= INTEGER (0..36001) + -- Tenths of a second in the current or next hour + -- In units of 1/10th second from UTC time + -- A range of 0~36000 covers one hour + -- The values 35991..36000 are used when a leap second occurs + -- The value 36001 is used to indicate time >3600 seconds + -- 36002 is to be used when value undefined or unknown + -- Note that this is NOT expressed in GPS time + -- or in local time + +TransmissionAndSpeed ::= SEQUENCE { + transmisson TransmissionState, + speed Velocity + } + +VehicleID ::= CHOICE { + entityID TemporaryID, + stationID StationID + } + + +-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +-- +-- Start of entries from table Data_Elements... +-- This table typicaly contains data element entries. +-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ +-- + +AdvisorySpeedType ::= ENUMERATED { + none (0), + greenwave (1), + ecoDrive (2), + transit (3), + ... + } -- Note: subject to further growth + +AllowedManeuvers ::= BIT STRING { + -- With bits as defined: + -- Allowed maneuvers at path end (stop line) + -- All maneuvers with bits not set are therefore prohibited ! + -- A value of zero shall be used for unknown, indicating no Maneuver + maneuverStraightAllowed (0), + -- a Straight movement is allowed in this lane + maneuverLeftAllowed (1), + -- a Left Turn movement is allowed in this lane + maneuverRightAllowed (2), + -- a Right Turn movement is allowed in this lane + maneuverUTurnAllowed (3), + -- a U turn movement is allowed in this lane + maneuverLeftTurnOnRedAllowed (4), + -- a Stop, and then proceed when safe movement + -- is allowed in this lane + maneuverRightTurnOnRedAllowed (5), + -- a Stop, and then proceed when safe movement + -- is allowed in this lane + maneuverLaneChangeAllowed (6), + -- a movement which changes to an outer lane + -- on the egress side is allowed in this lane + -- (example: left into either outbound lane) + maneuverNoStoppingAllowed (7), + -- the vehicle should not stop at the stop line + -- (example: a flashing green arrow) + yieldAllwaysRequired (8), + -- the allowed movements above are not protected + -- (example: an permanent yellow condition) + goWithHalt (9), + -- after making a full stop, may proceed + caution (10), + -- proceed past stop line with caution + reserved1 (11) + -- used to align to 12 Bit Field + + } (SIZE(12)) + +Angle ::= INTEGER (0..28800) + -- LSB of 0.0125 degrees + -- A range of 0 to 359.9875 degrees + +ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown + +BasicVehicleRole ::= ENUMERATED { + -- Values used in the EU and in the US + basicVehicle (0), -- Light duty passenger vehicle type + publicTransport (1), -- Used in EU for Transit us + specialTransport (2), -- Used in EU (e.g. heavy load) + dangerousGoods (3), -- Used in EU for any HAZMAT + roadWork (4), -- Used in EU for State and Local DOT uses + roadRescue (5), -- Used in EU and in the US to include tow trucks. + emergency (6), -- Used in EU for Police, Fire and Ambulance units + safetyCar (7), -- Used in EU for Escort vehicles + -- Begin US unique numbering + none-unknown (8), -- added to follow current SAE style guidelines + truck (9), -- Heavy trucks with additional BSM rights and obligations + motorcycle (10), -- + roadSideSource (11), -- For infrastructure generated calls such as + -- fire house, rail infrastructure, roadwork site, etc. + police (12), -- + fire (13), -- + ambulance (14), -- (does not include private para-transit etc.) + dot (15), -- all roadwork vehicles + transit (16), -- all transit vehicles + slowMoving (17), -- to also include oversize etc. + stopNgo (18), -- to include trash trucks, school buses and others + -- that routinely disturb the free flow of traffic + cyclist (19), -- + pedestrian (20), -- also includes those with mobility limitations + nonMotorized (21), -- other, horse drawn, etc. + military (22), -- + ... + } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +DeltaAngle ::= INTEGER (-150..150) + -- With an angle range from + -- negative 150 to positive 150 + -- in one degree steps where zero is directly + -- along the axis or the lane center line as defined by the + -- two closest points + +DeltaTime ::= INTEGER (-122 .. 121) + -- Supporting a range of +/- 20 minute in steps of 10 seconds + -- the value of -121 shall be used when more than -20 minutes + -- the value of +120 shall be used when more than +20 minutes + -- the value -122 shall be used when the value is unavailable +*/ + +DescriptiveName ::= IA5String (SIZE(1..63)) + +DrivenLineOffsetLg ::= INTEGER (-32767..32767) + -- LSB units are 1 cm. + +DrivenLineOffsetSm ::= INTEGER (-2047..2047) + -- LSB units are 1 cm. + +DSecond ::= INTEGER (0..65535) -- units of milliseconds + +DSRCmsgID ::= INTEGER (0..32767) + mapData DSRCmsgID ::= 18 -- MAP, intersections + signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT + signalRequestMessage DSRCmsgID ::= 29 -- SRM + signalStatusMessage DSRCmsgID ::= 30 -- SSM + +Elevation ::= INTEGER (-4096..61439) + -- In units of 10 cm steps above or below the reference ellipsoid + -- Providing a range of -409.5 to + 6143.9 meters + -- The value -4096 shall be used when Unknown is to be sent + +IntersectionID ::= INTEGER (0..65535) + -- The values zero through 255 are allocated for testing purposes + -- Note that the value assigned to an intersection will be + -- unique within a given regional ID only + +IntersectionStatusObject ::= BIT STRING { + manualControlIsEnabled (0), + -- Timing reported is per programmed values, etc. but person + -- at cabinet can manually request that certain intervals are + -- terminated early (e.g. green). + stopTimeIsActivated (1), + -- And all counting/timing has stopped. + failureFlash (2), + -- Above to be used for any detected hardware failures, + -- e.g. conflict monitor as well as for police flash + preemptIsActive (3), + signalPriorityIsActive (4), + + -- Additional states + fixedTimeOperation (5), + -- Schedule of signals is based on time only + -- (i.e. the state can be calculated) + trafficDependentOperation (6), + -- Operation is based on different levels of traffic parameters + -- (requests, duration of gaps or more complex parameters) + standbyOperation (7), + -- Controller: partially switched off or partially amber flashing + failureMode (8), + -- Controller has a problem or failure in operation + off (9), + -- Controller is switched off + + -- Related to MAP and SPAT bindings + recentMAPmessageUpdate (10), + -- Map revision with content changes + recentChangeInMAPassignedLanesIDsUsed (11), + -- Change in MAP's assigned lanes used (lane changes) + -- Changes in the active lane list description + noValidMAPisAvailableAtThisTime (12), + -- MAP (and various lanes indexes) not available + noValidSPATisAvailableAtThisTime (13) + -- SPAT system is not working at this time + + -- Bits 14,15 reserved at this time and shall be zero + } (SIZE(16)) + + +LaneAttributes-Barrier ::= BIT STRING { + -- With bits as defined: + median-RevocableLane (0), + -- this lane may be activated or not based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + median (1), + whiteLineHashing (2), + stripedLines (3), + doubleStripedLines (4), + trafficCones (5), + constructionBarrier (6), + trafficChannels (7), + lowCurbs (8), + highCurbs (9) + -- Bits 10~15 reserved and set to zero + } (SIZE (16)) + +LaneAttributes-Bike ::= BIT STRING { + -- With bits as defined: + bikeRevocableLane (0), + -- this lane may be activated or not based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + pedestrianUseAllowed (1), + -- The path allows pedestrian traffic, + -- if not set, this mode is prohibited + isBikeFlyOverLane (2), + -- path of lane is not at grade + fixedCycleTime (3), + -- the phases use preset times + -- i.e. there is not a 'push to cross' button + biDirectionalCycleTimes (4), + -- ped walk phases use different SignalGroupID + -- for each direction. The first SignalGroupID + -- in the first Connection represents 'inbound' + -- flow (the direction of travel towards the first + -- node point) while second SignalGroupID in the + -- next Connection entry represents the 'outbound' + -- flow. And use of RestrictionClassID entries + -- in the Connect follow this same pattern in pairs. + isolatedByBarrier (5), + unsignalizedSegmentsPresent (6) + -- The lane path consists of one of more segments + -- which are not part of a signal group ID + + -- Bits 7~15 reserved and set to zero + } (SIZE (16)) + +LaneAttributes-Crosswalk ::= BIT STRING { + -- With bits as defined: + -- MUTCD provides no suitable "types" to use here + crosswalkRevocableLane (0), + -- this lane may be activated or not based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + bicyleUseAllowed (1), + -- The path allows bicycle traffic, + -- if not set, this mode is prohibited + isXwalkFlyOverLane (2), + -- path of lane is not at grade + fixedCycleTime (3), + -- ped walk phases use preset times + -- i.e. there is not a 'push to cross' button + biDirectionalCycleTimes (4), + -- ped walk phases use different SignalGroupID + -- for each direction. The first SignalGroupID + -- in the first Connection represents 'inbound' + -- flow (the direction of travel towards the first + -- node point) while second SignalGroupID in the + -- next Connection entry represents the 'outbound' + -- flow. And use of RestrictionClassID entries + -- in the Connect follow this same pattern in pairs. + hasPushToWalkButton (5), + -- Has a demand input + audioSupport (6), + -- audio crossing cues present + rfSignalRequestPresent (7), + -- Supports RF push to walk technologies + unsignalizedSegmentsPresent (8) + -- The lane path consists of one of more segments + -- which are not part of a signal group ID + -- Bits 9~15 reserved and set to zero + } (SIZE (16)) + +LaneAttributes-Parking ::= BIT STRING { + -- With bits as defined: + -- Parking use details, note that detailed restrictions such as + -- allowed hours are sent by way of ITIS codes in the TIM message + parkingRevocableLane (0), + -- this lane may be activated or not based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + parallelParkingInUse (1), + headInParkingInUse (2), + doNotParkZone (3), + -- used to denote fire hydrants as well as + -- short disruptions in a parking zone + parkingForBusUse (4), + parkingForTaxiUse (5), + noPublicParkingUse (6) + -- private parking, as in front of + -- private property + -- Bits 7~15 reserved and set to zero + } (SIZE (16)) + +LaneAttributes-Sidewalk ::= BIT STRING { + -- With bits as defined: + sidewalk-RevocableLane (0), + -- this lane may be activated or not based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + bicyleUseAllowed (1), + -- The path allows bicycle traffic, + -- if not set, this mode is prohibited + isSidewalkFlyOverLane (2), + -- path of lane is not at grade + walkBikes (3) + -- bike traffic must dismount and walk + -- Bits 4~15 reserved and set to zero + } (SIZE (16)) + + +LaneAttributes-Striping ::= BIT STRING { + -- With bits as defined: + stripeToConnectingLanesRevocableLane (0), + -- this lane may be activated or not activated based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + stripeDrawOnLeft (1), + stripeDrawOnRight (2), + -- which side of lane to mark + stripeToConnectingLanesLeft (3), + stripeToConnectingLanesRight (4), + stripeToConnectingLanesAhead (5) + -- the stripe type should be + -- presented to the user visually + -- to reflect stripes in the + -- intersection for the type of + -- movement indicated + -- Bits 6~15 reserved and set to zero + } (SIZE (16)) + + +LaneAttributes-TrackedVehicle ::= BIT STRING { + -- With bits as defined: + spec-RevocableLane (0), + -- this lane may be activated or not based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + spec-commuterRailRoadTrack (1), + spec-lightRailRoadTrack (2), + spec-heavyRailRoadTrack (3), + spec-otherRailType (4) + -- Bits 5~15 reserved and set to zero + } (SIZE (16)) + + +LaneAttributes-Vehicle ::= BIT STRING { + -- With bits as defined: + isVehicleRevocableLane (0), + -- this lane may be activated or not based + -- on the current SPAT message contents + -- if not asserted, the lane is ALWAYS present + isVehicleFlyOverLane (1), + -- path of lane is not at grade + hovLaneUseOnly (2), + restrictedToBusUse (3), + restrictedToTaxiUse (4), + restrictedFromPublicUse (5), + hasIRbeaconCoverage (6), + permissionOnRequest (7) -- e.g. to inform about a lane for e-cars + + } (SIZE (8,...)) + +LaneConnectionID ::= INTEGER (0..255) + +LaneDirection ::= BIT STRING { + -- With bits as defined: + -- Allowed directions of travel in the lane object + -- All lanes are described from the stop line outwards + ingressPath (0), + -- travel from rear of path to front + -- is allowed + egressPath (1) + -- travel from front of path to rear + -- is allowed + -- Notes: No Travel, i.e. the lane object type does not support + -- travel (medians, curbs, etc.) is indicated by not + -- asserting any bit value + -- Bi-Directional Travel (such as a ped crosswalk) is + -- indicated by asserting both of the bits + } (SIZE (2)) + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +LaneID ::= INTEGER (0..255) + -- the value 0 shall be used when the lane ID is + -- not available or not known + -- the value 255 is reserved for future use +*/ + +LayerID ::= INTEGER (0..100) + +LayerType ::= ENUMERATED { + none, + mixedContent, -- two or more of the below types + generalMapData, + intersectionData, + curveData, + roadwaySectionData, + parkingAreaData, + sharedLaneData, + ... + } + +LaneWidth ::= INTEGER (0..32767) -- units of 1 cm + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +MergeDivergeNodeAngle ::= INTEGER (-180..180) + -- In units of 1.5 degrees from north + -- the value -180 shall be used to represent + -- data is not available or unknown +*/ + +MinuteOfTheYear ::= INTEGER (0..527040) + -- the value 527040 shall be used for invalid + +MovementPhaseState ::= ENUMERATED { + -- Note that based on the regions and the operating mode not every + -- phase will be used in all transportation modes and that not + -- every phase will be used in all transportation modes + + unavailable (0), + -- This state is used for unknown or error + dark (1), + -- The signal head is dark (unlit) + + -- Reds + stop-Then-Proceed (2), + -- Often called 'flashing red' in US + -- Driver Action: + -- Stop vehicle at stop line. + -- Do not proceed unless it is safe. + -- Note that the right to proceed either right or left when + -- it is safe may be contained in the lane description to + -- handle what is called a 'right on red' + stop-And-Remain (3), + -- e.g. called 'red light' in US + -- Driver Action: + -- Stop vehicle at stop line. + -- Do not proceed. + -- Note that the right to proceed either right or left when + -- it is safe may be contained in the lane description to + -- handle what is called a 'right on red' + + -- Greens + pre-Movement (4), + -- Not used in the US, red+yellow partly in EU + -- Driver Action: + -- Stop vehicle. + -- Prepare to proceed (pending green) + -- (Prepare for transition to green/go) + permissive-Movement-Allowed (5), + -- Often called 'permissive green' in US + -- Driver Action: + -- Proceed with caution, + -- must yield to all conflicting traffic + -- Conflicting traffic may be present + -- in the intersection conflict area + protected-Movement-Allowed (6), + -- Often called 'protected green' in US + -- Driver Action: + -- Proceed, tossing caution to the wind, + -- in indicated (allowed) direction. + + -- Yellows / Ambers + -- The vehicle is not allowed to cross the stop bar if it is possible + -- to stop without danger. + permissive-clearance (7), + -- Often called 'permissive yellow' in US + -- Driver Action: + -- Prepare to stop. + -- Proceed if unable to stop, + -- Clear Intersection. + -- Conflicting traffic may be present + -- in the intersection conflict area + protected-clearance (8), + -- Often called 'protected yellow' in US + -- Driver Action: + -- Prepare to stop. + -- Proceed if unable to stop, + -- in indicated direction (to connected lane) + -- Clear Intersection. + + caution-Conflicting-Traffic (9) + -- Often called 'flashing yellow' in US + -- Often used for extended periods of time + -- Driver Action: + -- Proceed with caution, + -- Conflicting traffic may be present + -- in the intersection conflict area + } + -- The above number assignments are not used with UPER encoding + -- and are only to be used with DER or implicit encoding + +MsgCount ::= INTEGER (0..127) + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +Offset-B10 ::= INTEGER (-512..511) + -- a range of +- 5.11 meters + +Offset-B11 ::= INTEGER (-1024..1023) + -- a range of +- 10.23 meters + +Offset-B12 ::= INTEGER (-2048..2047) + -- a range of +- 20.47 meters + +Offset-B13 ::= INTEGER (-4096..4095) + -- a range of +- 40.95 meters + +Offset-B14 ::= INTEGER (-8192..8191) + -- a range of +- 81.91 meters + +Offset-B16 ::= INTEGER (-32768..32767) + -- a range of +- 327.68 meters +*/ + +PedestrianBicycleDetect ::= BOOLEAN + -- true if ANY Pedestrians or Bicyclists are + -- detected crossing the target lane or lanes + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +PrioritizationResponseStatus ::= ENUMERATED { + unknown (0), + -- Unknown state + requested (1), + -- This prioritization request was detected + -- by the traffic controller + processing (2), + -- Checking request + -- (request is in queue, other requests are prior) + watchOtherTraffic (3), + -- Cannot give full permission, + -- therefore watch for other traffic + -- Note that other requests may be present + granted (4), + -- Intervention was successful + -- and now prioritization is active + rejected (5), + -- The prioritization or preemption request was + -- rejected by the traffic controller + maxPresence (6), + -- The Request has exceeded maxPresence time + -- Used when the controller has determined that + -- the requester should then back off and + -- request an alternative. + reserviceLocked (7), + -- Prior conditions have resulted in a reservice + -- locked event: the controller requires the + -- passage of time before another similar request + -- will be accepted + ... +} +*/ + +PriorityRequestType ::= ENUMERATED { + priorityRequestTypeReserved (0), + priorityRequest (1), + priorityRequestUpdate (2), + priorityCancellation (3), + ... + } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +RegionId ::= INTEGER (0..255) + noRegion RegionId ::= 0 -- Use default supplied stubs + addGrpA RegionId ::= 1 -- USA + addGrpB RegionId ::= 2 -- Japan + addGrpC RegionId ::= 3 -- EU + -- NOTE: new registered regional IDs will be added here + -- The values 128 and above are for local region use +*/ + +RequestID ::= INTEGER (0..255) + +RequestImportanceLevel ::= ENUMERATED { + requestImportanceLevelUnKnown (0), + requestImportanceLevel1 (1), -- The least important request + requestImportanceLevel2 (2), -- The values here shall be assigned + requestImportanceLevel3 (3), -- Meanings based on regional needs + requestImportanceLevel4 (4), -- for each of the basic roles which + requestImportanceLevel5 (5), -- are defined elsewhere + requestImportanceLevel6 (6), + requestImportanceLevel7 (7), + requestImportanceLevel8 (8), + requestImportanceLevel9 (9), + requestImportanceLevel10 (10), + requestImportanceLevel11 (11), + requestImportanceLevel12 (12), + requestImportanceLevel13 (13), + requestImportanceLevel14 (14), -- The most important request + requestImportanceReserved (15) -- Reserved for future use + } + +RequestSubRole ::= ENUMERATED { + requestSubRoleUnKnown (0), + requestSubRole1 (1), -- The first type of sub role + requestSubRole2 (2), -- The values here shall be assigned + requestSubRole3 (3), -- Meanings based on regional needs + requestSubRole4 (4), -- to refine and expand the basic + requestSubRole5 (5), -- roles which are defined elsewhere + requestSubRole6 (6), + requestSubRole7 (7), + requestSubRole8 (8), + requestSubRole9 (9), + requestSubRole10 (10), + requestSubRole11 (11), + requestSubRole12 (12), + requestSubRole13 (13), + requestSubRole14 (14), -- The last type of sub role + requestSubRoleReserved (15) -- Reserved for future use + } + +RestrictionAppliesTo ::= ENUMERATED { + none, -- applies to nothing + equippedTransit, -- buses etc. + equippedTaxis, + equippedOther, -- other vehicle types with + -- necessary signal phase state + -- reception equipment + emissionCompliant, -- regional variants with more + -- definitive items also exist + equippedBicycle, + weightCompliant, + heightCompliant, + -- Items dealing with traveler needs serviced by the infrastructure + -- These end users (which are not vehicles) are presumed to be suitably equipped + pedestrians, + slowMovingPersons, + wheelchairUsers, + visualDisabilities, + audioDisabilities, -- hearing + otherUnknownDisabilities, + ... + } + +RestrictionClassID ::= INTEGER (0..255) + -- An index value to identify data about classes of users + -- the value used varies with each intersection's + -- needs and is defined in the map to the assigned + -- classes of supported users. + +RoadRegulatorID ::= INTEGER (0..65535) + -- The value zero shall be used for testing only + +RoadSegmentID ::= INTEGER (0..65535) + -- The values zero to 255 shall be used for testing only + -- Note that the value assigned to an RoadSegment will be + -- unique within a given regional ID only during its use + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +RoadwayCrownAngle ::= INTEGER (-128..127) + -- In LSB units of 0.3 degrees of angle + -- over a range of -38.1 to + 38.1 degrees + -- The value -128 shall be used for unknown + -- The value zero shall be used for angles + -- which are between -0.15 and +0.15 +*/ + +Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +SignalGroupID ::= INTEGER (0..255) + -- The value 0 shall be used when the ID is + -- not available or not known + -- the value 255 is reserved to indicate a + -- permanent green movement state + -- therefore a simple 8 phase signal controller + -- device might use 1..9 as its groupIDs +*/ + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +SegmentAttributeXY ::= ENUMERATED { + -- Various values which can be Enabled and Disabled for a lane segment + + -- General Items + reserved , + doNotBlock , -- segment where a vehicle + -- may not come to a stop + whiteLine , -- segment where lane crossing not allowed + -- such as the final few meters of a lane + + -- Porous Lane states, merging, turn outs, parking etc. + + mergingLaneLeft , -- indicates porous lanes + mergingLaneRight , + + curbOnLeft , -- indicates presence of curbs + curbOnRight , + + loadingzoneOnLeft , -- loading or drop off zones + loadingzoneOnRight , + + turnOutPointOnLeft , -- opening to adjacent street/alley/road + turnOutPointOnRight , + + adjacentParkingOnLeft , -- side of road parking + adjacentParkingOnRight , + + -- Bike Lane Needs + adjacentBikeLaneOnLeft , -- presence of marked bike lanes + adjacentBikeLaneOnRight , + sharedBikeLane , -- right of way is shared with bikes + -- who may occupy entire lane width + bikeBoxInFront , + + -- Transit Needs + transitStopOnLeft , -- any form of bus/transit loading + -- with pull in-out access to lane on left + transitStopOnRight , -- any form of bus/transit loading + -- with pull in-out access to lane on right + transitStopInLane , -- any form of bus/transit loading + -- in mid path of the lane + sharedWithTrackedVehicle , -- lane is shared with train or trolley + -- not used for crossing tracks + + + -- Pedestrian Support Attributes + safeIsland , -- begin/end a safety island in path + lowCurbsPresent , -- for ADA support + rumbleStripPresent , -- for ADA support + audibleSignalingPresent , -- for ADA support + adaptiveTimingPresent , -- for ADA support + rfSignalRequestPresent , -- Supports RF push to walk technologies + partialCurbIntrusion , -- path is blocked by a median or curb + -- but at least 1 meter remains open for use + -- and at-grade passage + + -- Lane geometry details (see standard for defined shapes) + taperToLeft , -- Used to control final path shape + taperToRight , -- Used to control final path shape + taperToCenterLine , -- Used to control final path shape + + -- Parking Lane and Curb Attributes + parallelParking , -- + headInParking , -- Parking at an angle with the street + freeParking , -- no restriction on use of parking + timeRestrictionsOnParking , -- Parking is not permitted at all times + -- typically used when the 'parking' lane + -- becomes a driving lane at times + costToPark , -- Used where parking has a cost + midBlockCurbPresent , -- a protruding curb near lane edge + unEvenPavementPresent , -- a disjoint height at lane edge + ... + } +*/ + +SpeedAdvice ::= INTEGER (0..500) + -- LSB units are 0.1 m/s^2 + -- the value 499 shall be used for values at or greater than 49.9 m/s + -- the value 500 shall be used to indicate that speed is unavailable + +TemporaryID ::= OCTET STRING (SIZE(4)) + +TimeIntervalConfidence ::= INTEGER (0..15) + -- Value Probability + -- 0 21% + -- 1 36% + -- 2 47% + -- 3 56% + -- 4 62% + -- 5 68% + -- 6 73% + -- 7 77% + -- 8 81% + -- 9 85% + -- 10 88% + -- 11 91% + -- 12 94% + -- 13 96% + -- 14 98% + -- 15 100% + +TransitVehicleOccupancy ::= ENUMERATED { + occupancyUnknown (0), + occupancyEmpty (1), + occupancyVeryLow (2), + occupancyLow (3), + occupancyMed (4), + occupancyHigh (5), + occupancyNearlyFull (6), + occupancyFull (7) + } + +TransitVehicleStatus ::= BIT STRING { + loading (0), -- parking and unable to move at this time + anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) + aBikeLoad (2), -- loading of a bicycle is in progress + doorOpen (3), -- a vehicle door is open for passenger access + charging (4), -- a vehicle is connected to charging point + atStopLine (5) -- a vehicle is at the stop line for the lane it is in + } (SIZE(8)) + +TransmissionState ::= ENUMERATED { + neutral (0), -- Neutral + park (1), -- Park + forwardGears (2), -- Forward gears + reverseGears (3), -- Reverse gears + reserved1 (4), + reserved2 (5), + reserved3 (6), + unavailable (7) -- not-equipped or unavailable value, + -- Any related speed is relative to the vehicle reference frame used + } + +VehicleType ::= ENUMERATED { + none (0), -- Not Equipped, Not known or unavailable + unknown (1), -- Does not fit any other category + special (2), -- Special use + moto (3), -- Motorcycle + car (4), -- Passenger car + carOther (5), -- Four tire single units + bus (6), -- Buses + axleCnt2 (7), -- Two axle, six tire single units + axleCnt3 (8), -- Three axle, single units + axleCnt4 (9), -- Four or more axle, single unit + axleCnt4Trailer (10), -- Four or less axle, single trailer + axleCnt5Trailer (11), -- Five or less axle, single trailer + axleCnt6Trailer (12), -- Six or more axle, single trailer + axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer + axleCnt6MultiTrailer (14), -- Six axle, multi-trailer + axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer + ... + } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s + -- The value 8191 indicates that + -- velocity is unavailable +*/ + +WaitOnStopline ::= BOOLEAN -- + -- True or False + -- If "true", the vehicles on this specific connecting + -- maneuver have to stop on the stop-line + -- and not to enter the collision area + +ZoneLength ::= INTEGER (0..10000) + -- Unit = 1 meter, 0 = unknown, + -- The value 10000 to be used for Distances >=10000 m + -- (e.g. from known point to another point along a + -- known path, often against traffic flow direction + -- when used for measuring queues) + +END Property changes on: IS/IS_DSRC.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/IS_DSRC_REGION_noCircular.asn =================================================================== --- IS/IS_DSRC_REGION_noCircular.asn (nonexistent) +++ IS/IS_DSRC_REGION_noCircular.asn (working copy) @@ -0,0 +1,419 @@ +--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: DSRC +-- ISO TS 19091 Oct 2015 v0909 +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +--FIXME RGY definitions are moved here from IS-DSRC and IS-REGION; created to cut circular import loops amongst ASN.1 files +IS-DSRC-REGION-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } + +DEFINITIONS AUTOMATIC TAGS::= BEGIN + +IMPORTS +Longitude, Latitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } + +Control-addGrpC FROM AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) }; + +------------------------------------------------------ +--FIXME RGY BELOW ARE DEFINITIONS MOVED FROM IS-DSRC +------------------------------------------------------ + +DeltaAngle ::= INTEGER (-150..150) + -- With an angle range from + -- negative 150 to positive 150 + -- in one degree steps where zero is directly + -- along the axis or the lane center line as defined by the + -- two closest points + +DeltaTime ::= INTEGER (-122 .. 121) + -- Supporting a range of +/- 20 minute in steps of 10 seconds + -- the value of -121 shall be used when more than -20 minutes + -- the value of +120 shall be used when more than +20 minutes + -- the value -122 shall be used when the value is unavailable + +LaneDataAttribute ::= CHOICE { + -- Segment attribute types and the data needed for each + pathEndPointAngle DeltaAngle, + -- adjusts final point/width slant + -- of the lane to align with the stop line + laneCrownPointCenter RoadwayCrownAngle, + -- sets the canter of the road bed + -- from centerline point + laneCrownPointLeft RoadwayCrownAngle, + -- sets the canter of the road bed + -- from left edge + laneCrownPointRight RoadwayCrownAngle, + -- sets the canter of the road bed + -- from right edge + laneAngle MergeDivergeNodeAngle, + -- the angle or direction of another lane + -- this is required to support Japan style + -- when a merge point angle is required + speedLimits SpeedLimitList, + -- Reference regulatory speed limits + -- used by all segments + + -- Add others as needed, in regional space + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-LaneDataAttribute}}, + ... + } + +LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute + +LaneID ::= INTEGER (0..255) + -- the value 0 shall be used when the lane ID is + -- not available or not known + -- the value 255 is reserved for future use + +MergeDivergeNodeAngle ::= INTEGER (-180..180) + -- In units of 1.5 degrees from north + -- the value -180 shall be used to represent + -- data is not available or unknown + +NodeOffsetPointXY ::= CHOICE { + -- Nodes with X,Y content + node-XY1 Node-XY-20b, -- node is within 5.11m of last node + node-XY2 Node-XY-22b, -- node is within 10.23m of last node + node-XY3 Node-XY-24b, -- node is within 20.47m of last node + node-XY4 Node-XY-26b, -- node is within 40.96m of last node + node-XY5 Node-XY-28b, -- node is within 81.91m of last node + node-XY6 Node-XY-32b, -- node is within 327.67m of last node + node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range + regional RegionalExtension {{Reg-NodeOffsetPointXY}} + -- node which follows is of a + -- regional definition type + } + +Node-LLmD-64b ::= SEQUENCE { + lon Longitude, + lat Latitude + } + + +Node-XY-20b ::= SEQUENCE { + x Offset-B10, + y Offset-B10 + } + +Node-XY-22b ::= SEQUENCE { + x Offset-B11, + y Offset-B11 + } + + +Node-XY-24b ::= SEQUENCE { + x Offset-B12, + y Offset-B12 + } + + +Node-XY-26b ::= SEQUENCE { + x Offset-B13, + y Offset-B13 + } + + +Node-XY-28b ::= SEQUENCE { + x Offset-B14, + y Offset-B14 + } + + +Node-XY-32b ::= SEQUENCE { + x Offset-B16, + y Offset-B16 + } + +NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY + +NodeXY ::= SEQUENCE { + delta NodeOffsetPointXY, + -- A choice of which X,Y offset value to use + -- this includes various delta values as well a regional choices + attributes NodeAttributeSetXY OPTIONAL, + -- Any optional Attributes which are needed + -- This includes changes to the current lane width and elevation + ... +} + +NodeAttributeSetXY ::= SEQUENCE { + localNode NodeAttributeXYList OPTIONAL, + -- Attribute states which pertain to this node point + disabled SegmentAttributeXYList OPTIONAL, + -- Attribute states which are disabled at this node point + enabled SegmentAttributeXYList OPTIONAL, + -- Attribute states which are enabled at this node point + -- and which remain enabled until disabled or the lane ends + data LaneDataAttributeList OPTIONAL, + -- Attributes which require an additional data values + -- some of these are local to the node point, while others + -- persist with the provided values until changed + -- and this is indicated in each entry + dWidth Offset-B10 OPTIONAL, + -- A value added to the current lane width + -- at this node and from this node onwards, in 1cm steps + -- lane width between nodes are a linear taper between pts + -- the value of zero shall not be sent here + dElevation Offset-B10 OPTIONAL, + -- A value added to the current Elevation + -- at this node from this node onwards, in 10cm steps + -- elevations between nodes are a linear taper between pts + -- the value of zero shall not be sent here + regional SEQUENCE (SIZE(1..4)) OF + RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, + ... + } + +NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY + +NodeAttributeXY ::= ENUMERATED { + -- Various values which pertain only to the current node point + + -- General Items + reserved, + stopLine, -- point where a mid-path stop line exists + -- See also 'do not block' for segments + + -- Path finish details + roundedCapStyleA, -- Used to control final path rounded end shape + -- with edge of curve at final point in a circle + roundedCapStyleB, -- Used to control final path rounded end shape + -- with edge of curve extending 50% of width past + -- final point in a circle + + -- Topography Points (items with no concept of a distance along the path) + mergePoint, -- Japan merge with 1 or more lanes + divergePoint, -- Japan diverge with 1 or more lanes + downstreamStopLine, -- Japan style downstream intersection + -- (a 2nd intersection) stop line + downstreamStartNode, -- Japan style downstream intersection + -- (a 2nd intersection) start node + + -- Pedestrian Support Attributes + closedToTraffic, -- where a pedestrian may NOT go + -- to be used during construction events + safeIsland, -- a pedestrian safe stopping point + -- also called a traffic island + -- This usage described a point feature on a path, + -- other entries can describe a path + curbPresentAtStepOff, -- the sidewalk to street curb is NOT + -- angled where it meets the edge of the + -- roadway (user must step up/down) + + -- Lane geometry details (see standard for defined shapes) + hydrantPresent, -- Or other services access + ... + } + +Offset-B10 ::= INTEGER (-512..511) + -- a range of +- 5.11 meters + +Offset-B11 ::= INTEGER (-1024..1023) + -- a range of +- 10.23 meters + +Offset-B12 ::= INTEGER (-2048..2047) + -- a range of +- 20.47 meters + +Offset-B13 ::= INTEGER (-4096..4095) + -- a range of +- 40.95 meters + +Offset-B14 ::= INTEGER (-8192..8191) + -- a range of +- 81.91 meters + +Offset-B16 ::= INTEGER (-32768..32767) + -- a range of +- 327.68 meters + +PrioritizationResponseStatus ::= ENUMERATED { + unknown (0), + -- Unknown state + requested (1), + -- This prioritization request was detected + -- by the traffic controller + processing (2), + -- Checking request + -- (request is in queue, other requests are prior) + watchOtherTraffic (3), + -- Cannot give full permission, + -- therefore watch for other traffic + -- Note that other requests may be present + granted (4), + -- Intervention was successful + -- and now prioritization is active + rejected (5), + -- The prioritization or preemption request was + -- rejected by the traffic controller + maxPresence (6), + -- The Request has exceeded maxPresence time + -- Used when the controller has determined that + -- the requester should then back off and + -- request an alternative. + reserviceLocked (7), + -- Prior conditions have resulted in a reservice + -- locked event: the controller requires the + -- passage of time before another similar request + -- will be accepted + ... +} + +RegionId ::= INTEGER (0..255) + noRegion RegionId ::= 0 -- Use default supplied stubs + addGrpA RegionId ::= 1 -- USA + addGrpB RegionId ::= 2 -- Japan + addGrpC RegionId ::= 3 -- EU + -- NOTE: new registered regional IDs will be added here + -- The values 128 and above are for local region use + +-- Regional extensions support +REG-EXT-ID-AND-TYPE ::= CLASS { + &id RegionId UNIQUE, + &Type + } WITH SYNTAX {&Type IDENTIFIED BY &id} + +RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { + regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), + regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) + } + +RegulatorySpeedLimit ::= SEQUENCE { + type SpeedLimitType, + -- The type of regulatory speed which follows + speed Velocity + -- The speed in units of 0.02 m/s + -- See Section 11 for converting and translating + -- speed expressed in mph into units of m/s + } + +RoadwayCrownAngle ::= INTEGER (-128..127) + -- In LSB units of 0.3 degrees of angle + -- over a range of -38.1 to + 38.1 degrees + -- The value -128 shall be used for unknown + -- The value zero shall be used for angles + -- which are between -0.15 and +0.15 + + +SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY + +SegmentAttributeXY ::= ENUMERATED { + -- Various values which can be Enabled and Disabled for a lane segment + + -- General Items + reserved , + doNotBlock , -- segment where a vehicle + -- may not come to a stop + whiteLine , -- segment where lane crossing not allowed + -- such as the final few meters of a lane + + -- Porous Lane states, merging, turn outs, parking etc. + + mergingLaneLeft , -- indicates porous lanes + mergingLaneRight , + + curbOnLeft , -- indicates presence of curbs + curbOnRight , + + loadingzoneOnLeft , -- loading or drop off zones + loadingzoneOnRight , + + turnOutPointOnLeft , -- opening to adjacent street/alley/road + turnOutPointOnRight , + + adjacentParkingOnLeft , -- side of road parking + adjacentParkingOnRight , + + -- Bike Lane Needs + adjacentBikeLaneOnLeft , -- presence of marked bike lanes + adjacentBikeLaneOnRight , + sharedBikeLane , -- right of way is shared with bikes + -- who may occupy entire lane width + bikeBoxInFront , + + -- Transit Needs + transitStopOnLeft , -- any form of bus/transit loading + -- with pull in-out access to lane on left + transitStopOnRight , -- any form of bus/transit loading + -- with pull in-out access to lane on right + transitStopInLane , -- any form of bus/transit loading + -- in mid path of the lane + sharedWithTrackedVehicle , -- lane is shared with train or trolley + -- not used for crossing tracks + + + -- Pedestrian Support Attributes + safeIsland , -- begin/end a safety island in path + lowCurbsPresent , -- for ADA support + rumbleStripPresent , -- for ADA support + audibleSignalingPresent , -- for ADA support + adaptiveTimingPresent , -- for ADA support + rfSignalRequestPresent , -- Supports RF push to walk technologies + partialCurbIntrusion , -- path is blocked by a median or curb + -- but at least 1 meter remains open for use + -- and at-grade passage + + -- Lane geometry details (see standard for defined shapes) + taperToLeft , -- Used to control final path shape + taperToRight , -- Used to control final path shape + taperToCenterLine , -- Used to control final path shape + + -- Parking Lane and Curb Attributes + parallelParking , -- + headInParking , -- Parking at an angle with the street + freeParking , -- no restriction on use of parking + timeRestrictionsOnParking , -- Parking is not permitted at all times + -- typically used when the 'parking' lane + -- becomes a driving lane at times + costToPark , -- Used where parking has a cost + midBlockCurbPresent , -- a protruding curb near lane edge + unEvenPavementPresent , -- a disjoint height at lane edge + ... + } + +SignalGroupID ::= INTEGER (0..255) + -- The value 0 shall be used when the ID is + -- not available or not known + -- the value 255 is reserved to indicate a + -- permanent green movement state + -- therefore a simple 8 phase signal controller + -- device might use 1..9 as its groupIDs + +SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit + +SpeedLimitType ::= ENUMERATED { + unknown, -- Speed limit type not available + maxSpeedInSchoolZone, -- Only sent when the limit is active + maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time + maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. + -- where a reduced speed is present + vehicleMinSpeed, + vehicleMaxSpeed, -- Regulatory speed limit for general traffic + vehicleNightMaxSpeed, + + truckMinSpeed, + truckMaxSpeed, + truckNightMaxSpeed, + + vehiclesWithTrailersMinSpeed, + vehiclesWithTrailersMaxSpeed, + vehiclesWithTrailersNightMaxSpeed, + ... + } + +Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s + -- The value 8191 indicates that + -- velocity is unavailable + +------------------------------------------------------ +--FIXME RGY BELOW ARE DEFINITIONS MOVED FROM IS-REGION +------------------------------------------------------ + +Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { + {Control-addGrpC IDENTIFIED BY addGrpC} , + ... +} +END Property changes on: IS/IS_DSRC_REGION_noCircular.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/IS_REGION.asn =================================================================== --- IS/IS_REGION.asn (nonexistent) +++ IS/IS_REGION.asn (working copy) @@ -0,0 +1,110 @@ +--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: REGION +-- TS 19091 Oct 2015 v0909 +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +--FIXME RGY renamed from REGION, as module REGION already exists in MAP-SPAT +IS-REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } + +DEFINITIONS AUTOMATIC TAGS::= BEGIN + +IMPORTS +--FIXME RGY definitions moved to non-circularity module +--addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC +addGrpC, REG-EXT-ID-AND-TYPE FROM IS-DSRC-REGION-noCircular +--FIXME RGY Control-addGrpC has been moced to a non-circularity module +Control-addGrpC FROM AddGrpC-noCircular +ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, /*Control-addGrpC,*/ Position3D-addGrpC, RestrictionUserType-addGrpC, +SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; + + +Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { + {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , + ... +} + +Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { + {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , + ... +} + +Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { + {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , + ... +} + +Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } +*/ + +Reg-MapData REG-EXT-ID-AND-TYPE ::= { + {MapData-addGrpC IDENTIFIED BY addGrpC}, + ... +} + +Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { + {Control-addGrpC IDENTIFIED BY addGrpC} , + ... +} +*/ + +Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } + +/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop +Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } +*/ + +Reg-Position3D REG-EXT-ID-AND-TYPE ::= { + {Position3D-addGrpC IDENTIFIED BY addGrpC} , + ... +} + +Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { + {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , + ... +} + +Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } + +Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { + { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , + ... +} + +Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } + +END Property changes on: IS/IS_REGION.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/ISO_TS_19091.asn =================================================================== --- IS/ISO_TS_19091.asn (revision 1297) +++ IS/ISO_TS_19091.asn (nonexistent) @@ -1,2077 +0,0 @@ --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- ISO TS 19091 --- --- This ASN.1 was generated: 30.08.2016 --- --- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message --- as defined in ISO TS 19091 and SAEJ2735 --- --- It includes the addendunm extensions for Addgrp-C (e.g. Europe) --- --- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: AddGrpC --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } - - -DEFINITIONS AUTOMATIC TAGS::= BEGIN - -IMPORTS -NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC -Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; - - -ConnectionManeuverAssist-addGrpC ::= SEQUENCE { - itsStationPositions ItsStationPositionList OPTIONAL, - rsuGNSSOffset NodeOffsetPointXY OPTIONAL, - ... -} - -ConnectionTrajectory-addGrpC ::= SEQUENCE { - nodes NodeSetXY, - ... -} - -Control-addGrpC ::= SEQUENCE { - ptvRequest PtvRequestType, - ... -} - -IntersectionState-addGrpC ::= SEQUENCE { - activePrioritizations PrioritizationResponseList OPTIONAL, - ... -} - -MapData-addGrpC ::= SEQUENCE { - signalHeadLocations SignalHeadLocationList OPTIONAL, - ... -} - -Position3D-addGrpC ::= SEQUENCE { - altitude Altitude, - ... -} - -PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse - -PrioritizationResponse ::= SEQUENCE { - stationID StationID, - priorState PrioritizationResponseStatus, - signalGroup SignalGroupID, - ... -} - -RestrictionUserType-addGrpC ::= SEQUENCE { - emission EmissionType OPTIONAL, - ... -} - -SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation - -SignalHeadLocation ::= SEQUENCE { - nodeXY NodeOffsetPointXY, - nodeZ DeltaAltitude, - signalGroupID SignalGroupID, - ... -} - -SignalStatusPackage-addGrpC ::= SEQUENCE { - synchToSchedule DeltaTime OPTIONAL, - ... -} - - -ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition - -ItsStationPosition ::= SEQUENCE { - stationID StationID, - laneID LaneID OPTIONAL, - nodeXY NodeOffsetPointXY OPTIONAL, - timeReference TimeReference OPTIONAL, - ... -} -EmissionType ::= ENUMERATED { - euro1, - euro2, - euro3, - euro4, - euro5, - euro6, - ... -} - -PtvRequestType ::= ENUMERATED { - preRequest, - mainRequest, - doorCloseRequest, - cancelRequest, - emergencyRequest, - ... -} - -TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: REGION --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } - -DEFINITIONS AUTOMATIC TAGS::= BEGIN - -IMPORTS -addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC -ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC, Position3D-addGrpC, RestrictionUserType-addGrpC, -SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; - -Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { - {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { - {ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { - {IntersectionState-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-MapData REG-EXT-ID-AND-TYPE ::= { - {MapData-addGrpC IDENTIFIED BY addGrpC}, - ... -} - -Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { - {Control-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-Position3D REG-EXT-ID-AND-TYPE ::= { - {Position3D-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { - {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } - -Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { - { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , - ... -} - -Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } - -END - - - --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- --- --- module: DSRC --- --- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } - -DEFINITIONS AUTOMATIC TAGS::= BEGIN - -IMPORTS -StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) } -Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, -Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState, -Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, -Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} -Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1) }; - --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- --- Start of entries from table Messages... --- This table typicaly contains message entries. --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- - -MessageFrame ::= SEQUENCE { - messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), - value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), - ... - } - -MESSAGE-ID-AND-TYPE ::= CLASS { - &id DSRCmsgID UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - -MessageTypes MESSAGE-ID-AND-TYPE ::= { - { MapData IDENTIFIED BY mapData } | - { SPAT IDENTIFIED BY signalPhaseAndTimingMessage } | - { SignalRequestMessage IDENTIFIED BY signalRequestMessage } | - { SignalStatusMessage IDENTIFIED BY signalStatusMessage }, - ... -- Expansion to be used only by the SAE J2735 DSRC TC - } - - --- Regional extensions support -REG-EXT-ID-AND-TYPE ::= CLASS { - &id RegionId UNIQUE, - &Type - } WITH SYNTAX {&Type IDENTIFIED BY &id} - -RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { - regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), - regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) - } - -SPAT ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - name DescriptiveName OPTIONAL, - -- human readable name for this collection - -- to be used only in debug mode - - intersections IntersectionStateList, - -- sets of SPAT data (one per intersection) - - -- If PrioritizationResponse data is required, it is found - -- in the RegionalSPAT entry below - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SPAT}} OPTIONAL, - ... - } - -SignalRequestMessage ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - second DSecond, - sequenceNumber MsgCount OPTIONAL, - - requests SignalRequestList OPTIONAL, - -- Request Data for one or more signalized - -- intersections that support SRM dialogs - - requestor RequestorDescription, - -- Requesting Device and other User Data - -- contains vehicle ID (if from a vehicle) - -- as well as type data and current position - -- and may contain additional transit data - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, - ... -} - -SignalStatusMessage ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - second DSecond, - sequenceNumber MsgCount OPTIONAL, - - -- Status Data for one of more signalized intersections - status SignalStatusList, - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, - ... -} - -MapData ::= SEQUENCE { - timeStamp MinuteOfTheYear OPTIONAL, - msgIssueRevision MsgCount, - layerType LayerType OPTIONAL, - layerID LayerID OPTIONAL, - intersections IntersectionGeometryList OPTIONAL, - -- All Intersection definitions - roadSegments RoadSegmentList OPTIONAL, - -- All roadway descriptions - - dataParameters DataParameters OPTIONAL, - -- Any meta data regarding the map contents - - restrictionList RestrictionClassList OPTIONAL, - -- Any restriction ID tables which have - -- established for these map entries - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-MapData}} OPTIONAL, - - -- NOTE: - -- Other map data will be added here as it is defined - -- Examples of the type of content to be added include - -- curve warnings, construction routes, etc. - ... -} - - --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- --- Start of entries from table Data_Frames... --- This table typicaly contains data frame entries. --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- - -AdvisorySpeed ::= SEQUENCE { - type AdvisorySpeedType, - -- the type of advisory which this is. - speed SpeedAdvice OPTIONAL, - -- See Section 11 for converting and translating speed - -- expressed in mph into units of m/s - -- This element is optional ONLY when superceded - -- by the presence of a regional speed element found in - -- Reg-AdvisorySpeed entry - confidence SpeedConfidence OPTIONAL, - -- A confidence value for the above speed - distance ZoneLength OPTIONAL, - -- Unit = 1 meter, - -- The distance indicates the region for which the advised speed - -- is recommended, it is specified upstream from the stop bar - -- along the connected egressing lane - class RestrictionClassID OPTIONAL, - -- the vehicle types to which it applies - -- when absent, the AdvisorySpeed applies to - -- all motor vehicle types - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, - ... - } - -AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed - -ComputedLane ::= SEQUENCE { - -- Data needed to created a computed lane - referenceLaneId LaneID, - -- the lane ID upon which this - -- computed lane will be based - -- Lane Offset in X and Y direction - offsetXaxis CHOICE { - small DrivenLineOffsetSm, - large DrivenLineOffsetLg - }, - offsetYaxis CHOICE { - small DrivenLineOffsetSm, - large DrivenLineOffsetLg - }, - -- A path X offset value for translations of the - -- path's points when creating translated lanes. - -- The values found in the reference lane are - -- all offset based on the X and Y values from - -- the coordinates of the reference lane's - -- initial path point. - -- Lane Rotation - rotateXY Angle OPTIONAL, - -- A path rotation value for the entire lane - -- Observe that this rotates the existing orientation - -- of the referenced lane, it does not replace it. - -- Rotation occurs about the initial path point. - -- Lane Path Scale (zooming) - scaleXaxis Scale-B12 OPTIONAL, - scaleYaxis Scale-B12 OPTIONAL, - -- value for translations or zooming of the path's - -- points. The values found in the reference lane - -- are all expanded or contracted based on the X - -- and Y and width values from the coordinates of - -- the reference lane's initial path point. - -- The Z axis remains untouched. - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-ComputedLane}} OPTIONAL, - ... - } -ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection - -ConnectingLane ::= SEQUENCE { - lane LaneID, -- Index of the connecting lane - maneuver AllowedManeuvers OPTIONAL - -- The Maneuver between - -- the enclosing lane and this lane - -- at the stop line to connect them - } - - -Connection ::= SEQUENCE { - -- The subject lane connecting to this lane is: - connectingLane ConnectingLane, - -- The index of the connecting lane and also - -- the maneuver from the current lane to it - remoteIntersection IntersectionReferenceID OPTIONAL, - -- This entry is only used when the - -- indicated connecting lane belongs - -- to another intersection layout. This - -- provides a means to create meshes of lanes - - -- SPAT mapping details at the stop line are: - signalGroup SignalGroupID OPTIONAL, - -- The matching signal group send by - -- the SPAT message for this lane/maneuver. - -- Shall be present unless the connectingLane - -- has no signal group (is un-signalized) - userClass RestrictionClassID OPTIONAL, - -- The Restriction Class of users this applies to - -- The use of some lane/maneuver and SignalGroupID - -- pairings are restricted to selected users. - -- When absent, the SignalGroupID applies to all - - -- Movement assist details are given by: - connectionID LaneConnectionID OPTIONAL - -- An optional connection index used to - -- relate this lane connection to any dynamic - -- clearance data in the SPAT. Note that - -- the index may be shared with other - -- connections if the clearance data is common - } - - -ConnectionManeuverAssist ::= SEQUENCE { - connectionID LaneConnectionID, - -- the common connectionID used by all lanes to which - -- this data applies - -- (this value traces to ConnectsTo entries in lanes) - -- Expected Clearance Information - queueLength ZoneLength OPTIONAL, - -- Unit = 1 meter, 0 = no queue - -- The distance from the stop line to the back - -- edge of the last vehicle in the queue, - -- as measured along the lane center line. - availableStorageLength ZoneLength OPTIONAL, - -- Unit = 1 meter, 0 = no space remains - -- Distance (e.g. beginning from the downstream - -- stop-line up to a given distance) with a high - -- probability for successfully executing the - -- connecting maneuver between the two lanes - -- during the current cycle. - -- Used for enhancing the awareness of vehicles - -- to anticipate if they can pass the stop line - -- of the lane. Used for optimizing the green wave, - -- due to knowledge of vehicles waiting in front - -- of a red light (downstream). - -- The element nextTime in TimeChangeDetails - -- in the containing data frame contains the next - -- timemark at which an active phase is expected, - -- a form of storage flush interval. - waitOnStop WaitOnStopline OPTIONAL, - -- If "true", the vehicles on this specific connecting - -- maneuver have to stop on the stop-line and not - -- to enter the collision area - pedBicycleDetect PedestrianBicycleDetect OPTIONAL, - -- true if ANY ped or bicycles are detected crossing - -- the above lanes. Set to false ONLY if there is a - -- high certainty that there are none present, - -- otherwise element is not sent. - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, - ... - } - -DataParameters ::= SEQUENCE { - processMethod IA5String(SIZE(1..255)) OPTIONAL, - processAgency IA5String(SIZE(1..255)) OPTIONAL, - lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, - geoidUsed IA5String(SIZE(1..255)) OPTIONAL, - ... - } - -EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID - -- The unique ID numbers for each - -- lane object which is 'active' - -- as part of the dynamic map contents. - -GenericLane ::= SEQUENCE { - laneID LaneID, - -- The unique ID number assigned - -- to this lane object - name DescriptiveName OPTIONAL, - -- often for debug use only - -- but at times used to name ped crossings - ingressApproach ApproachID OPTIONAL, -- inbound - egressApproach ApproachID OPTIONAL, -- outbound - -- Approach IDs to which this lane belongs - laneAttributes LaneAttributes, - -- All Attribute information about - -- the basic selected lane type - -- Directions of use, Geometric co-sharing - -- and Type Specific Attributes - -- These Attributes are 'lane - global' that is, - -- they are true for the entire length of the lane - maneuvers AllowedManeuvers OPTIONAL, - -- the permitted maneuvers for this lane - nodeList NodeListXY, - -- Lane spatial path information as well as - -- various Attribute information along the node path - -- Attributes found here are more general and may - -- come and go over the length of the lane. - connectsTo ConnectsToList OPTIONAL, - -- a list of other lanes and their signal group IDs - -- each connecting lane and its signal group ID - -- is given, therefore this element provides the - -- information formerly in "signalGroups" in prior - -- editions. - overlays OverlayLaneList OPTIONAL, - -- A list of any lanes which have spatial paths that - -- overlay (run on top of, and not simply cross) - -- the path of this lane when used - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-GenericLane}} OPTIONAL, - ... - } - -IntersectionAccessPoint ::= CHOICE { - lane LaneID, - approach ApproachID, - connection LaneConnectionID, - ... - } - -IntersectionGeometry ::= SEQUENCE { - name DescriptiveName OPTIONAL, - -- For debug use only - id IntersectionReferenceID, - -- A globally unique value set, - -- consisting of a regionID and - -- intersection ID assignment - revision MsgCount, - - -- Required default values about lane descriptions follow - refPoint Position3D, -- The reference from which subsequent - -- data points are offset until a new - -- point is used. - laneWidth LaneWidth OPTIONAL, - -- Reference width used by all subsequent - -- lanes unless a new width is given - speedLimits SpeedLimitList OPTIONAL, - -- Reference regulatory speed limits - -- used by all subsequent - -- lanes unless a new speed is given - -- See Section 11 for converting and - -- translating speed expressed in mph - -- into units of m/s - -- Complete details regarding each lane type in this intersection - laneSet LaneList, -- Data about one or more lanes - -- (all lane data is found here) - - -- Data describing how to use and request preemption and - -- priority services from this intersection (if supported) - -- NOTE Additonal data may be added in the next release of the - -- standard at this point to handle this concept - preemptPriorityData PreemptPriorityList OPTIONAL, - -- data about one or more regional - -- preempt or priority zones - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, - ... - } - -IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry - -IntersectionReferenceID ::= SEQUENCE { - region RoadRegulatorID OPTIONAL, - -- a globally unique regional assignment value - -- typical assigned to a regional DOT authority - -- the value zero shall be used for testing needs - id IntersectionID - -- a unique mapping to the intersection - -- in question within the above region of use - } - -IntersectionState ::= SEQUENCE { - name DescriptiveName OPTIONAL, - -- human readable name for intersection - -- to be used only in debug mode - id IntersectionReferenceID, - -- A globally unique value set, consisting of a - -- regionID and intersection ID assignment - -- provides a unique mapping to the - -- intersection MAP in question - -- which provides complete location - -- and approach/move/lane data - revision MsgCount, - status IntersectionStatusObject, - -- general status of the controller(s) - moy MinuteOfTheYear OPTIONAL, - -- Minute of current UTC year - -- used only with messages to be archived - timeStamp DSecond OPTIONAL, - -- the mSec point in the current UTC minute that - -- this message was constructed - enabledLanes EnabledLaneList OPTIONAL, - -- a list of lanes where the RevocableLane bit - -- has been set which are now active and - -- therefore part of the current intersection - states MovementList, - -- Each Movement is given in turn - -- and contains its signal phase state, - -- mapping to the lanes it applies to, and - -- point in time it will end, and it - -- may contain both active and future states - maneuverAssistList ManeuverAssistList OPTIONAL, - -- Assist data - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-IntersectionState}} OPTIONAL, - ... - } - -IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState - -LaneAttributes ::= SEQUENCE { - directionalUse LaneDirection, -- directions of lane use - sharedWith LaneSharing, -- co-users of the lane path - laneType LaneTypeAttributes, -- specific lane type data - regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL - } - -LaneDataAttribute ::= CHOICE { - -- Segment attribute types and the data needed for each - pathEndPointAngle DeltaAngle, - -- adjusts final point/width slant - -- of the lane to align with the stop line - laneCrownPointCenter RoadwayCrownAngle, - -- sets the canter of the road bed - -- from centerline point - laneCrownPointLeft RoadwayCrownAngle, - -- sets the canter of the road bed - -- from left edge - laneCrownPointRight RoadwayCrownAngle, - -- sets the canter of the road bed - -- from right edge - laneAngle MergeDivergeNodeAngle, - -- the angle or direction of another lane - -- this is required to support Japan style - -- when a merge point angle is required - speedLimits SpeedLimitList, - -- Reference regulatory speed limits - -- used by all segments - - -- Add others as needed, in regional space - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-LaneDataAttribute}}, - ... - } - -LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute - -LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane - -LaneSharing ::= BIT STRING { - -- With bits as defined: - overlappingLaneDescriptionProvided (0), - -- Assert when another lane object is present to describe the - -- path of the overlapping shared lane - -- this construct is not used for lane objects which simply cross - multipleLanesTreatedAsOneLane (1), - -- Assert if the lane object path and width details represents - -- multiple lanes within it that are not further described - - -- Various modes and type of traffic that may share this lane: - otherNonMotorizedTrafficTypes (2), -- horse drawn etc. - individualMotorizedVehicleTraffic (3), - busVehicleTraffic (4), - taxiVehicleTraffic (5), - pedestriansTraffic (6), - cyclistVehicleTraffic (7), - trackedVehicleTraffic (8), - pedestrianTraffic (9) - } (SIZE (10)) - -- All zeros would indicate 'not shared' and 'not overlapping' - -LaneTypeAttributes ::= CHOICE { - vehicle LaneAttributes-Vehicle, -- motor vehicle lanes - crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks - bikeLane LaneAttributes-Bike, -- bike lanes - sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths - median LaneAttributes-Barrier, -- medians & channelization - striping LaneAttributes-Striping, -- roadway markings - trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys - parking LaneAttributes-Parking, -- parking and stopping lanes - ... - } - -ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist - -MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent - -MovementEvent ::= SEQUENCE { - eventState MovementPhaseState, - -- Consisting of: - -- Phase state (the basic 11 states) - -- Directional, protected, or permissive state - - timing TimeChangeDetails OPTIONAL, - -- Timing Data in UTC time stamps for event - -- includes start and min/max end times of phase - -- confidence and estimated next occurrence - - speeds AdvisorySpeedList OPTIONAL, - -- various speed advisories for use by - -- general and specific types of vehicles - -- supporting green-wave and other flow needs - -- See Section 11 for converting and translating - -- speed expressed in mph into units of m/s - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-MovementEvent}} OPTIONAL, - ... - } - -MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState - -MovementState ::= SEQUENCE { - movementName DescriptiveName OPTIONAL, - -- uniquely defines movement by name - -- human readable name for intersection - -- to be used only in debug mode - signalGroup SignalGroupID, - -- the group id is used to map to lists - -- of lanes (and their descriptions) - -- which this MovementState data applies to - -- see comments in the Remarks for usage details - state-time-speed MovementEventList, - -- Consisting of sets of movement data with: - -- a) SignalPhaseState - -- b) TimeChangeDetails, and - -- c) AdvisorySpeeds (optional ) - -- Note one or more of the movement events may be for - -- a future time and that this allows conveying multiple - -- predictive phase and movement timing for various uses - -- for the current signal group - maneuverAssistList ManeuverAssistList OPTIONAL, - -- This information may also be placed in the - -- IntersectionState when common information applies to - -- different lanes in the same way - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-MovementState}} OPTIONAL, - ... - } - -NodeAttributeSetXY ::= SEQUENCE { - localNode NodeAttributeXYList OPTIONAL, - -- Attribute states which pertain to this node point - disabled SegmentAttributeXYList OPTIONAL, - -- Attribute states which are disabled at this node point - enabled SegmentAttributeXYList OPTIONAL, - -- Attribute states which are enabled at this node point - -- and which remain enabled until disabled or the lane ends - data LaneDataAttributeList OPTIONAL, - -- Attributes which require an additional data values - -- some of these are local to the node point, while others - -- persist with the provided values until changed - -- and this is indicated in each entry - dWidth Offset-B10 OPTIONAL, - -- A value added to the current lane width - -- at this node and from this node onwards, in 1cm steps - -- lane width between nodes are a linear taper between pts - -- the value of zero shall not be sent here - dElevation Offset-B10 OPTIONAL, - -- A value added to the current Elevation - -- at this node from this node onwards, in 10cm steps - -- elevations between nodes are a linear taper between pts - -- the value of zero shall not be sent here - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, - ... - } - -NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY - -NodeAttributeXY ::= ENUMERATED { - -- Various values which pertain only to the current node point - - -- General Items - reserved, - stopLine, -- point where a mid-path stop line exists - -- See also 'do not block' for segments - - -- Path finish details - roundedCapStyleA, -- Used to control final path rounded end shape - -- with edge of curve at final point in a circle - roundedCapStyleB, -- Used to control final path rounded end shape - -- with edge of curve extending 50% of width past - -- final point in a circle - - -- Topography Points (items with no concept of a distance along the path) - mergePoint, -- Japan merge with 1 or more lanes - divergePoint, -- Japan diverge with 1 or more lanes - downstreamStopLine, -- Japan style downstream intersection - -- (a 2nd intersection) stop line - downstreamStartNode, -- Japan style downstream intersection - -- (a 2nd intersection) start node - - -- Pedestrian Support Attributes - closedToTraffic, -- where a pedestrian may NOT go - -- to be used during construction events - safeIsland, -- a pedestrian safe stopping point - -- also called a traffic island - -- This usage described a point feature on a path, - -- other entries can describe a path - curbPresentAtStepOff, -- the sidewalk to street curb is NOT - -- angled where it meets the edge of the - -- roadway (user must step up/down) - - -- Lane geometry details (see standard for defined shapes) - hydrantPresent, -- Or other services access - ... - } - -Node-LLmD-64b ::= SEQUENCE { - lon Longitude, - lat Latitude - } - - Node-XY-20b ::= SEQUENCE { - x Offset-B10, - y Offset-B10 - } - -Node-XY-22b ::= SEQUENCE { - x Offset-B11, - y Offset-B11 - } - - -Node-XY-24b ::= SEQUENCE { - x Offset-B12, - y Offset-B12 - } - - -Node-XY-26b ::= SEQUENCE { - x Offset-B13, - y Offset-B13 - } - - -Node-XY-28b ::= SEQUENCE { - x Offset-B14, - y Offset-B14 - } - - -Node-XY-32b ::= SEQUENCE { - x Offset-B16, - y Offset-B16 - } - -NodeListXY ::= CHOICE { - nodes NodeSetXY, - -- a lane made up of two or more - -- XY node points and any attributes - -- defined in those nodes - computed ComputedLane, - -- a lane path computed by translating - -- the data defined by another lane - ... - } - -NodeOffsetPointXY ::= CHOICE { - -- Nodes with X,Y content - node-XY1 Node-XY-20b, -- node is within 5.11m of last node - node-XY2 Node-XY-22b, -- node is within 10.23m of last node - node-XY3 Node-XY-24b, -- node is within 20.47m of last node - node-XY4 Node-XY-26b, -- node is within 40.96m of last node - node-XY5 Node-XY-28b, -- node is within 81.91m of last node - node-XY6 Node-XY-32b, -- node is within 327.67m of last node - node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range - regional RegionalExtension {{Reg-NodeOffsetPointXY}} - -- node which follows is of a - -- regional definition type - } - -NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY - -NodeXY ::= SEQUENCE { - delta NodeOffsetPointXY, - -- A choice of which X,Y offset value to use - -- this includes various delta values as well a regional choices - attributes NodeAttributeSetXY OPTIONAL, - -- Any optional Attributes which are needed - -- This includes changes to the current lane width and elevation - ... -} - -OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID - -- The unique ID numbers for any lane object which have - -- spatial paths that overlay (run on top of, and not - -- simply cross with) the current lane. - -- Such as a train path that overlays a motor vehicle - -- lane object for a roadway segment. - -Position3D ::= SEQUENCE { - lat Latitude, -- in 1/10th micro degrees - long Longitude, -- in 1/10th micro degrees - elevation Elevation OPTIONAL, -- in 10 cm units - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-Position3D}} OPTIONAL, - ... - } - -PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone - -RegulatorySpeedLimit ::= SEQUENCE { - type SpeedLimitType, - -- The type of regulatory speed which follows - speed Velocity - -- The speed in units of 0.02 m/s - -- See Section 11 for converting and translating - -- speed expressed in mph into units of m/s - } - -RequestorDescription ::= SEQUENCE { - id VehicleID, - -- The ID used in the BSM or CAM of the requestor - -- This ID is presumed not to change - -- during the exchange - type RequestorType OPTIONAL, - -- Information regarding all type and class data - -- about the requesting vehicle - position RequestorPositionVector OPTIONAL, - -- The location of the requesting vehicle - name DescriptiveName OPTIONAL, - -- A human readable name for debugging use - -- Support for Transit requests - routeName DescriptiveName OPTIONAL, - -- A string for transit operations use - transitStatus TransitVehicleStatus OPTIONAL, - -- current vehicle state (loading, etc.) - transitOccupancy TransitVehicleOccupancy OPTIONAL, - -- current vehicle occupancy - transitSchedule DeltaTime OPTIONAL, - -- current vehicle schedule adherence - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, - ... - } - -RequestorPositionVector ::= SEQUENCE { - position Position3D, - heading Angle OPTIONAL, - speed TransmissionAndSpeed OPTIONAL, - ... - } - -RequestorType ::= SEQUENCE { - -- Defines who is requesting - role BasicVehicleRole, -- Basic role of this user at this time - subrole RequestSubRole OPTIONAL, -- A local list with role based items - - -- Defines what kind of request (a level of importance in the Priority Scheme) - request RequestImportanceLevel OPTIONAL, -- A local list with request items - - -- Additional classification details - iso3883 Iso3833VehicleType OPTIONAL, - hpmsType VehicleType OPTIONAL, -- HPMS classification types - - regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, - ... - } - -RestrictionClassAssignment ::= SEQUENCE { - id RestrictionClassID, - -- the unique value (within an intersection or local region) - -- that is assigned to this group of users - users RestrictionUserTypeList - -- The list of user types/classes - -- to which this restriction ID applies - } - -RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment - -RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType - -RestrictionUserType ::= CHOICE { - basicType RestrictionAppliesTo, - -- a set of the most commonly used types - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-RestrictionUserType}}, - ... - } - -RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane - -RoadSegmentReferenceID ::= SEQUENCE { - region RoadRegulatorID OPTIONAL, - -- a globally unique regional assignment value - -- typically assigned to a regional DOT authority - -- the value zero shall be used for testing needs - id RoadSegmentID - -- a unique mapping to the road segment - -- in question within the above region of use - -- during its period of assignment and use - -- note that unlike intersectionID values, - -- this value can be reused by the region - } - -RoadSegment ::= SEQUENCE { - name DescriptiveName OPTIONAL, - id RoadSegmentReferenceID, - -- a globally unique value for the segment - revision MsgCount, - -- Required default values about the descriptions to follow - refPoint Position3D, -- the reference from which subsequent - -- data points are offset until a new - -- point is used. - laneWidth LaneWidth OPTIONAL, - -- Reference width used by all subsequent - -- lanes unless a new width is given - speedLimits SpeedLimitList OPTIONAL, - -- Reference regulatory speed limits - -- used by all subsequent - -- lanes unless a new speed is given - -- See Section 11 for converting and - -- translating speed expressed in mph - -- into units of m/s - - -- Data describing disruptions in the RoadSegment - -- such as work zones etc will be added here; - -- in the US the SAE ITIS codes would be used here - -- The details regarding each lane type in the RoadSegment - roadLaneSet RoadLaneSetList, - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-RoadSegment}} OPTIONAL, - ... - } - -RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment - -SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY - -SignalControlZone ::= SEQUENCE { - zone RegionalExtension {{Reg-SignalControlZone}}, - ... - } - -SignalRequesterInfo ::= SEQUENCE { - -- These three items serve to uniquely identify the requester - -- and the specific request to all parties - id VehicleID, - request RequestID, - sequenceNumber MsgCount, - role BasicVehicleRole OPTIONAL, - - typeData RequestorType OPTIONAL, - -- Used when addition data besides the role - -- is needed, at which point the role entry - -- above is not sent. - ... - } - -SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage - -SignalRequestPackage ::= SEQUENCE { - request SignalRequest, - -- The specific request to the intersection - -- contains IntersectionID, request type, - -- requested action (approach/lane request) - - -- The Estimated Time of Arrival (ETA) when the service is requested - minute MinuteOfTheYear OPTIONAL, - second DSecond OPTIONAL, - duration DSecond OPTIONAL, - -- The duration value is used to provide a short interval that - -- extends the ETA so that the requesting vehicle can arrive at - -- the point of service with uncertainty or with some desired - -- duration of service. This concept can be used to avoid needing - -- to frequently update the request. - -- The requester must update the ETA and duration values if the - -- period of services extends beyond the duration time. - -- It should be assumed that if the vehicle does not clear the - -- intersection when the duration is reached, the request will - -- be cancelled and the intersection will revert to - -- normal operation. - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, - ... - } - -SignalRequest ::= SEQUENCE { - -- the unique ID of the target intersection - id IntersectionReferenceID, - - -- The unique requestID used by the requestor - requestID RequestID, - - -- The type of request or cancel for priority or preempt use - -- when a prior request is canceled, only the requestID is needed - requestType PriorityRequestType, - - -- In typical use either an approach or a lane number would - -- be given, this indicates the requested - -- path through the intersection to the degree it is known. - inBoundLane IntersectionAccessPoint, - -- desired entry approach or lane - outBoundLane IntersectionAccessPoint OPTIONAL, - -- desired exit approach or lane - -- the values zero is used to indicate - -- intent to stop within the intersection - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalRequest}} OPTIONAL, - ... - } - -SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus - -SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage - -SignalStatusPackage ::= SEQUENCE { - -- The party that made the initial SRM request - requester SignalRequesterInfo OPTIONAL, - -- The lanes or approaches used in the request - inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle - outboundOn IntersectionAccessPoint OPTIONAL, - - -- The Estimated Time of Arrival (ETA) when the service is requested - -- This data echos the data of the request - minute MinuteOfTheYear OPTIONAL, - second DSecond OPTIONAL, - duration DSecond OPTIONAL, - - -- the SRM status for this request - status PrioritizationResponseStatus, - -- Status of request, this may include rejection - - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, - ... - } - -SignalStatus ::= SEQUENCE { - sequenceNumber MsgCount, - -- changed whenever the below contents have change - id IntersectionReferenceID, - -- this provides a unique mapping to the - -- intersection map in question - -- which provides complete location - -- and approach/movement/lane data - -- as well as zones for priority/preemption - sigStatus SignalStatusPackageList, - -- a list of detailed status containing all - -- priority or preemption state data, both - -- active and pending, and who requested it - -- requests which are denied are also listed - -- here for a short period of time - regional SEQUENCE (SIZE(1..4)) OF - RegionalExtension {{Reg-SignalStatus}} OPTIONAL, - ... - } - -SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit - -SpeedLimitType ::= ENUMERATED { - unknown, -- Speed limit type not available - maxSpeedInSchoolZone, -- Only sent when the limit is active - maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time - maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. - -- where a reduced speed is present - vehicleMinSpeed, - vehicleMaxSpeed, -- Regulatory speed limit for general traffic - vehicleNightMaxSpeed, - - truckMinSpeed, - truckMaxSpeed, - truckNightMaxSpeed, - - vehiclesWithTrailersMinSpeed, - vehiclesWithTrailersMaxSpeed, - vehiclesWithTrailersNightMaxSpeed, - ... - } - -TimeChangeDetails ::= SEQUENCE { - startTime TimeMark OPTIONAL, - -- When this phase 1st started - minEndTime TimeMark, - -- Expected shortest end time - maxEndTime TimeMark OPTIONAL, - -- Expected longest end time - - likelyTime TimeMark OPTIONAL, - -- Best predicted value based on other data - confidence TimeIntervalConfidence OPTIONAL, - -- Applies to above time element only - - nextTime TimeMark OPTIONAL - -- A rough estimate of time when - -- this phase may next occur again - -- used to support various ECO driving power - -- management needs. - } - -TimeMark ::= INTEGER (0..36001) - -- Tenths of a second in the current or next hour - -- In units of 1/10th second from UTC time - -- A range of 0~36000 covers one hour - -- The values 35991..36000 are used when a leap second occurs - -- The value 36001 is used to indicate time >3600 seconds - -- 36002 is to be used when value undefined or unknown - -- Note that this is NOT expressed in GPS time - -- or in local time - -TransmissionAndSpeed ::= SEQUENCE { - transmisson TransmissionState, - speed Velocity - } - -VehicleID ::= CHOICE { - entityID TemporaryID, - stationID StationID - } - - --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- --- Start of entries from table Data_Elements... --- This table typicaly contains data element entries. --- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ --- - -AdvisorySpeedType ::= ENUMERATED { - none (0), - greenwave (1), - ecoDrive (2), - transit (3), - ... - } -- Note: subject to further growth - -AllowedManeuvers ::= BIT STRING { - -- With bits as defined: - -- Allowed maneuvers at path end (stop line) - -- All maneuvers with bits not set are therefore prohibited ! - -- A value of zero shall be used for unknown, indicating no Maneuver - maneuverStraightAllowed (0), - -- a Straight movement is allowed in this lane - maneuverLeftAllowed (1), - -- a Left Turn movement is allowed in this lane - maneuverRightAllowed (2), - -- a Right Turn movement is allowed in this lane - maneuverUTurnAllowed (3), - -- a U turn movement is allowed in this lane - maneuverLeftTurnOnRedAllowed (4), - -- a Stop, and then proceed when safe movement - -- is allowed in this lane - maneuverRightTurnOnRedAllowed (5), - -- a Stop, and then proceed when safe movement - -- is allowed in this lane - maneuverLaneChangeAllowed (6), - -- a movement which changes to an outer lane - -- on the egress side is allowed in this lane - -- (example: left into either outbound lane) - maneuverNoStoppingAllowed (7), - -- the vehicle should not stop at the stop line - -- (example: a flashing green arrow) - yieldAllwaysRequired (8), - -- the allowed movements above are not protected - -- (example: an permanent yellow condition) - goWithHalt (9), - -- after making a full stop, may proceed - caution (10), - -- proceed past stop line with caution - reserved1 (11) - -- used to align to 12 Bit Field - - } (SIZE(12)) - -Angle ::= INTEGER (0..28800) - -- LSB of 0.0125 degrees - -- A range of 0 to 359.9875 degrees - -ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown - -BasicVehicleRole ::= ENUMERATED { - -- Values used in the EU and in the US - basicVehicle (0), -- Light duty passenger vehicle type - publicTransport (1), -- Used in EU for Transit us - specialTransport (2), -- Used in EU (e.g. heavy load) - dangerousGoods (3), -- Used in EU for any HAZMAT - roadWork (4), -- Used in EU for State and Local DOT uses - roadRescue (5), -- Used in EU and in the US to include tow trucks. - emergency (6), -- Used in EU for Police, Fire and Ambulance units - safetyCar (7), -- Used in EU for Escort vehicles - -- Begin US unique numbering - none-unknown (8), -- added to follow current SAE style guidelines - truck (9), -- Heavy trucks with additional BSM rights and obligations - motorcycle (10), -- - roadSideSource (11), -- For infrastructure generated calls such as - -- fire house, rail infrastructure, roadwork site, etc. - police (12), -- - fire (13), -- - ambulance (14), -- (does not include private para-transit etc.) - dot (15), -- all roadwork vehicles - transit (16), -- all transit vehicles - slowMoving (17), -- to also include oversize etc. - stopNgo (18), -- to include trash trucks, school buses and others - -- that routinely disturb the free flow of traffic - cyclist (19), -- - pedestrian (20), -- also includes those with mobility limitations - nonMotorized (21), -- other, horse drawn, etc. - military (22), -- - ... - } - -DeltaAngle ::= INTEGER (-150..150) - -- With an angle range from - -- negative 150 to positive 150 - -- in one degree steps where zero is directly - -- along the axis or the lane center line as defined by the - -- two closest points - -DeltaTime ::= INTEGER (-122 .. 121) - -- Supporting a range of +/- 20 minute in steps of 10 seconds - -- the value of -121 shall be used when more than -20 minutes - -- the value of +120 shall be used when more than +20 minutes - -- the value -122 shall be used when the value is unavailable - -DescriptiveName ::= IA5String (SIZE(1..63)) - -DrivenLineOffsetLg ::= INTEGER (-32767..32767) - -- LSB units are 1 cm. - -DrivenLineOffsetSm ::= INTEGER (-2047..2047) - -- LSB units are 1 cm. - -DSecond ::= INTEGER (0..65535) -- units of milliseconds - -DSRCmsgID ::= INTEGER (0..32767) - mapData DSRCmsgID ::= 18 -- MAP, intersections - signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT - signalRequestMessage DSRCmsgID ::= 29 -- SRM - signalStatusMessage DSRCmsgID ::= 30 -- SSM - -Elevation ::= INTEGER (-4096..61439) - -- In units of 10 cm steps above or below the reference ellipsoid - -- Providing a range of -409.5 to + 6143.9 meters - -- The value -4096 shall be used when Unknown is to be sent - -IntersectionID ::= INTEGER (0..65535) - -- The values zero through 255 are allocated for testing purposes - -- Note that the value assigned to an intersection will be - -- unique within a given regional ID only - -IntersectionStatusObject ::= BIT STRING { - manualControlIsEnabled (0), - -- Timing reported is per programmed values, etc. but person - -- at cabinet can manually request that certain intervals are - -- terminated early (e.g. green). - stopTimeIsActivated (1), - -- And all counting/timing has stopped. - failureFlash (2), - -- Above to be used for any detected hardware failures, - -- e.g. conflict monitor as well as for police flash - preemptIsActive (3), - signalPriorityIsActive (4), - - -- Additional states - fixedTimeOperation (5), - -- Schedule of signals is based on time only - -- (i.e. the state can be calculated) - trafficDependentOperation (6), - -- Operation is based on different levels of traffic parameters - -- (requests, duration of gaps or more complex parameters) - standbyOperation (7), - -- Controller: partially switched off or partially amber flashing - failureMode (8), - -- Controller has a problem or failure in operation - off (9), - -- Controller is switched off - - -- Related to MAP and SPAT bindings - recentMAPmessageUpdate (10), - -- Map revision with content changes - recentChangeInMAPassignedLanesIDsUsed (11), - -- Change in MAP's assigned lanes used (lane changes) - -- Changes in the active lane list description - noValidMAPisAvailableAtThisTime (12), - -- MAP (and various lanes indexes) not available - noValidSPATisAvailableAtThisTime (13) - -- SPAT system is not working at this time - - -- Bits 14,15 reserved at this time and shall be zero - } (SIZE(16)) - - -LaneAttributes-Barrier ::= BIT STRING { - -- With bits as defined: - median-RevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - median (1), - whiteLineHashing (2), - stripedLines (3), - doubleStripedLines (4), - trafficCones (5), - constructionBarrier (6), - trafficChannels (7), - lowCurbs (8), - highCurbs (9) - -- Bits 10~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Bike ::= BIT STRING { - -- With bits as defined: - bikeRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - pedestrianUseAllowed (1), - -- The path allows pedestrian traffic, - -- if not set, this mode is prohibited - isBikeFlyOverLane (2), - -- path of lane is not at grade - fixedCycleTime (3), - -- the phases use preset times - -- i.e. there is not a 'push to cross' button - biDirectionalCycleTimes (4), - -- ped walk phases use different SignalGroupID - -- for each direction. The first SignalGroupID - -- in the first Connection represents 'inbound' - -- flow (the direction of travel towards the first - -- node point) while second SignalGroupID in the - -- next Connection entry represents the 'outbound' - -- flow. And use of RestrictionClassID entries - -- in the Connect follow this same pattern in pairs. - isolatedByBarrier (5), - unsignalizedSegmentsPresent (6) - -- The lane path consists of one of more segments - -- which are not part of a signal group ID - - -- Bits 7~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Crosswalk ::= BIT STRING { - -- With bits as defined: - -- MUTCD provides no suitable "types" to use here - crosswalkRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - bicyleUseAllowed (1), - -- The path allows bicycle traffic, - -- if not set, this mode is prohibited - isXwalkFlyOverLane (2), - -- path of lane is not at grade - fixedCycleTime (3), - -- ped walk phases use preset times - -- i.e. there is not a 'push to cross' button - biDirectionalCycleTimes (4), - -- ped walk phases use different SignalGroupID - -- for each direction. The first SignalGroupID - -- in the first Connection represents 'inbound' - -- flow (the direction of travel towards the first - -- node point) while second SignalGroupID in the - -- next Connection entry represents the 'outbound' - -- flow. And use of RestrictionClassID entries - -- in the Connect follow this same pattern in pairs. - hasPushToWalkButton (5), - -- Has a demand input - audioSupport (6), - -- audio crossing cues present - rfSignalRequestPresent (7), - -- Supports RF push to walk technologies - unsignalizedSegmentsPresent (8) - -- The lane path consists of one of more segments - -- which are not part of a signal group ID - -- Bits 9~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Parking ::= BIT STRING { - -- With bits as defined: - -- Parking use details, note that detailed restrictions such as - -- allowed hours are sent by way of ITIS codes in the TIM message - parkingRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - parallelParkingInUse (1), - headInParkingInUse (2), - doNotParkZone (3), - -- used to denote fire hydrants as well as - -- short disruptions in a parking zone - parkingForBusUse (4), - parkingForTaxiUse (5), - noPublicParkingUse (6) - -- private parking, as in front of - -- private property - -- Bits 7~15 reserved and set to zero - } (SIZE (16)) - -LaneAttributes-Sidewalk ::= BIT STRING { - -- With bits as defined: - sidewalk-RevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - bicyleUseAllowed (1), - -- The path allows bicycle traffic, - -- if not set, this mode is prohibited - isSidewalkFlyOverLane (2), - -- path of lane is not at grade - walkBikes (3) - -- bike traffic must dismount and walk - -- Bits 4~15 reserved and set to zero - } (SIZE (16)) - - -LaneAttributes-Striping ::= BIT STRING { - -- With bits as defined: - stripeToConnectingLanesRevocableLane (0), - -- this lane may be activated or not activated based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - stripeDrawOnLeft (1), - stripeDrawOnRight (2), - -- which side of lane to mark - stripeToConnectingLanesLeft (3), - stripeToConnectingLanesRight (4), - stripeToConnectingLanesAhead (5) - -- the stripe type should be - -- presented to the user visually - -- to reflect stripes in the - -- intersection for the type of - -- movement indicated - -- Bits 6~15 reserved and set to zero - } (SIZE (16)) - - -LaneAttributes-TrackedVehicle ::= BIT STRING { - -- With bits as defined: - spec-RevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - spec-commuterRailRoadTrack (1), - spec-lightRailRoadTrack (2), - spec-heavyRailRoadTrack (3), - spec-otherRailType (4) - -- Bits 5~15 reserved and set to zero - } (SIZE (16)) - - -LaneAttributes-Vehicle ::= BIT STRING { - -- With bits as defined: - isVehicleRevocableLane (0), - -- this lane may be activated or not based - -- on the current SPAT message contents - -- if not asserted, the lane is ALWAYS present - isVehicleFlyOverLane (1), - -- path of lane is not at grade - hovLaneUseOnly (2), - restrictedToBusUse (3), - restrictedToTaxiUse (4), - restrictedFromPublicUse (5), - hasIRbeaconCoverage (6), - permissionOnRequest (7) -- e.g. to inform about a lane for e-cars - - } (SIZE (8,...)) - -LaneConnectionID ::= INTEGER (0..255) - -LaneDirection ::= BIT STRING { - -- With bits as defined: - -- Allowed directions of travel in the lane object - -- All lanes are described from the stop line outwards - ingressPath (0), - -- travel from rear of path to front - -- is allowed - egressPath (1) - -- travel from front of path to rear - -- is allowed - -- Notes: No Travel, i.e. the lane object type does not support - -- travel (medians, curbs, etc.) is indicated by not - -- asserting any bit value - -- Bi-Directional Travel (such as a ped crosswalk) is - -- indicated by asserting both of the bits - } (SIZE (2)) - -LaneID ::= INTEGER (0..255) - -- the value 0 shall be used when the lane ID is - -- not available or not known - -- the value 255 is reserved for future use - -LayerID ::= INTEGER (0..100) - -LayerType ::= ENUMERATED { - none, - mixedContent, -- two or more of the below types - generalMapData, - intersectionData, - curveData, - roadwaySectionData, - parkingAreaData, - sharedLaneData, - ... - } - -LaneWidth ::= INTEGER (0..32767) -- units of 1 cm - -MergeDivergeNodeAngle ::= INTEGER (-180..180) - -- In units of 1.5 degrees from north - -- the value -180 shall be used to represent - -- data is not available or unknown - -MinuteOfTheYear ::= INTEGER (0..527040) - -- the value 527040 shall be used for invalid - -MovementPhaseState ::= ENUMERATED { - -- Note that based on the regions and the operating mode not every - -- phase will be used in all transportation modes and that not - -- every phase will be used in all transportation modes - - unavailable (0), - -- This state is used for unknown or error - dark (1), - -- The signal head is dark (unlit) - - -- Reds - stop-Then-Proceed (2), - -- Often called 'flashing red' in US - -- Driver Action: - -- Stop vehicle at stop line. - -- Do not proceed unless it is safe. - -- Note that the right to proceed either right or left when - -- it is safe may be contained in the lane description to - -- handle what is called a 'right on red' - stop-And-Remain (3), - -- e.g. called 'red light' in US - -- Driver Action: - -- Stop vehicle at stop line. - -- Do not proceed. - -- Note that the right to proceed either right or left when - -- it is safe may be contained in the lane description to - -- handle what is called a 'right on red' - - -- Greens - pre-Movement (4), - -- Not used in the US, red+yellow partly in EU - -- Driver Action: - -- Stop vehicle. - -- Prepare to proceed (pending green) - -- (Prepare for transition to green/go) - permissive-Movement-Allowed (5), - -- Often called 'permissive green' in US - -- Driver Action: - -- Proceed with caution, - -- must yield to all conflicting traffic - -- Conflicting traffic may be present - -- in the intersection conflict area - protected-Movement-Allowed (6), - -- Often called 'protected green' in US - -- Driver Action: - -- Proceed, tossing caution to the wind, - -- in indicated (allowed) direction. - - -- Yellows / Ambers - -- The vehicle is not allowed to cross the stop bar if it is possible - -- to stop without danger. - permissive-clearance (7), - -- Often called 'permissive yellow' in US - -- Driver Action: - -- Prepare to stop. - -- Proceed if unable to stop, - -- Clear Intersection. - -- Conflicting traffic may be present - -- in the intersection conflict area - protected-clearance (8), - -- Often called 'protected yellow' in US - -- Driver Action: - -- Prepare to stop. - -- Proceed if unable to stop, - -- in indicated direction (to connected lane) - -- Clear Intersection. - - caution-Conflicting-Traffic (9) - -- Often called 'flashing yellow' in US - -- Often used for extended periods of time - -- Driver Action: - -- Proceed with caution, - -- Conflicting traffic may be present - -- in the intersection conflict area - } - -- The above number assignments are not used with UPER encoding - -- and are only to be used with DER or implicit encoding - -MsgCount ::= INTEGER (0..127) - -Offset-B10 ::= INTEGER (-512..511) - -- a range of +- 5.11 meters - -Offset-B11 ::= INTEGER (-1024..1023) - -- a range of +- 10.23 meters - -Offset-B12 ::= INTEGER (-2048..2047) - -- a range of +- 20.47 meters - -Offset-B13 ::= INTEGER (-4096..4095) - -- a range of +- 40.95 meters - -Offset-B14 ::= INTEGER (-8192..8191) - -- a range of +- 81.91 meters - -Offset-B16 ::= INTEGER (-32768..32767) - -- a range of +- 327.68 meters - -PedestrianBicycleDetect ::= BOOLEAN - -- true if ANY Pedestrians or Bicyclists are - -- detected crossing the target lane or lanes - -PrioritizationResponseStatus ::= ENUMERATED { - unknown (0), - -- Unknown state - requested (1), - -- This prioritization request was detected - -- by the traffic controller - processing (2), - -- Checking request - -- (request is in queue, other requests are prior) - watchOtherTraffic (3), - -- Cannot give full permission, - -- therefore watch for other traffic - -- Note that other requests may be present - granted (4), - -- Intervention was successful - -- and now prioritization is active - rejected (5), - -- The prioritization or preemption request was - -- rejected by the traffic controller - maxPresence (6), - -- The Request has exceeded maxPresence time - -- Used when the controller has determined that - -- the requester should then back off and - -- request an alternative. - reserviceLocked (7), - -- Prior conditions have resulted in a reservice - -- locked event: the controller requires the - -- passage of time before another similar request - -- will be accepted - ... -} - -PriorityRequestType ::= ENUMERATED { - priorityRequestTypeReserved (0), - priorityRequest (1), - priorityRequestUpdate (2), - priorityCancellation (3), - ... - } - -RegionId ::= INTEGER (0..255) - noRegion RegionId ::= 0 -- Use default supplied stubs - addGrpA RegionId ::= 1 -- USA - addGrpB RegionId ::= 2 -- Japan - addGrpC RegionId ::= 3 -- EU - -- NOTE: new registered regional IDs will be added here - -- The values 128 and above are for local region use - -RequestID ::= INTEGER (0..255) - -RequestImportanceLevel ::= ENUMERATED { - requestImportanceLevelUnKnown (0), - requestImportanceLevel1 (1), -- The least important request - requestImportanceLevel2 (2), -- The values here shall be assigned - requestImportanceLevel3 (3), -- Meanings based on regional needs - requestImportanceLevel4 (4), -- for each of the basic roles which - requestImportanceLevel5 (5), -- are defined elsewhere - requestImportanceLevel6 (6), - requestImportanceLevel7 (7), - requestImportanceLevel8 (8), - requestImportanceLevel9 (9), - requestImportanceLevel10 (10), - requestImportanceLevel11 (11), - requestImportanceLevel12 (12), - requestImportanceLevel13 (13), - requestImportanceLevel14 (14), -- The most important request - requestImportanceReserved (15) -- Reserved for future use - } - -RequestSubRole ::= ENUMERATED { - requestSubRoleUnKnown (0), - requestSubRole1 (1), -- The first type of sub role - requestSubRole2 (2), -- The values here shall be assigned - requestSubRole3 (3), -- Meanings based on regional needs - requestSubRole4 (4), -- to refine and expand the basic - requestSubRole5 (5), -- roles which are defined elsewhere - requestSubRole6 (6), - requestSubRole7 (7), - requestSubRole8 (8), - requestSubRole9 (9), - requestSubRole10 (10), - requestSubRole11 (11), - requestSubRole12 (12), - requestSubRole13 (13), - requestSubRole14 (14), -- The last type of sub role - requestSubRoleReserved (15) -- Reserved for future use - } - -RestrictionAppliesTo ::= ENUMERATED { - none, -- applies to nothing - equippedTransit, -- buses etc. - equippedTaxis, - equippedOther, -- other vehicle types with - -- necessary signal phase state - -- reception equipment - emissionCompliant, -- regional variants with more - -- definitive items also exist - equippedBicycle, - weightCompliant, - heightCompliant, - -- Items dealing with traveler needs serviced by the infrastructure - -- These end users (which are not vehicles) are presumed to be suitably equipped - pedestrians, - slowMovingPersons, - wheelchairUsers, - visualDisabilities, - audioDisabilities, -- hearing - otherUnknownDisabilities, - ... - } - -RestrictionClassID ::= INTEGER (0..255) - -- An index value to identify data about classes of users - -- the value used varies with each intersection's - -- needs and is defined in the map to the assigned - -- classes of supported users. - -RoadRegulatorID ::= INTEGER (0..65535) - -- The value zero shall be used for testing only - -RoadSegmentID ::= INTEGER (0..65535) - -- The values zero to 255 shall be used for testing only - -- Note that the value assigned to an RoadSegment will be - -- unique within a given regional ID only during its use - -RoadwayCrownAngle ::= INTEGER (-128..127) - -- In LSB units of 0.3 degrees of angle - -- over a range of -38.1 to + 38.1 degrees - -- The value -128 shall be used for unknown - -- The value zero shall be used for angles - -- which are between -0.15 and +0.15 - -Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent - -SignalGroupID ::= INTEGER (0..255) - -- The value 0 shall be used when the ID is - -- not available or not known - -- the value 255 is reserved to indicate a - -- permanent green movement state - -- therefore a simple 8 phase signal controller - -- device might use 1..9 as its groupIDs - -SegmentAttributeXY ::= ENUMERATED { - -- Various values which can be Enabled and Disabled for a lane segment - - -- General Items - reserved , - doNotBlock , -- segment where a vehicle - -- may not come to a stop - whiteLine , -- segment where lane crossing not allowed - -- such as the final few meters of a lane - - -- Porous Lane states, merging, turn outs, parking etc. - - mergingLaneLeft , -- indicates porous lanes - mergingLaneRight , - - curbOnLeft , -- indicates presence of curbs - curbOnRight , - - loadingzoneOnLeft , -- loading or drop off zones - loadingzoneOnRight , - - turnOutPointOnLeft , -- opening to adjacent street/alley/road - turnOutPointOnRight , - - adjacentParkingOnLeft , -- side of road parking - adjacentParkingOnRight , - - -- Bike Lane Needs - adjacentBikeLaneOnLeft , -- presence of marked bike lanes - adjacentBikeLaneOnRight , - sharedBikeLane , -- right of way is shared with bikes - -- who may occupy entire lane width - bikeBoxInFront , - - -- Transit Needs - transitStopOnLeft , -- any form of bus/transit loading - -- with pull in-out access to lane on left - transitStopOnRight , -- any form of bus/transit loading - -- with pull in-out access to lane on right - transitStopInLane , -- any form of bus/transit loading - -- in mid path of the lane - sharedWithTrackedVehicle , -- lane is shared with train or trolley - -- not used for crossing tracks - - - -- Pedestrian Support Attributes - safeIsland , -- begin/end a safety island in path - lowCurbsPresent , -- for ADA support - rumbleStripPresent , -- for ADA support - audibleSignalingPresent , -- for ADA support - adaptiveTimingPresent , -- for ADA support - rfSignalRequestPresent , -- Supports RF push to walk technologies - partialCurbIntrusion , -- path is blocked by a median or curb - -- but at least 1 meter remains open for use - -- and at-grade passage - - -- Lane geometry details (see standard for defined shapes) - taperToLeft , -- Used to control final path shape - taperToRight , -- Used to control final path shape - taperToCenterLine , -- Used to control final path shape - - -- Parking Lane and Curb Attributes - parallelParking , -- - headInParking , -- Parking at an angle with the street - freeParking , -- no restriction on use of parking - timeRestrictionsOnParking , -- Parking is not permitted at all times - -- typically used when the 'parking' lane - -- becomes a driving lane at times - costToPark , -- Used where parking has a cost - midBlockCurbPresent , -- a protruding curb near lane edge - unEvenPavementPresent , -- a disjoint height at lane edge - ... - } - -SpeedAdvice ::= INTEGER (0..500) - -- LSB units are 0.1 m/s^2 - -- the value 499 shall be used for values at or greater than 49.9 m/s - -- the value 500 shall be used to indicate that speed is unavailable - - -TemporaryID ::= OCTET STRING (SIZE(4)) - -TimeIntervalConfidence ::= INTEGER (0..15) - -- Value Probability - -- 0 21% - -- 1 36% - -- 2 47% - -- 3 56% - -- 4 62% - -- 5 68% - -- 6 73% - -- 7 77% - -- 8 81% - -- 9 85% - -- 10 88% - -- 11 91% - -- 12 94% - -- 13 96% - -- 14 98% - -- 15 100% - -TransitVehicleOccupancy ::= ENUMERATED { - occupancyUnknown (0), - occupancyEmpty (1), - occupancyVeryLow (2), - occupancyLow (3), - occupancyMed (4), - occupancyHigh (5), - occupancyNearlyFull (6), - occupancyFull (7) - } - -TransitVehicleStatus ::= BIT STRING { - loading (0), -- parking and unable to move at this time - anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) - aBikeLoad (2), -- loading of a bicycle is in progress - doorOpen (3), -- a vehicle door is open for passenger access - charging (4), -- a vehicle is connected to charging point - atStopLine (5) -- a vehicle is at the stop line for the lane it is in - } (SIZE(8)) - -TransmissionState ::= ENUMERATED { - neutral (0), -- Neutral - park (1), -- Park - forwardGears (2), -- Forward gears - reverseGears (3), -- Reverse gears - reserved1 (4), - reserved2 (5), - reserved3 (6), - unavailable (7) -- not-equipped or unavailable value, - -- Any related speed is relative to the vehicle reference frame used - } - -VehicleType ::= ENUMERATED { - none (0), -- Not Equipped, Not known or unavailable - unknown (1), -- Does not fit any other category - special (2), -- Special use - moto (3), -- Motorcycle - car (4), -- Passenger car - carOther (5), -- Four tire single units - bus (6), -- Buses - axleCnt2 (7), -- Two axle, six tire single units - axleCnt3 (8), -- Three axle, single units - axleCnt4 (9), -- Four or more axle, single unit - axleCnt4Trailer (10), -- Four or less axle, single trailer - axleCnt5Trailer (11), -- Five or less axle, single trailer - axleCnt6Trailer (12), -- Six or more axle, single trailer - axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer - axleCnt6MultiTrailer (14), -- Six axle, multi-trailer - axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer - ... - } - -Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s - -- The value 8191 indicates that - -- velocity is unavailable - -WaitOnStopline ::= BOOLEAN -- - -- True or False - -- If "true", the vehicles on this specific connecting - -- maneuver have to stop on the stop-line - -- and not to enter the collision area - -ZoneLength ::= INTEGER (0..10000) - -- Unit = 1 meter, 0 = unknown, - -- The value 10000 to be used for Distances >=10000 m - -- (e.g. from known point to another point along a - -- known path, often against traffic flow direction - -- when used for measuring queues) - -END - Property changes on: IS/ISO_TS_19091.asn ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -URL Id \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: IS/ISO_TS_24534_3.asn =================================================================== --- IS/ISO_TS_24534_3.asn (nonexistent) +++ IS/ISO_TS_24534_3.asn (working copy) @@ -0,0 +1,85 @@ +-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-- ISO TS 24534-3:2015 +-- +-- This ASN.1 was generateds: 30.08.2016 +-- +-- This document contains only the data element needed for the encoding of an IVI message +-- as defined in ISO TS 19321(2015) +-- +-- Published version location: +-- http://standards.iso.org/iso/24534/-3/ +-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +-- ISO 24534-3:2015 +-- Version 29.4.2015 + + +ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)} + + +DEFINITIONS AUTOMATIC TAGS ::= BEGIN + +-- Electronic Registration Identification (ERI)- Vehicle Data + +EuVehicleCategoryCode ::= CHOICE { + euVehicleCategoryL EuVehicleCategoryL, -- conforms to EU 2002/24 and UNECE 1999 + euVehicleCategoryM EuVehicleCategoryM, -- conforms to EU 2001/116 and UNECE 1999 + euVehicleCategoryN EuVehicleCategoryN, -- conforms to EU 2001/116 and UNECE 1999 + euVehicleCategoryO EuVehicleCategoryO, -- conforms to EU 2001/116 and UNECE 1999 + euVehilcleCategoryT NULL, -- conforms to UNECE 1999 + euVehilcleCategoryG NULL -- conforms to EU 2001/116 and UNECE 1999 + } + +EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 } + +EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3} + +EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3} + +EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4} + +Iso3833VehicleType ::= INTEGER { + passengerCar (0), -- term No 3.1.1 + saloon (1), -- term No 3.1.1.1 (sedan) + convertibleSaloon (2), -- term No 3.1.1.2 + pullmanSaloon (3), -- term No 3.1.1.3 + stationWagon (4), -- term No 3.1.1.4 + truckStationWagon (5), -- term No 3.1.1.4.1 + coupe (6), -- term No 3.1.1.5 (coupé) + convertible (7), -- term No 3.1.1.6 (open tourer, roadstar, spider) + multipurposePassengerCar (8), -- term No 3.1.1.7 + forwardControlPassengerCar (9), -- term No 3.1.1.8 + specialPassengerCar (10), -- term No 3.1.1.9 + bus (11), -- term No 3.1.2 + minibus (12), -- term No 3.1.2.1 + urbanBus (13), -- term No 3.1.2.2 + interurbanCoach (14), -- term No 3.1.2.3 + longDistanceCoach (15), -- term No 3.1.2.4 + articulatedBus (16), -- term No 3.1.2.5 + trolleyBus (17), -- term No 3.1.2.6 + specialBus (18), -- term No 3.1.2.7 + commercialVehicle (19), -- term No 3.1.3 + specialCommercialVehicle (20), -- term No 3.1.3.1 + specialVehicle (21), -- term No 3.1.4 + trailingTowingVehicle (22), -- term No 3.1.5 (draw-bar tractor) + semiTrailerTowingVehicle (23), -- term No 3.1.6 (fifth wheel tractor) + trailer (24), -- term No 3.2.1 + busTrailer (25), -- term No 3.2.1.1 + generalPurposeTrailer (26), -- term No 3.2.1.2 + caravan (27), -- term No 3.2.1.3 + specialTrailer (28), -- term No 3.2.1.4 + semiTrailer (29), -- term No 3.2.2 + busSemiTrailer (30), -- term No 3.2.2.1 + generalPurposeSemiTrailer (31), -- term No 3.2.2.2 + specialSemiTrailer (32), -- term No 3.2.2.3 + roadTrain (33), -- term No 3.3.1 + passengerRoadTrain (34), -- term No 3.3.2 + articulatedRoadTrain (35), -- term No 3.3.3 + doubleRoadTrain (36), -- term No 3.3.4 + compositeRoadTrain (37), -- term No 3.3.5 + specialRoadTrain (38), -- term No 3.3.6 + moped (39), -- term No 3.4 + motorCycle (40) -- term No 3.5 + } (0..255) + +END Property changes on: IS/ISO_TS_24534_3.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/IVIM_PDU_Descriptions.asn =================================================================== --- IS/IVIM_PDU_Descriptions.asn (nonexistent) +++ IS/IVIM_PDU_Descriptions.asn (working copy) @@ -0,0 +1,26 @@ +--FIXME RGY moved here from file IS_TS_103301.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: IVI-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +IVIM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + + +IVIM ::= SEQUENCE { + header ItsPduHeader, + ivi IviStructure +} + +END Property changes on: IS/IVIM_PDU_Descriptions.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/MAPEM_PDU_Desriptions.asn =================================================================== --- IS/MAPEM_PDU_Desriptions.asn (nonexistent) +++ IS/MAPEM_PDU_Desriptions.asn (working copy) @@ -0,0 +1,28 @@ +--FIXME RGY moved here from file IS_TS_103301.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: MAP-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +MAPEM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +--FIXME RGY ISO's DSRC module is renamed to IS-DSRC +--MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +MapData FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + + +MAPEM ::= SEQUENCE { + header ItsPduHeader, + map MapData +} + +END Property changes on: IS/MAPEM_PDU_Desriptions.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/SPATEM_PDU_Descriptions.asn =================================================================== --- IS/SPATEM_PDU_Descriptions.asn (nonexistent) +++ IS/SPATEM_PDU_Descriptions.asn (working copy) @@ -0,0 +1,134 @@ +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: SPAT-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +SPATEM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) spatem (0) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +--FIXME RGY ISO's DSRC module is renamed to IS-DSRC +--SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +SPAT FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }; + + +SPATEM ::= SEQUENCE { + header ItsPduHeader, + spat SPAT +} + +END + + +/*FIXME RGY moved to its own modul +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: MAP-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +MAPEM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + + +MAPEM ::= SEQUENCE { + header ItsPduHeader, + map MapData +} + +END +*/ + +/*FIXME RGY moved to its own modul +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: IVI-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +IVIM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + + +IVIM ::= SEQUENCE { + header ItsPduHeader, + ivi IviStructure +} + +END +*/ + +/*FIXME RGY moved to its own modul +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: SRM-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +SREM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + +SREM ::= SEQUENCE { + header ItsPduHeader, + srm SignalRequestMessage +} + +END +*/ + +/*FIXME RGY moved to its own modul +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: SSM-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +SSEM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + + +SSEM ::= SEQUENCE { + header ItsPduHeader, + ssm SignalStatusMessage +} + +END +*/ Property changes on: IS/SPATEM_PDU_Descriptions.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/SREM_PDU_Descriptions.asn =================================================================== --- IS/SREM_PDU_Descriptions.asn (nonexistent) +++ IS/SREM_PDU_Descriptions.asn (working copy) @@ -0,0 +1,26 @@ +--FIXME RGY moved here from file IS_TS_103301.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: SRM-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +SREM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +--FIXME RGY module name changed to IS-DSRC as DSRC already used in MAP_SPAT +SignalRequestMessage FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + +SREM ::= SEQUENCE { + header ItsPduHeader, + srm SignalRequestMessage +} + +END Property changes on: IS/SREM_PDU_Descriptions.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: IS/SSEM_PDU_Descriptions.asn =================================================================== --- IS/SSEM_PDU_Descriptions.asn (nonexistent) +++ IS/SSEM_PDU_Descriptions.asn (working copy) @@ -0,0 +1,27 @@ +--FIXME RGY moved here from file IS_TS_103301.asn + +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +-- +-- module: SSM-MESSAGE-PDU-Descriptions +-- +-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- +SSEM-PDU-Descriptions { + itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version1 (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS +--FIXME RGY module name changed to IS-DSRC as DSRC already used in MAP_SPAT +SignalStatusMessage FROM IS-DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } +ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)}; + + +SSEM ::= SEQUENCE { + header ItsPduHeader, + ssm SignalStatusMessage +} + +END Property changes on: IS/SSEM_PDU_Descriptions.asn ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +URL Id \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: ITS-Container/ITS_Container.asn =================================================================== --- ITS-Container/ITS_Container.asn (nonexistent) +++ ITS-Container/ITS_Container.asn (working copy) @@ -0,0 +1,498 @@ +ITS-Container { +itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) +} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +ItsPduHeader ::= SEQUENCE { + protocolVersion INTEGER{currentVersion(1)} (0..255), + messageID INTEGER{ denm(1), cam(2), poi(3), spatem(4), mapem(5), ivim(6), ev-rsr(7), tistpgtransaction(8), srem(9), ssem(10), evcsn(11) } (0..255), -- Mantis #7209, #7005 + stationID StationID +} + +StationID ::= INTEGER(0..4294967295) + +ReferencePosition ::= SEQUENCE { + latitude Latitude, + longitude Longitude, + positionConfidenceEllipse PosConfidenceEllipse , + altitude Altitude +} + +DeltaReferencePosition ::= SEQUENCE { + deltaLatitude DeltaLatitude, + deltaLongitude DeltaLongitude, + deltaAltitude DeltaAltitude +} + +Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001) + +Latitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001)} (-900000000..900000001) + +Altitude ::= SEQUENCE { + altitudeValue AltitudeValue, + altitudeConfidence AltitudeConfidence +} + +AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001) + +AltitudeConfidence ::= ENUMERATED { + alt-000-01 (0), + alt-000-02 (1), + alt-000-05 (2), + alt-000-10 (3), + alt-000-20 (4), + alt-000-50 (5), + alt-001-00 (6), + alt-002-00 (7), + alt-005-00 (8), + alt-010-00 (9), + alt-020-00 (10), + alt-050-00 (11), + alt-100-00 (12), + alt-200-00 (13), + outOfRange (14), + unavailable (15) +} + +DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072) + +DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072) + +DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800) + +PosConfidenceEllipse ::= SEQUENCE { + semiMajorConfidence SemiAxisLength, + semiMinorConfidence SemiAxisLength, + semiMajorOrientation HeadingValue +} + +PathPoint ::= SEQUENCE { + pathPosition DeltaReferencePosition, + pathDeltaTime PathDeltaTime OPTIONAL +} + +PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...) + +PtActivation ::= SEQUENCE { + ptActivationType PtActivationType, + ptActivationData PtActivationData +} + +PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255) + +PtActivationData ::= OCTET STRING (SIZE(1..20)) + +AccelerationControl ::= BIT STRING { + brakePedalEngaged (0), + gasPedalEngaged (1), + emergencyBrakeEngaged (2), + collisionWarningEngaged (3), + accEngaged (4), + cruiseControlEngaged (5), + speedLimiterEngaged (6) +} (SIZE(7)) + + +SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095) + +CauseCode ::= SEQUENCE { + causeCode CauseCodeType, + subCauseCode SubCauseCodeType +} + +CauseCodeType ::= INTEGER { + reserved (0), + trafficCondition (1), + accident (2), + roadworks (3), + adverseWeatherCondition-Adhesion (6), + hazardousLocation-SurfaceCondition (9), + hazardousLocation-ObstacleOnTheRoad (10), + hazardousLocation-AnimalOnTheRoad (11), + humanPresenceOnTheRoad (12), + wrongWayDriving (14), + rescueAndRecoveryWorkInProgress (15), + adverseWeatherCondition-ExtremeWeatherCondition (17), + adverseWeatherCondition-Visibility (18), + adverseWeatherCondition-Precipitation (19), + slowVehicle (26), + dangerousEndOfQueue (27), + vehicleBreakdown (91), + postCrash (92), + humanProblem (93), + stationaryVehicle (94), + emergencyVehicleApproaching (95), + hazardousLocation-DangerousCurve (96), + collisionRisk (97), + signalViolation (98), + dangerousSituation (99) +} (0..255) + +SubCauseCodeType ::= INTEGER (0..255) + +TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255) + +AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255) + +RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255) + +HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255) + +WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255) + +AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255) + +AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255) + +AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255) + +AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255) + +SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255) + +StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255) + +HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255) + +EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255) + +HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255) + +HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255) + +HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255) + +HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255) + + CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255) + + SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255) + +RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255) + +DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255) + +DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255) + +VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8)} (0..255) + +PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255) + +Curvature ::= SEQUENCE { + curvatureValue CurvatureValue, + curvatureConfidence CurvatureConfidence +} + +CurvatureValue ::= INTEGER {straight(0), reciprocalOf1MeterRadiusToRight(-30000), reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001)} (-30000..30001) + +CurvatureConfidence ::= ENUMERATED { + onePerMeter-0-00002 (0), + onePerMeter-0-0001 (1), + onePerMeter-0-0005 (2), + onePerMeter-0-002 (3), + onePerMeter-0-01 (4), + onePerMeter-0-1 (5), + outOfRange (6), + unavailable (7) +} + +CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...} + +Heading ::= SEQUENCE { + headingValue HeadingValue, + headingConfidence HeadingConfidence +} + +HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601) + +HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127) + +LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0), +outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14) + +ClosedLanes ::= SEQUENCE { + hardShoulderStatus HardShoulderStatus OPTIONAL, + drivingLaneStatus DrivingLaneStatus, + ... +} + +HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)} + +DrivingLaneStatus ::= BIT STRING (SIZE (1..14)) + + +PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7) + +SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383) + +SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127) + +VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) + +Speed ::= SEQUENCE { + speedValue SpeedValue, + speedConfidence SpeedConfidence +} + +DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)} + +EmbarkationStatus ::= BOOLEAN + +LongitudinalAcceleration ::= SEQUENCE { + longitudinalAccelerationValue LongitudinalAccelerationValue, + longitudinalAccelerationConfidence AccelerationConfidence +} + +LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161) + +AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102) + +LateralAcceleration ::= SEQUENCE { + lateralAccelerationValue LateralAccelerationValue, + lateralAccelerationConfidence AccelerationConfidence +} + +LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161) + +VerticalAcceleration ::= SEQUENCE { + verticalAccelerationValue VerticalAccelerationValue, + verticalAccelerationConfidence AccelerationConfidence +} + +VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161) + +StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), +lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255) + +ExteriorLights ::= BIT STRING { + lowBeamHeadlightsOn (0), + highBeamHeadlightsOn (1), + leftTurnSignalOn (2), + rightTurnSignalOn (3), + daytimeRunningLightsOn (4), + reverseLightOn (5), + fogLightOn (6), + parkingLightsOn (7) +} (SIZE(8)) + +DangerousGoodsBasic::= ENUMERATED { + explosives1(0), + explosives2(1), + explosives3(2), + explosives4(3), + explosives5(4), + explosives6(5), + flammableGases(6), + nonFlammableGases(7), + toxicGases(8), + flammableLiquids(9), + flammableSolids(10), + substancesLiableToSpontaneousCombustion(11), + substancesEmittingFlammableGasesUponContactWithWater(12), + oxidizingSubstances(13), + organicPeroxides(14), + toxicSubstances(15), + infectiousSubstances(16), + radioactiveMaterial(17), + corrosiveSubstances(18), + miscellaneousDangerousSubstances(19) +} + +DangerousGoodsExtended ::= SEQUENCE { + dangerousGoodsType DangerousGoodsBasic, + unNumber INTEGER (0..9999), + elevatedTemperature BOOLEAN, + tunnelsRestricted BOOLEAN, + limitedQuantity BOOLEAN, + emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL, + phoneNumber IA5String (SIZE (1..24)) OPTIONAL, + companyName UTF8String (SIZE (1..24)) OPTIONAL +} + +SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4)) + +LightBarSirenInUse ::= BIT STRING { + lightBarActivated (0), + sirenActivated (1) +} (SIZE(2)) + +HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100) + +PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127) + +PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30) + +PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63) + +RequestResponseIndication ::= ENUMERATED {request(0), response(1)} + +SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255) + +StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)} + +Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67) + +TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ... +} + +WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127) + +TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255) + +PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20) + +PositionOfOccupants ::= BIT STRING { + row1LeftOccupied (0), + row1RightOccupied (1), + row1MidOccupied (2), + row1NotDetectable (3), + row1NotPresent (4), + row2LeftOccupied (5), + row2RightOccupied (6), + row2MidOccupied (7), + row2NotDetectable (8), + row2NotPresent (9), + row3LeftOccupied (10), + row3RightOccupied (11), + row3MidOccupied (12), + row3NotDetectable (13), + row3NotPresent (14), + row4LeftOccupied (15), + row4RightOccupied (16), + row4MidOccupied (17), + row4NotDetectable (18), + row4NotPresent (19)} (SIZE(20)) + +PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...} + +VehicleIdentification ::= SEQUENCE { + wMInumber WMInumber OPTIONAL, + vDS VDS OPTIONAL, + ... +} + +WMInumber ::= IA5String (SIZE(1..3)) + +VDS ::= IA5String (SIZE(6)) + +EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7)) + +VehicleLength ::= SEQUENCE { + vehicleLengthValue VehicleLengthValue, + vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication +} + +VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)} (1..1023) + +VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)} + +VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62) + +PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint + +EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2)) + +InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7) + +RoadType ::= ENUMERATED { + urban-NoStructuralSeparationToOppositeLanes(0), + urban-WithStructuralSeparationToOppositeLanes(1), + nonUrban-NoStructuralSeparationToOppositeLanes(2), + nonUrban-WithStructuralSeparationToOppositeLanes(3)} + +SteeringWheelAngle ::= SEQUENCE { + steeringWheelAngleValue SteeringWheelAngleValue, + steeringWheelAngleConfidence SteeringWheelAngleConfidence +} + +SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512) + +SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127) + +TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103) + +VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8),commercial(9),military(10),roadOperator(11),taxi(12), reserved1(13), reserved2(14), reserved3(15)} + +YawRate::= SEQUENCE { + yawRateValue YawRateValue, + yawRateConfidence YawRateConfidence +} + +YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767) + +YawRateConfidence ::= ENUMERATED { + degSec-000-01 (0), + degSec-000-05 (1), + degSec-000-10 (2), + degSec-001-00 (3), + degSec-005-00 (4), + degSec-010-00 (5), + degSec-100-00 (6), + outOfRange (7), + unavailable (8) +} + +ProtectedZoneType::= ENUMERATED { cenDsrcTolling (0), ... } + +RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)} + +RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)} + +TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000) + +ValidityDuration ::= INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400) + +ActionID ::= SEQUENCE { + originatingStationID StationID, + sequenceNumber SequenceNumber +} + +ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition + +ProtectedCommunicationZone ::= SEQUENCE { + protectedZoneType ProtectedZoneType, + expiryTime TimestampIts OPTIONAL, + protectedZoneLatitude Latitude, + protectedZoneLongitude Longitude, + protectedZoneRadius ProtectedZoneRadius OPTIONAL, + protectedZoneID ProtectedZoneID OPTIONAL +} + +Traces ::= SEQUENCE SIZE(1..7) OF PathHistory + +NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127) + +SequenceNumber ::= INTEGER (0..65535) + +PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar + +RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType + +EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint + +EventPoint ::= SEQUENCE { + eventPosition DeltaReferencePosition, + eventDeltaTime PathDeltaTime OPTIONAL, + informationQuality InformationQuality +} + +ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone + + + +CenDsrcTollingZone ::= SEQUENCE { + protectedZoneLatitude Latitude, + protectedZoneLongitude Longitude, + cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL +} + +ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...) + +ProtectedZoneID ::= INTEGER (0.. 134217727) + +CenDsrcTollingZoneID ::= ProtectedZoneID + +END