Commit f4e05738 authored by mullers's avatar mullers
Browse files

Branches of CAM, DENM and CDD merged from revisions 461 - 635

parent 1328993c
-- This ASN.1 specification has been checked for conformance with the ASN.1 standard by the OSS ASN.1 Tools
CAM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cam (2) version1 (1)
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (1)
}
DEFINITIONS AUTOMATIC TAGS ::=
......@@ -9,45 +7,127 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ItsPduHeader, VehicleCommonParameters, ProfileParameters, StationID, TimeStamp, ReferencePosition
FROM DENM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) denm (3) version2 (2) };
ItsPduHeader, CauseCode, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, PtActivation, LaneNumber, EmergencyPriority, EmbarkationStatus, Speed, DriveDirection, LongitudinalAcceleration, LateralAcceleration, VerticalAcceleration, StationType, ExteriorLights, DangerousGoodsBasic, PerformanceClass, SpecialTransportType, LightBarSirenInUse, VehicleRole, VehicleLength, VehicleWidth, PathHistory, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, YawRate FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)
};
-- The root data frame for cooperative awareness messages
CamPdu ::= SEQUENCE {
CAM ::= SEQUENCE {
header ItsPduHeader,
cam CoopAwareness
}
CoopAwareness ::= SEQUENCE {
CoopAwareness ::= SEQUENCE {
generationDeltaTime GenerationDeltaTime,
camParameters CamParameters
}
stationID StationID,
CamParameters ::= SEQUENCE {
basicContainer BasicContainer,
highFrequencyContainer HighFrequencyContainer,
lowFrequencyContainer LowFrequencyContainer OPTIONAL,
specialVehicleContainer SpecialVehicleContainer OPTIONAL,
...
}
-- Basic characterization of an ITS station. A more detailed classification can be given by VehicleType.
stationCharacteristics SEQUENCE {
mobileItsStation BOOLEAN, -- will ITS station change position?
privateItsStation BOOLEAN, -- not public authority
physicalRelevantItsStation BOOLEAN, -- can another mobile ITS station crash into this station?
...
},
referencePosition ReferencePosition,
camParameters CamParameters OPTIONAL, -- presently omitted for Irs
...
}
HighFrequencyContainer ::= CHOICE {
basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
emptyRSUContainerHighFrequency EmptyRSUContainerHighFrequency,
... -- further type specific RSU containers might be added as extensions
}
LowFrequencyContainer ::= CHOICE {
basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency,
... -- further type specific RSU containers might be added as extensions
}
SpecialVehicleContainer ::= CHOICE {
publicTransportContainer PublicTransportContainer,
specialTransportContainer SpecialTransportContainer,
dangerousGoodsContainer DangerousGoodsContainer,
roadWorksContainerBasic RoadWorksContainerBasic,
rescueContainer RescueContainer,
emergencyContainer EmergencyContainer,
safetyCarContainer SafetyCarContainer,
...
}
CamParameters ::= SEQUENCE {
vehicleCommonParameters VehicleCommonParameters,
profileDependent ProfileParameters OPTIONAL,
...
}
BasicContainer ::= SEQUENCE {
stationType StationType,
referencePosition ReferencePosition,
...
}
BasicVehicleContainerHighFrequency ::= SEQUENCE {
heading Heading,
speed Speed,
driveDirection DriveDirection,
vehicleLength VehicleLength,
vehicleWidth VehicleWidth,
longitudinalAcceleration LongitudinalAcceleration,
curvature Curvature,
curvatureCalculationMode CurvatureCalculationMode,
yawRate YawRate,
accelerationControl AccelerationControl OPTIONAL,
laneNumber LaneNumber OPTIONAL,
steeringWheelAngle SteeringWheelAngle OPTIONAL,
lateralAcceleration LateralAcceleration OPTIONAL,
verticalAcceleration VerticalAcceleration OPTIONAL,
performanceClass PerformanceClass OPTIONAL
}
BasicVehicleContainerLowFrequency ::= SEQUENCE {
vehicleRole VehicleRole,
exteriorLights ExteriorLights,
pathHistory PathHistory
}
PublicTransportContainer ::= SEQUENCE {
embarkationStatus EmbarkationStatus,
ptActivation PtActivation OPTIONAL
}
SpecialTransportContainer ::= SEQUENCE {
specialTransportType SpecialTransportType,
lightBarSirenInUse LightBarSirenInUse
}
DangerousGoodsContainer ::= SEQUENCE {
dangerousGoodsBasic DangerousGoodsBasic
}
RoadWorksContainerBasic ::= SEQUENCE {
roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL,
lightBarSirenInUse LightBarSirenInUse,
closedLanes ClosedLanes OPTIONAL
}
RescueContainer ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse,
emergencyPriority EmergencyPriority OPTIONAL
}
EmergencyContainer ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse,
incidentIndication CauseCode OPTIONAL,
emergencyPriority EmergencyPriority OPTIONAL
}
SafetyCarContainer ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse,
incidentIndication CauseCode OPTIONAL,
trafficRule TrafficRule OPTIONAL,
speedLimit SpeedLimit OPTIONAL
}
EmptyRSUContainerHighFrequency ::= NULL
GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)
END
......@@ -7,8 +7,8 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ItsPduHeader, CauseCode, StationID, Movement, InformationQuality, ReferencePosition, DangerousGoodsExtended, Direction, LaneNumber, LightBarSirenInUse, PathHistory, RoadClass, HeightLonCarr, PosLonCarr, PosPillar, PosCentMass, PositioningSolutionType, RequestResponseIndication, StationType, SpeedLimit, StationarySince, TimestampIts, WheelBaseVehicle, TurningRadius, PosFrontAx, PositionOfOccupants, Temperature, VehicleMass, VehicleIdentification, EnergyStorageType FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cc (0) version (1)
ItsPduHeader, CauseCode, StationID, Speed, InformationQuality, ReferencePosition, ClosedLanes, DangerousGoodsExtended, Heading, LaneNumber, LightBarSirenInUse, PathHistory, RoadClass, HeightLonCarr, PosLonCarr, PosPillar, PosCentMass, PositioningSolutionType, RequestResponseIndication, StationType, SpeedLimit, StationarySince, TimestampIts, WheelBaseVehicle, TurningRadius, PosFrontAx, PositionOfOccupants, Temperature, VehicleMass, VehicleIdentification, EnergyStorageType FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)
};
......@@ -46,8 +46,8 @@ SituationContainer ::= SEQUENCE {
}
LocationContainer ::= SEQUENCE {
eventSpeed Movement OPTIONAL,
eventPositionHeading Direction OPTIONAL,
eventSpeed Speed OPTIONAL,
eventPositionHeading Heading OPTIONAL,
traces Traces,
roadClass RoadClass OPTIONAL
}
......@@ -78,15 +78,6 @@ PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar
recommendedPath ItineraryPath OPTIONAL --Traces without timestamps
}
ClosedLanes ::= SEQUENCE {
hardShoulderStatus HardShoulderStatus OPTIONAL,
drivingLaneStatus DrivingLaneStatus,
...
}
HardShoulderStatus ::= ENUMERATED { availableForStopping(0), closed(1), availableForDriving(2) }
DrivingLaneStatus ::= BIT STRING { outermostLaneClosed(0), secondLaneFromOutsideClosed(1) } (SIZE (1..14))
RestrictedTypes ::= SEQUENCE OF StationType
......
ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cc (2) version (1)
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)
}
DEFINITIONS AUTOMATIC TAGS ::=
......@@ -27,51 +27,60 @@ DeltaReferencePosition ::= SEQUENCE {
deltaElevation DeltaElevation
}
Longitude ::= INTEGER { oneMicrodegreeEast (10), oneMicrodegreeWest (-10) } (-1799999999..1800000000) -- multiples of 0.1 microdegree
Longitude ::= INTEGER { oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001) } (-1799999999..1800000001) -- multiples of 0.1 microdegree
Latitude ::= INTEGER { oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) } (-900000000..900000000) -- multiples of 0.1 microdegree
Latitude ::= INTEGER { oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10), unavailable(900000001) } (-900000000..900000001) -- multiples of 0.1 microdegree
Elevation ::= SEQUENCE {
elevationValue ElevationValue,
elevationConfidence ElevationConfidence
}
ElevationValue ::= INTEGER { seaLevel(0),oneMeter (1) } (-1000..7191)
ElevationValue ::= INTEGER { seaLevel(0), oneMeter(1), unavailable(7191) } (-1000..7191)
ElevationConfidence ::= INTEGER { withinOneMeter(1), unavailable(127) } (1..127)
ElevationConfidence ::= INTEGER { withinOneMeter(1), outOfRange(126), unavailable(127) } (1..127)
DeltaLongitude ::= INTEGER { oneMicrodegreeEast (10), oneMicrodegreeWest (-10) } (-131072..131071) -- multiples of 0.1 microdegree
DeltaLatitude ::= INTEGER { oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) } (-131072..131071) -- multiples of 0.1 microdegree
DeltaElevation ::= INTEGER { oneMeterUp (1), oneMeterDown (-1) } (-127..128)
DeltaElevation ::= INTEGER { oneMeterUp (1), oneMeterDown (-1), unavailable(128) } (-127..128)
PosConfidenceEllipse ::= SEQUENCE {
semiMajorConfidence SemiAxisLength, -- confidence of the ellipse's major semi-axes
semiMinorConfidence SemiAxisLength, -- confidence of the ellipse's minor semi-axes
semiMajorOrientation Direction
semiMajorOrientation Heading
}
PathPoint ::= SEQUENCE {
pathPosition DeltaReferencePosition,
pathDeltaTime PathDeltaTime
pathDeltaTime PathDeltaTime OPTIONAL
}
PathDeltaTime ::= INTEGER { tenMilliSecondsInPast(1) } (0..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 {
brakePedalActive (0),
gasPedalActive (1),
emergencyBrakeActive (2),
collisionWarningActive (3),
accActive (4),
cruiseControl (5),
accActive (4),
cruiseControl (5),
speedLimiterActive (6)
} (SIZE(7))
SemiAxisLength ::= INTEGER{ oneCentimeter(1), unavailable(4095) } (0..4095)
SemiAxisLength ::= INTEGER{ oneCentimeter(1), outOfRange(4094), unavailable(4095) } (0..4095)
CauseCode ::= SEQUENCE {
causeCode CauseCodeType,
......@@ -162,53 +171,83 @@ Curvature ::= SEQUENCE {
curvatureConfidence CurvatureConfidence
}
CurvatureValue ::= INTEGER{ straight(0), reciprocalOf1MeterRadiusToRight(1), reciprocalOf1MeterRadiusToLeft(-1) } (-30000..30000)
CurvatureConfidence ::= INTEGER { lessThanOnePercentDeviation(0), onePercentDeviation(1), tenPercentDeviation(10), overTenPercentDeviation(11), notAvailable(12) } (0..12)
CurvatureValue ::= INTEGER { straight(0), reciprocalOf1MeterRadiusToRight(-30000), reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001) } (-30000..30001)
CurvatureConfidence ::= ENUMERATED {
onePerMeter-0-00002 (0), -- within 0.00002 m^-1
onePerMeter-0-0001 (1), -- within 0.0001 m^-1
onePerMeter-0-0005 (2), -- within 0.0005 m^-1
onePerMeter-0-002 (3), -- within 0.002 m^-1
onePerMeter-0-01 (4), -- within 0.01 m^-1
onePerMeter-0-1 (5), -- within 0.1 m^-1
outOfRange (6),
unavailable (7)
}
CurvatureCalculationMode ::= ENUMERATED { yawRateNotUsed(0), yawRateUsed(1), ... }
CurvatureCalculationMode ::= ENUMERATED { yawRateUsed(0), yawRateNotUsed(1), transitionMode(2), ... }
Direction ::= SEQUENCE {
directionValue DirectionValue,
directionConfidence DirectionConfidence
Heading ::= SEQUENCE {
headingValue HeadingValue,
headingConfidence HeadingConfidence
}
DirectionValue ::= INTEGER {north(0), east(900), south(1800), west(2700), unavailable(3600) } (0..3600)
HeadingValue ::= INTEGER { wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3600) } (0..3600)
DirectionConfidence ::= INTEGER { withinZeroPointOneDegree(1), withinOneDegree(10), unavailable(127) } (1..127)
HeadingConfidence ::= INTEGER { withinZeroPointOneDegree(1), withinOneDegree(10), outOfRange(126), unavailable(127) } (1..127)
LaneNumber ::= INTEGER { offTheRoad(-1), hardShoulder(0),
outermostDrivingLane(1), secondLaneFromOutside(2) } (-1..14)
LaneClosure ::= BIT STRING { hardShoulderClosed(0), outermostLaneClosed(1), secondLaneFromOutsideClosed(2) } (SIZE (2..14))
ClosedLanes ::= SEQUENCE {
hardShoulderStatus HardShoulderStatus OPTIONAL,
drivingLaneStatus DrivingLaneStatus,
...
}
HardShoulderStatus ::= ENUMERATED { availableForStopping(0), closed(1), availableForDriving(2) }
DrivingLaneStatus ::= BIT STRING { outermostLaneClosed(1), secondLaneFromOutsideClosed(2) } (SIZE (1..14)) -- numbering matches LaneNumber numbering
PerformanceClass ::= INTEGER { unavailable(0), performanceClassA(1), performanceClassB(2) } (0..7) -- values in range 3-7 are reserved for later definition
VehicleSpeed ::= INTEGER { standstill(0), oneCentimeterPerSec(1) } (0..16383)
SpeedValue ::= INTEGER { standstill(0), oneCentimeterPerSec(1), unavailable(16383) } (0..16383)
VehicleSpeedConfidence ::= INTEGER { withinOneCentimeterPerSec(1), withinOneMeterPerSec(100), outOfRange(126), unavailable(127) } (1..127)
SpeedConfidence ::= INTEGER { withinOneCentimeterPerSec(1), withinOneMeterPerSec(100), outOfRange(126), unavailable(127) } (1..127)
VehicleMass ::= INTEGER { hundredKg(1), unavailable(1024) } (1..1024)
Movement ::= SEQUENCE {
vehicleSpeed VehicleSpeed,
vehicleSpeedConfidence VehicleSpeedConfidence
Speed ::= SEQUENCE {
speedValue SpeedValue,
speedConfidence SpeedConfidence
}
DriveDirection ::= ENUMERATED { forward (0), backward (1) }
DriveDirection ::= ENUMERATED { forward (0), backward (1), unavailable (2) }
EmbarkationStatus ::= BOOLEAN
LongitudinalAcceleration ::= SEQUENCE {
longitudinalAccelerationValue LongitudinalAccelerationValue,
longitudinalAccelerationConfidence LongitudinalAccelerationConfidence
longitudinalAccelerationConfidence AccelerationConfidence
}
LongitudinalAccelerationValue ::= INTEGER { pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1)} (-160 .. 160)
LongitudinalAccelerationValue ::= INTEGER { pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161)
LongitudinalAccelerationConfidence ::= INTEGER { pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102)
AccelerationConfidence ::= INTEGER { pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102)
LateralAcceleration ::= INTEGER { pointOneMeterPerSecSquaredToRight(1), pointOneMeterPerSecSquaredToLeft(-1)} (-160 .. 160)
LateralAcceleration ::= SEQUENCE {
lateralAccelerationValue LateralAccelerationValue,
lateralAccelerationConfidence AccelerationConfidence
}
LateralAccelerationValue ::= INTEGER { pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161) } (-160 .. 161)
VerticalAcceleration ::= INTEGER { eightCentimeterPerSecSquaredUp(1), eightCentimeterPerSecSquaredDown(-1)} (-127 .. 127)
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)
......@@ -267,13 +306,13 @@ LightBarSirenInUse ::= BIT STRING {
sirenActivated (1)
} (SIZE(2))
HeightLonCarr ::= INTEGER { oneCentimeter(1), unknown(100) } (0..100)
HeightLonCarr ::= INTEGER { oneCentimeter(1), unavailable(100) } (0..100)
PosLonCarr ::= INTEGER { oneCentimeter(1), unknown(127) } (0..127)
PosLonCarr ::= INTEGER { oneCentimeter(1), unavailable(127) } (0..127)
PosPillar ::= INTEGER { tenCentimeters(1), unknown(30) } (0..30)
PosPillar ::= INTEGER { tenCentimeters(1), unavailable(30) } (0..30)
PosCentMass ::= INTEGER { tenCentimeters(1), unknown(63) } (0..63)
PosCentMass ::= INTEGER { tenCentimeters(1), unavailable(63) } (0..63)
RequestResponseIndication ::= ENUMERATED { request(0), response(1) }
......@@ -284,33 +323,36 @@ StationarySince ::= ENUMERATED { lessThan1Minute(0), lessThan2Minutes(1), lessTh
Temperature ::= INTEGER { oneDegreeCelsius(1) } (-60..67)
TrafficRule ::= ENUMERATED { noPassing(0),
noPassingForTrucks(1)
noPassingForTrucks(1), ...
}
WheelBaseVehicle ::= INTEGER { tenCentimeters(1), unknown(127) } (0..127)
WheelBaseVehicle ::= INTEGER { tenCentimeters(1), unavailable(127) } (0..127)
TurningRadius ::= INTEGER { point4Meters(1), unknown(255) } (0..255)
TurningRadius ::= INTEGER { point4Meters(1), unavailable(255) } (0..255)
PosFrontAx ::= INTEGER { tenCentimeters(1), unknown(20) } (0..20)
PosFrontAx ::= INTEGER { tenCentimeters(1), unavailable(20) } (0..20)
PositionOfOccupants ::= BIT STRING {
row1LeftOccupied (0),
row1RightOccupied (1),
row1MidOccupied (2),
row1NotDetectable (3),
row2LeftOccupied (4),
row2RightOccupied (5),
row2MidOccupied (6),
row2NotDetectable (7),
row3LeftOccupied (8),
row3RightOccupied (9),
row3MidOccupied (10),
row3NotDetectable (11),
row4LeftOccupied (12),
row4RightOccupied (13),
row4MidOccupied (14),
row4NotDetectable (15)
} (SIZE(16))
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), ... }
......@@ -329,25 +371,21 @@ VehicleLength ::= SEQUENCE {
vehicleLengthValue VehicleLengthValue,
vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication
}
WMInumber ::= IA5String (SIZE(1..3))
VehicleLengthValue ::= INTEGER { tenCentimeters(1), outOfRange(1022), unknown(1023) } (1..1023)
VehicleLengthValue ::= INTEGER { tenCentimeters(1), outOfRange(1022), unavailable(1023) } (1..1023)
VehicleLengthConfidenceIndication ::= ENUMERATED { noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2),
trailerPresenceIsUnknown(3) }
VehicleWidth ::= INTEGER { tenCentimeters(1), outOfRange(61), unknown(62) } (1..62)
PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint
VehicleWidth ::= INTEGER { tenCentimeters(1), outOfRange(61), unavailable(62) } (1..62)
PtPriority ::= INTEGER { lowest(0), highest(3) } (0..3)
PathHistory::= SEQUENCE (SIZE(0..23)) OF PathPoint
EmergencyPriority ::= INTEGER { requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1) } (0..1)
PtLineNumber ::= UTF8String (SIZE(1..5))
PtScheduleDelay ::= INTEGER { oneSecondAheadOfSchedule(-1), noDelay(0), oneSecondDelay(1) } (-300..3795)
InformationQuality ::= INTEGER { unknown(0), lowest(1), highest(7) } (0..7)
InformationQuality ::= INTEGER { unavailable(0), lowest(1), highest(7) } (0..7)
RoadClass ::= ENUMERATED {
urban-NoStructuralSeparationToOppositeLanes(0),
......@@ -355,11 +393,38 @@ RoadClass ::= ENUMERATED {
nonUrban-NoStructuralSeparationToOppositeLanes(2),
nonUrban-WithStructuralSeparationToOppositeLanes(3) }
SteeringWheelAngle ::= INTEGER { straight(0), onePointFiveDegreesToRight(1), onePointFiveDegreesToLeft(-1), outOfRangeToRight(126), outOfRangeToLeft(-126) } (-126..126)
SteeringWheelAngle::= SEQUENCE {
steeringWheelAngleValue SteeringWheelAngleValue,
steeringWheelConfidence SteeringWheelConfidence
}
SteeringWheelAngleValue ::= INTEGER { straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(511) } (-511..511)
SteeringWheelConfidence ::= INTEGER { withinOnePointFiveDegrees(1), outOfRange(126), unavailable(127) } (1..127)
TimestampIts ::= INTEGER { utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1) } (0..3153600000000)
VehicleRole ::= ENUMERATED { default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7) }
YawRate::= SEQUENCE {
yawRateValue YawRateValue,
yawRateConfidence YawRateConfidence
}
YawRateValue ::= INTEGER { straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767) } (-32767..32767)
-- LSB units of 0.01 degrees per second
YawRateConfidence ::= ENUMERATED {
unavailable (0),
degSec-100-00 (1), -- within 100 deg/sec
degSec-010-00 (2), -- within 10 deg/sec
degSec-005-00 (3), -- within 5 deg/sec
degSec-001-00 (4), -- within 1 deg/sec
degSec-000-10 (5), -- within 0.1 deg/sec
degSec-000-05 (6), -- within 0.05 deg/sec
degSec-000-01 (7), -- within 0.01 deg/sec
outOfRange (8)
}
END
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment