chemikadze / asn1go Goto Github PK
View Code? Open in Web Editor NEWASN.1 schema parsing and code generation
License: Apache License 2.0
ASN.1 schema parsing and code generation
License: Apache License 2.0
This is very interesting work, thanks for starting the project. Please add a LICENSE file so we know whether/how we can contribute.
Thank you!
MecDO DEFINITIONS AUTOMATIC TAGS ::= BEGIN
BasicSafetyMessage ::= SEQUENCE {
msgCnt MsgCount,
id OCTET STRING (SIZE(8)),
plateNo OCTET STRING (SIZE(4..16)) OPTIONAL,
secMark DSecond,
timeConfidence TimeConfidence OPTIONAL,
pos Position3D,
posAccuracy PositionalAccuracy OPTIONAL,
posConfidence PositionConfidenceSet OPTIONAL,
transmission TransmissionState,
speed Speed,
heading Heading,
angle SteeringWheelAngle OPTIONAL,
motionCfd MotionConfidenceSet OPTIONAL,
accelSet AccelerationSet4Way,
brakes BrakeSystemStatus,
size VehicleSize,
vehicleClass VehicleClassification,
safetyExt VehicleSafetyExtensions OPTIONAL,
emergencyExt VehicleEmergencyExtensions OPTIONAL,
...
}
MapData ::= SEQUENCE {
msgCnt MsgCount,
timeStamp MinuteOfTheYear OPTIONAL,
nodes NodeList,
...
}
RoadSideInformation ::= SEQUENCE {
msgCnt MsgCount,
moy MinuteOfTheYear OPTIONAL,
id OCTET STRING (SIZE(8)),
refPos Position3D,
rtes RTEList OPTIONAL,
rtss RTSList OPTIONAL,
...
}
RoadsideSafetyMessage ::= SEQUENCE {
msgCnt MsgCount,
id OCTET STRING (SIZE(8)),
refPos Position3D,
participants ParticipantList,
...
}
SPAT ::= SEQUENCE {
msgCnt MsgCount,
moy MinuteOfTheYear OPTIONAL,
timeStamp DSecond OPTIONAL,
name DescriptiveName OPTIONAL,
intersections IntersectionStateList,
...
}
AccelerationSet4Way ::= SEQUENCE {
long Acceleration,
lat Acceleration,
vert VerticalAcceleration,
yaw YawRate
}
BrakeSystemStatus ::= SEQUENCE {
brakePadel BrakePedalStatus OPTIONAL,
wheelBrakes BrakeAppliedStatus OPTIONAL,
traction TractionControlStatus OPTIONAL,
abs AntiLockBrakeStatus OPTIONAL,
scs StabilityControlStatus OPTIONAL,
brakeBoost BrakeBoostApplied OPTIONAL,
auxBrakes AuxiliaryBrakeStatus OPTIONAL
}
ConnectingLane ::= SEQUENCE {
lane LaneID,
maneuver AllowedManeuvers OPTIONAL
}
Connection::= SEQUENCE {
remoteIntersection NodeReferenceID,
connectingLane ConnectingLane OPTIONAL,
phaseId PhaseID OPTIONAL
}
ConnectsToList ::= SEQUENCE (SIZE(1..8)) OF Connection
DDateTime ::= SEQUENCE {
year DYear OPTIONAL,
month DMonth OPTIONAL,
day DDay OPTIONAL,
hour DHour OPTIONAL,
minute DMinute OPTIONAL,
second DSecond OPTIONAL,
}
Description ::= CHOICE{
textString IA5String (SIZE(1..512)),
textGB2312 OCTET STRING (SIZE(2..512))
}
FullPositionVector ::= SEQUENCE {
pos Position3D,
heading Heading OPTIONAL,
transmission TransmissionState OPTIONAL,
speed Speed OPTIONAL,
posAccuracy PositionConfidenceSet OPTIONAL,
timeConfidence TimeConfidence OPTIONAL,
motionCfd MotionConfidenceSet OPTIONAL,
...
}
IntersectionState ::= SEQUENCE {
intersectionId NodeReferenceID,
status IntersectionStatusObject,
moy MinuteOfTheYear OPTIONAL,
timeStamp DSecond OPTIONAL,
timeConfidence TimeConfidence OPTIONAL,
phases PhaseList
}
IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState
Lane ::= SEQUENCE {
laneID LaneID,
laneWidth LaneWidth OPTIONAL,
laneAttributes LaneAttributes OPTIONAL,
maneuvers AllowedManeuvers OPTIONAL,
connectsTo ConnectsToList OPTIONAL,
speedLimits SpeedLimitList OPTIONAL,
points PointList OPTIONAL,
...
}
LaneAttributes ::= SEQUENCE {
shareWith LaneSharing OPTIONAL,
laneType LaneTypeAttributes
}
LaneList ::= SEQUENCE (SIZE(1..32)) OF Lane
LaneTypeAttributes ::= CHOICE {
...
}
Link ::= SEQUENCE {
name DescriptiveName OPTIONAL,
upstreamNodeId NodeReferenceID,
speedLimits SpeedLimitList OPTIONAL,
linkWidth LaneWidth,
points PointList OPTIONAL,
movements MovementList OPTIONAL,
lanes LaneList,
...
}
LinkList ::= SEQUENCE (SIZE(1..32)) OF Link
MotionConfidenceSet ::= SEQUENCE {
speedCfd SpeedConfidence OPTIONAL,
headingCfd HeadingConfidence OPTIONAL,
steerCfd SteeringWheelAngleConfidence OPTIONAL
}
Movement ::= SEQUENCE {
remoteIntersection NodeReferenceID,
phaseId PhaseID OPTIONAL
}
MovementList ::= SEQUENCE (SIZE(1..32)) OF Movement
Node ::= SEQUENCE {
name DescriptiveName OPTIONAL,
id NodeReferenceID,
refPos Position3D,
inLinks LinkList OPTIONAL,
...
}
NodeList ::= SEQUENCE (SIZE(1..32)) OF Node
NodeReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL,
id NodeID
}
ParticipantData ::= SEQUENCE {
ptcType ParticipantType,
ptcId INTEGER (0..65535),
source SourceType,
id OCTET STRING (SIZE(8)) OPTIONAL,
plateNo OCTET STRING (SIZE(4..16)) OPTIONAL,
secMark DSecond,
pos PositionOffsetLLV,
posConfidence PositionConfidenceSet,
transmission TransmissionState OPTIONAL,
speed Speed,
heading Heading,
angle SteeringWheelAngle OPTIONAL,
motionCfd MotionConfidenceSet OPTIONAL,
accelSet AccelerationSet4Way OPTIONAL,
size VehicleSize,
vehicleClass VehicleClassification OPTIONAL,
...
}
ParticipantList ::= SEQUENCE (SIZE(1..16)) OF ParticipantData
PathHistory ::= SEQUENCE {
initialPosition FullPositionVector OPTIONAL,
currGNSSstatus GNSSstatus OPTIONAL,
crumbData PathHistoryPointList,
...
}
PathHistoryPoint ::= SEQUENCE {
llvOffset PositionOffsetLLV,
timeOffset TimeOffset,
speed Speed OPTIONAL,
posAccuracy PositionConfidenceSet OPTIONAL,
heading CoarseHeading OPTIONAL,
...
}
PathHistoryPointList ::= SEQUENCE (SIZE(1..23)) OF PathHistoryPoint
PathPointList ::= SEQUENCE (SIZE(2..32)) OF PositionOffsetLLV
PathPrediction ::= SEQUENCE {
radiusOfCurve RadiusOfCurvature,
confidence Confidence,
...
}
Phase ::= SEQUENCE{
id PhaseID,
phaseStates PhaseStateList
}
PhaseList ::= SEQUENCE (SIZE(1..16)) OF Phase
PhaseState ::= SEQUENCE {
light LightState,
timing TimeChangeDetails OPTIONAL,
...
}
PhaseStateList ::= SEQUENCE (SIZE(1..16)) OF PhaseState
PointList ::= SEQUENCE (SIZE(2..31)) OF RoadPoint
Position-LL-24B ::= SEQUENCE {
lon OffsetLL-B12,
lat OffsetLL-B12
}
Position-LL-28B ::= SEQUENCE {
lon OffsetLL-B14,
lat OffsetLL-B14
}
Position-LL-32B ::= SEQUENCE {
lon OffsetLL-B16,
lat OffsetLL-B16
}
Position-LL-36B ::= SEQUENCE {
lon OffsetLL-B18,
lat OffsetLL-B18
}
Position-LL-44B ::= SEQUENCE {
lon OffsetLL-B22,
lat OffsetLL-B22
}
Position-LL-48B ::= SEQUENCE {
lon OffsetLL-B24,
lat OffsetLL-B24
}
Position-LLmD-64b ::= SEQUENCE {
lon Longitude,
lat Latitude
}
Position3D ::= SEQUENCE {
lat Latitude,
long Longitude,
elevation Elevation OPTIONAL
}
PositionalAccuracy ::= SEQUENCE {
semiMajor SemiMajorAxisAccuracy,
semiMinor SemiMinorAxisAccuracy,
orientation SemiMajorAxisOrientation
}
PositionConfidenceSet ::= SEQUENCE {
elevation ElevationConfidence OPTIONAL
}
PositionOffsetLL ::= CHOICE {
position-LL1 Position-LL-24B,
position-LL2 Position-LL-28B,
position-LL3 Position-LL-32B,
position-LL4 Position-LL-36B,
position-LL5 Position-LL-44B,
position-LL6 Position-LL-48B,
position-LatLon Position-LLmD-64b
}
PositionOffsetLLV ::= SEQUENCE {
offsetLL PositionOffsetLL,
offsetV VerticalOffset OPTIONAL
}
ReferenceLink ::= SEQUENCE {
upstreamNodeId NodeReferenceID,
downstreamNodeId NodeReferenceID,
referenceLanes ReferenceLanes OPTIONAL
}
ReferenceLinkList ::= SEQUENCE (SIZE(1..16)) OF ReferenceLink
ReferencePath ::= SEQUENCE {
activePath PathPointList,
pathRadius Radius
}
ReferencePathList ::= SEQUENCE (SIZE(1..8)) OF ReferencePath
RegulatorySpeedLimit ::= SEQUENCE {
type SpeedLimitType,
speed Speed
}
RSITimeDetails ::= SEQUENCE {
startTime MinuteOfTheYear OPTIONAL,
endTime MinuteOfTheYear OPTIONAL,
endTimeConfidence TimeConfidence OPTIONAL
}
RTEData ::= SEQUENCE {
rteId INTEGER (0..255),
eventType EventType,
eventSource EventSource,
eventPos PositionOffsetLLV OPTIONAL,
eventRadius Radius OPTIONAL,
description Description OPTIONAL,
timeDetails RSITimeDetails OPTIONAL,
priority Priority OPTIONAL,
referencePaths ReferencePathList OPTIONAL,
referenceLinks ReferenceLinkList OPTIONAL,
eventConfidence Confidence OPTIONAL,
...
}
RTEList ::= SEQUENCE (SIZE(1..8)) OF RTEData
RTSData ::= SEQUENCE {
rtsId INTEGER (0..255),
signType SignType,
signPos PositionOffsetLLV OPTIONAL,
description Description OPTIONAL,
timeDetails RSITimeDetails OPTIONAL,
priority Priority OPTIONAL,
referencePaths ReferencePathList OPTIONAL,
referenceLinks ReferenceLinkList OPTIONAL,
...
}
RTSList ::= SEQUENCE (SIZE(1..16)) OF RTSData
RoadPoint ::= SEQUENCE {
posOffset PositionOffsetLLV,
...
}
SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
TimeChangeDetails ::= CHOICE {
counting TimeCountingDown,
utcTiming UTCTiming,
...
}
TimeCountingDown ::= SEQUENCE {
startTime TimeMark,
minEndTime TimeMark OPTIONAL,
maxEndTime TimeMark OPTIONAL,
likelyEndTime TimeMark,
timeConfidence Confidence OPTIONAL,
nextStartTime TimeMark OPTIONAL,
nextDuration TimeMark OPTIONAL
}
UTCTiming ::= SEQUENCE {
startUTCTime TimeMark,
minEndUTCTime TimeMark OPTIONAL,
maxEndUTCTime TimeMark OPTIONAL,
likelyEndUTCTime TimeMark,
timeConfidence Confidence OPTIONAL,
nextStartUTCTime TimeMark OPTIONAL,
nextEndUTCTime TimeMark OPTIONAL
}
VehicleClassification ::= SEQUENCE {
classification BasicVehicleClass,
fuelType FuelType OPTIONAL,
...
}
VehicleEmergencyExtensions ::= SEQUENCE {
responseType ResponseType OPTIONAL,
sirenUse SirenInUse OPTIONAL,
lightsUse LightbarInUse OPTIONAL,
...
}
VehicleSafetyExtensions ::= SEQUENCE {
events VehicleEventFlags OPTIONAL,
pathHistory PathHistory OPTIONAL,
pathPrediction PathPrediction OPTIONAL,
lights ExteriorLights OPTIONAL,
...
}
VehicleSize ::= SEQUENCE {
width VehicleWidth,
length VehicleLength,
height VehicleHeight OPTIONAL
}
VerticalOffset ::= CHOICE {
}
Acceleration ::= INTEGER (-2000..2001)
AllowedManeuvers ::= BIT STRING {
maneuverStraightAllowed (0),
maneuverLeftAllowed (1),
maneuverRightAllowed (2),
maneuverUTurnAllowed (3),
maneuverLeftTurnOnRedAllowed (4),
maneuverRightTurnOnRedAllowed (5),
maneuverLaneChangeAllowed (6),
maneuverNoStoppingAllowed (7),
yieldAllwaysRequired (8),
goWithHalt (9),
caution (10),
reserved1 (11)
} (SIZE(12))
AntiLockBrakeStatus ::= ENUMERATED {
}
AuxiliaryBrakeStatus ::= ENUMERATED {
}
BasicVehicleClass ::= INTEGER (0..255)
unknownVehicleClass BasicVehicleClass ::= 0
specialVehicleClass BasicVehicleClass ::= 1
passenger-Vehicle-TypeOther BasicVehicleClass ::= 11
lightTruck-Vehicle-TypeOther BasicVehicleClass ::= 21
truck-Vehicle-TypeOther BasicVehicleClass ::= 26
motorcycle-TypeOther BasicVehicleClass ::= 41
motorcycle-Cruiser-Standard BasicVehicleClass ::= 42
motorcycle-SportUnclad BasicVehicleClass ::= 43
motorcycle-SportTouring BasicVehicleClass ::= 44
motorcycle-SuperSport BasicVehicleClass ::= 45
motorcycle-Touring BasicVehicleClass ::= 46
motorcycle-Trike BasicVehicleClass ::= 47
transit-TypeOther BasicVehicleClass ::= 51
transit-BRT BasicVehicleClass ::= 52
transit-ExpressBus BasicVehicleClass ::= 53
transit-LocalBus BasicVehicleClass ::= 54
transit-SchoolBus BasicVehicleClass ::= 55
transit-FixedGuideway BasicVehicleClass ::= 56
transit-Paratransit BasicVehicleClass ::= 57
transit-Paratransit-Ambulance BasicVehicleClass ::= 58
emergency-Fire-Light-Vehicle BasicVehicleClass ::= 62
emergency-Fire-Heavy-Vehicle BasicVehicleClass ::= 63
emergency-Fire-Paramedic-Vehicle BasicVehicleClass ::= 64
emergency-Fire-Ambulance-Vehicle BasicVehicleClass ::= 65
emergency-Police-Light-Vehicle BasicVehicleClass ::= 66
emergency-Police-Heavy-Vehicle BasicVehicleClass ::= 67
emergency-Other-Responder BasicVehicleClass ::= 68
emergency-Other-Ambulance BasicVehicleClass ::= 69
otherTraveler-TypeOther BasicVehicleClass ::= 81
otherTraveler-Pedestrian BasicVehicleClass ::= 82
otherTraveler-Visually-Disabled BasicVehicleClass ::= 83
otherTraveler-Physically-Disabled BasicVehicleClass ::= 84
otherTraveler-Bicycle BasicVehicleClass ::= 85
otherTraveler-Vulnerable-Roadworker BasicVehicleClass ::= 86
infrastructure-Fixed BasicVehicleClass ::= 91
infrastructure-Movable BasicVehicleClass ::= 92
equipped-CargoTrailer BasicVehicleClass ::= 93
BrakeAppliedStatus ::= BIT STRING {
} (SIZE (5))
BrakeBoostApplied ::= ENUMERATED {
}
BrakePedalStatus ::= ENUMERATED {
}
CoarseHeading ::= INTEGER (0..240)
Confidence ::= INTEGER (0..200)
DDay ::= INTEGER (0..31)
DescriptiveName ::= IA5String (SIZE(1..63))
DHour ::= INTEGER (0..31)
DMinute ::= INTEGER (0..60)
DMonth ::= INTEGER (0..12)
DSecond ::= INTEGER (0..65535)
DTimeOffset ::= INTEGER (-840..840)
DYear ::= INTEGER (0..4095)
Elevation ::= INTEGER (-4096..61439)
ElevationConfidence ::= ENUMERATED {
EventSource ::= ENUMERATED {
...
}
EventType ::= INTEGER (0..65535)
ExteriorLights ::= BIT STRING {
lowBeamHeadlightsOn (0),
highBeamHeadlightsOn (1),
leftTurnSignalOn (2),
rightTurnSignalOn (3),
hazardSignalOn (4),
automaticLightControlOn (5),
daytimeRunningLightsOn (6),
fogLightOn (7),
parkingLightsOn (8)
} (SIZE (9, ...))
FuelType ::= INTEGER (0..15)
gasoline FuelType::= 1
electric FuelType::= 4
hydrogen FuelType::= 6
propane FuelType::= 9
GNSSstatus ::= BIT STRING {
isHealthy (1),
isMonitored (2),
} (SIZE(8))
Heading ::= INTEGER (0..28800)
HeadingConfidence ::= ENUMERATED {
IntersectionStatusObject ::= BIT STRING {
manualControlIsEnabled (0),
stopTimeIsActivated (1),
failureFlash (2),
preemptIsActive (3),
signalPriorityIsActive (4),
fixedTimeOperation (5),
trafficDependentOperation (6),
standbyOperation (7),
failureMode (8),
off (9),
recentMAPmessageUpdate (10),
recentChangeInMAPassignedLanesIDsUsed (11),
noValidMAPisAvailableAtThisTime (12),
noValidSPATisAvailableAtThisTime (13)
} (SIZE(16))
LaneAttributes-Barrier ::= BIT STRING {
median-RevocableLane (0),
median (1),
whiteLineHashing (2),
stripedLines (3),
doubleStripedLines (4),
trafficCones (5),
constructionBarrier (6),
trafficChannels (7),
lowCurbs (8),
} (SIZE (16))
LaneAttributes-Bike ::= BIT STRING {
bikeRevocableLane (0),
pedestrianUseAllowed (1),
isBikeFlyOverLane (2),
fixedCycleTime (3),
biDirectionalCycleTimes (4),
isolatedByBarrier (5),
unsignalizedSegmentsPresent (6)
} (SIZE (16))
LaneAttributes-Crosswalk ::= BIT STRING {
crosswalkRevocableLane (0),
bicyleUseAllowed (1),
isXwalkFlyOverLane (2),
fixedCycleTime (3),
biDirectionalCycleTimes (4),
hasPushToWalkButton (5),
audioSupport (6),
rfSignalRequestPresent (7),
unsignalizedSegmentsPresent (8)
} (SIZE (16))
LaneAttributes-Parking ::= BIT STRING {
parkingRevocableLane (0),
parallelParkingInUse (1),
headInParkingInUse (2),
doNotParkZone (3),
parkingForBusUse (4),
parkingForTaxiUse (5),
noPublicParkingUse (6)
} (SIZE (16))
sidewalk-RevocableLane (0),
bicyleUseAllowed (1),
isSidewalkFlyOverLane (2),
walkBikes (3)
} (SIZE (16))
LaneAttributes-Striping ::= BIT STRING {
stripeToConnectingLanesRevocableLane (0),
stripeDrawOnLeft (1),
stripeDrawOnRight (2),
stripeToConnectingLanesLeft (3),
stripeToConnectingLanesRight (4),
stripeToConnectingLanesAhead (5)
} (SIZE (16))
LaneAttributes-TrackedVehicle ::= BIT STRING {
spec-RevocableLane (0),
spec-commuterRailRoadTrack (1),
spec-lightRailRoadTrack (2),
spec-heavyRailRoadTrack (3),
} (SIZE (16))
LaneAttributes-Vehicle ::= BIT STRING {
isVehicleRevocableLane (0),
isVehicleFlyOverLane (1),
hovLaneUseOnly (2),
restrictedToBusUse (3),
restrictedToTaxiUse (4),
restrictedFromPublicUse (5),
hasIRbeaconCoverage (6),
} (SIZE (8,...))
LaneID ::= INTEGER (0..255)
LaneSharing ::= BIT STRING {
overlappingLaneDescriptionProvided (0),
multipleLanesTreatedAsOneLane (1),
individualMotorizedVehicleTraffic (3),
busVehicleTraffic (4),
taxiVehicleTraffic (5),
pedestriansTraffic (6),
cyclistVehicleTraffic (7),
trackedVehicleTraffic (8),
pedestrianTraffic (9)
} (SIZE (10))
LaneWidth ::= INTEGER (0..32767)
Latitude ::= INTEGER (-900000000..900000001)
LightbarInUse ::= ENUMERATED {
inUse (2),
yellowCautionLights (3),
schooldBusLights (4),
arrowSignsActive (5),
slowMovingVehicle (6),
freqStops (7)
}
LightState ::= ENUMERATED {
unavailable (0),
dark (1),
stop-Then-Proceed (2),
stop-And-Remain (3),
pre-Movement (4),
permissive-Movement-Allowed (5),
protected-Movement-Allowed (6),
intersection-clearance (7),
caution-Conflicting-Traffic (8)
}
Longitude ::= INTEGER (-1799999999..1800000001)
MinuteOfTheYear ::= INTEGER (0..527040)
MsgCount ::= INTEGER (0..127)
NodeID ::= INTEGER (0..65535)
OffsetLL-B12 ::= INTEGER (-2048..2047)
OffsetLL-B14 ::= INTEGER (-8192..8191)
OffsetLL-B16 ::= INTEGER (-32768..32767)
OffsetLL-B18 ::= INTEGER (-131072..131071)
OffsetLL-B22 ::= INTEGER (-2097152..2097151)
OffsetLL-B24 ::= INTEGER (-8388608..8388607)
ParticipantType ::= ENUMERATED {
...
}
PhaseID ::= INTEGER (0..255)
PositionConfidence ::= ENUMERATED {
Priority ::= OCTET STRING (SIZE(1))
Radius ::= INTEGER (0..65535)
RadiusOfCurvature ::= INTEGER (-32767..32767)
ReferenceLanes ::= BIT STRING {
reserved(0),
lane1(1),
lane2(2),
lane3(3),
lane4(4),
lane5(5),
lane6(6),
lane7(7),
lane8(8),
lane9(9),
lane10(10),
lane11(11),
lane12(12),
lane13(13),
lane14(14),
lane15(15)
} (SIZE (16))
ResponseType ::= ENUMERATED {
notInUseOrNotEquipped (0),
...
}
RoadRegulatorID ::= INTEGER (0..65535)
SemiMajorAxisAccuracy ::= INTEGER (0..255)
SemiMajorAxisOrientation ::= INTEGER (0..65535)
SemiMinorAxisAccuracy ::= INTEGER (0..255)
SignType ::= INTEGER (0..65535)
SirenInUse ::= ENUMERATED {
notInUse (1),
inUse (2),
}
SourceType ::= ENUMERATED {
...
}
Speed ::= INTEGER (0..8191)
SpeedConfidence ::= ENUMERATED {
SpeedLimitType ::= ENUMERATED {
vehicleMinSpeed,
vehicleNightMaxSpeed,
truckMinSpeed,
truckMaxSpeed,
truckNightMaxSpeed,
vehiclesWithTrailersMinSpeed,
vehiclesWithTrailersMaxSpeed,
vehiclesWithTrailersNightMaxSpeed,
...
}
StabilityControlStatus ::= ENUMERATED {
}
SteeringWheelAngle ::= INTEGER (-126..127)
SteeringWheelAngleConfidence ::= ENUMERATED {
TimeConfidence ::= ENUMERATED {
}
TimeMark ::= INTEGER (0..36001)
TimeOffset ::= INTEGER (1..65535)
TractionControlStatus ::= ENUMERATED {
}
TransmissionState ::= ENUMERATED {
reserved1 (4),
reserved2 (5),
reserved3 (6),
}
VehicleEventFlags ::= BIT STRING {
eventHazardLights (0),
eventABSactivated (2),
eventTractionControlLoss (3),
eventStabilityControlactivated (4),
eventHazardousMaterials (5),
eventReserved1 (6),
eventHardBraking (7),
eventLightsChanged (8),
eventWipersChanged (9),
eventFlatTire (10),
eventAirBagDeployment (12)
} (SIZE (13, ...))
VehicleHeight ::= INTEGER (0..127)
VehicleLength ::= INTEGER (0.. 4095)
VehicleWidth ::= INTEGER (0..1023)
VerticalAcceleration ::= INTEGER (-127..127)
VertOffset-B07 ::= INTEGER (-64..63)
VertOffset-B08 ::= INTEGER (-128..127)
VertOffset-B09 ::= INTEGER (-256..255)
VertOffset-B10 ::= INTEGER (-512..511)
VertOffset-B11 ::= INTEGER (-1024..1023)
VertOffset-B12 ::= INTEGER (-2048..2047)
YawRate ::= INTEGER (-32767..32767)
END
Hi, there's errors happens when running with the example asn files in the repo, seems missing support of CHOICE type
$asn1go rfc1155.asn1
Errors generating Go AST from module:
Ignoring unsupported type asn1go.ObjectIdentifierType{}
Ignoring unsupported type asn1go.ChoiceType{AlternativeTypeList:[]asn1go.NamedType{asn1go.NamedType{Identifier:"simple", Type:"SimpleSyntax"}, asn1go.NamedType{Identifier:"application-wide", Type:"ApplicationSyntax"}}, ExtensionTypes:[]asn1go.ChoiceExtension(nil)}
Ignoring unsupported type asn1go.ChoiceType{AlternativeTypeList:[]asn1go.NamedType{asn1go.NamedType{Identifier:"number", Type:asn1go.IntegerType{NamedNumberList:map[string]int(nil)}}, asn1go.NamedType{Identifier:"string", Type:asn1go.OctetStringType{}}, asn1go.NamedType{Identifier:"object", Type:asn1go.ObjectIdentifierType{}}, asn1go.NamedType{Identifier:"empty", Type:asn1go.NullType{}}}, ExtensionTypes:[]asn1go.ChoiceExtension(nil)}
Ignoring unsupported type asn1go.ChoiceType{AlternativeTypeList:[]asn1go.NamedType{asn1go.NamedType{Identifier:"address", Type:"NetworkAddress"}, asn1go.NamedType{Identifier:"counter", Type:"Counter"}, asn1go.NamedType{Identifier:"gauge", Type:"Gauge"}, asn1go.NamedType{Identifier:"ticks", Type:"TimeTicks"}, asn1go.NamedType{Identifier:"arbitrary", Type:"Opaque"}}, ExtensionTypes:[]asn1go.ChoiceExtension(nil)}
Ignoring unsupported type asn1go.ChoiceType{AlternativeTypeList:[]asn1go.NamedType{asn1go.NamedType{Identifier:"internet", Type:"IpAddress"}}, ExtensionTypes:[]asn1go.ChoiceExtension(nil)}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.