GithubHelp home page GithubHelp logo

chemikadze / asn1go Goto Github PK

View Code? Open in Web Editor NEW
24.0 5.0 10.0 388 KB

ASN.1 schema parsing and code generation

License: Apache License 2.0

Makefile 0.31% Yacc 22.98% Go 76.71%
asn1 asn-1 golang go

asn1go's People

Contributors

chemikadze avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

asn1go's Issues

syntax error: unexpected ELLIPSIS, expecting VALUEIDENTIFIER or COMPONENTS

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

Errors happens when compiling example asn files

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)}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.