Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] IVIM Support #27

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft

[WIP] IVIM Support #27

wants to merge 5 commits into from

Conversation

lreiher
Copy link
Member

@lreiher lreiher commented Jul 10, 2024

Current WIP State

  • coding packages successfully generated by asn1c
  • download of external asn1 definitions still needs to be automated (currently executed manually)
  • generation of msgs and conversion packages still failing

@lreiher lreiher marked this pull request as draft July 10, 2024 20:19
@lreiher
Copy link
Member Author

lreiher commented Jul 15, 2024

Current failures when trying to build IVIM msgs below. Found individual errors by selectively including files in build command.

  • asn1/raw/is_ts103301/iso-patched/ISO14823-missing.asn
    'DDD'
      File "/workspaces/etsi_its_messages/utils/codegen/codegen-rust/asn1ToRosMsg.py", line 130, in main
        raw_def = asn1_raw[type]
      File "/workspaces/etsi_its_messages/utils/codegen/codegen-rust/asn1ToRosMsg.py", line 147, in <module>
        main()
    KeyError: 'DDD'
    
  • asn1/raw/is_ts103301/build/asn1/TS17419_2014_CITSapplMgmtIDs.asn
    thread 'main' panicked at src/msgs/bin.rs:26:35:
    called `Result::unwrap()` on an `Err` value: ParserError { details: "Error matching ASN syntax while parsing:version INTEGER(0..255)::=1 -- version of this module\r\n\r\n/*\r\n   The ASN.1 specification has been checked for conformance to the ASN.1\r\n   standards by OSS ASN.1 Syntax Checker, and by OSS ASN-1STEP\r\n*/\r\n\r\nEND\r\n", kind: MatchingError(Tag) }
    
  • asn1/raw/is_ts103301/iso-patched/ISO14906(2018)EfcDsrcGenericv7-patched.asn
    thread 'main' panicked at src/msgs/bin.rs:26:35:
    called `Result::unwrap()` on an `Err` value: ParserError { details: "Error matching ASN syntax while parsing:AttributeList{Container} ::= SEQUENCE (SIZE(0..127,...)) OF Attributes{Container}\n\nAttributes{Container} ::= SEQUENCE {\n\tattributeId INTEGER (0..127,...),\n\tattributeValue Container\n}\n\nEND\n-- Below imported data from ISO 14816's ASN.1 module\n-- AVIAEINumberingAndDataStructures {iso(1) standard(0) 14816 }\n-- DEFINITIONS AUTOMATIC TAGS ::= BEGIN\n-- EXPORTS ALL;\n-- CS5 ::= VisibleString\n-- CountryCode ::= BIT STRING(SIZE(10))\n-- Value assignment is done in accordance with ISO 3166-1 and by\n-- using the ITA.2 alphabet.\n-- IssuerIdentifier ::= INTEGER(0 .. 16383)\n-- See Annex A of ISO 14816 for registration\n-- END", kind: MatchingError(Tag) }
    
  • asn1/raw/is_ts103301/iso-patched/ISO14906(2018)EfcDsrcApplicationv6-patched.asn
    thread 'main' panicked at src/msgs/bin.rs:26:35:
    called `Result::unwrap()` on an `Err` value: ParserError { details: "Error matching ASN syntax while parsing:GetInstanceRs{Container}::= SEQUENCE (SIZE (0..127,...)) OF SEQUENCE {\nattributeId INTEGER(0..127,...),\n-- number of instances retrieved\nattributeValues Container (WITH COMPONENTS {octetstring PRESENT})\n-- The octetstring shall contain the contatenation of\n-- the unaligned PER encodings of the values of the\n-- instances, with each encoding padded to an integral\n-- of octets as specified for a top-level type in\n-- ISO/IEC 8825-2\n}\nGetStampedRq::= SEQUENCE {\nattributeIdList AttributeIdList,\nnonce OCTET STRING, -- e.g. a random number\nkeyRef INTEGER(0..255)\n}\nGetStampedRs{Container}::= SEQUENCE {\nattributeList AttributeList{Container},\nauthenticator OCTET STRING\n}\nSetInstanceRq{Container} ::= SEQUENCE {\nposOfInstance INTEGER(0..255),\nattribute Attributes{Container}\n}\nSetMMIRq::= INTEGER {\nok (0), -- operation / transaction successfully completed\nnok (1), -- operation / transaction not successfully completed\ncontactOperator (2), -- e.g. due to low balance or battery\nnoSignalling (255) -- no signalling\n-- (3-127) are reserved for future CEN use\n-- (128-254) are reserved for private use\n} (0..255)\nSetStampedRq{Container}::= SEQUENCE {\nattributeList AttributeList{Container},\nnonce OCTET STRING,\nkeyRef INTEGER(0..255)\n}\nSubRq::= SEQUENCE {\nattributeId INTEGER(0..127,...),\nvalue INTEGER\n}\n-- NOTE: The following are the definitions of EFC attributes\nCO2EmissionValue ::= Int2\nContractSerialNumber ::= Int4\nContractAuthenticator ::= OCTET STRING\nContractValidity ::= SEQUENCE {\ncontractRestrictions OCTET STRING (SIZE(4)),\ncontractExpiryDate DateCompact\n} -- intended to support ISO/TR 1998 implemented systems\nContractVehicle ::= LPN\nDateCompact::= SEQUENCE {\nyear INTEGER (1990..2117),\nmonth INTEGER (0..12), -- Value zero shall not be used\n-- except with 1990 - see below.\nday INTEGER (0..31) -- Value zero shall not be used\n-- except with 1990 � see below.\n}\n-- The value \"{year 1990, month 0, day 0}\" is a 16-bit all-zero\n-- encoding, and is used to represent \"no date\".\nDescriptiveCharacteristics ::= INTEGER {\nnoEntry (0),\nvehicleShape1 (1),\nvehicleShape2 (2),\nvehicleShape3 (3),\nvehicleShape4 (4),\nvehicleShape5 (5),\nvehicleShape6 (6),\nvehicleShape7 (7),\nvehicleShape8 (8),\nvehicleShape9 (9),\nvehicleShape10 (10),\nvehicleShape11 (11),\nvehicleShape12 (12),\nvehicleShape13 (13),\nvehicleShape14 (14),\nvehicleShape15 (15),\nvehicleShape16 (16),\nvehicleShape17 (17),\nvehicleShape18 (18),\nvehicleShape19 (19),\nvehicleShape20 (20),\nvehicleShape21 (21),\nvehicleShape22 (22),\nvehicleShape23 (23),\nvehicleShape24 (24),\nvehicleShape25 (25),\nvehicleShape26 (26),\nvehicleShape27 (27),\nvehicleShape28 (28),\nvehicleShape29 (29),\nvehicleShape30 (30),\nvehicleShape31 (31),\nvehicleShape32 (32),\nvehicleShape33 (33),\nvehicleShape34 (34),\nvehicleShape35 (35),\nvehicleShape36 (36),\nvehicleShape37 (37),\nvehicleShape38 (38),\nvehicleShape39 (39),\nvehicleShape40 (40),\nvehicleShape41 (41),\nvehicleShape42 (42),\nvehicleShape43 (43),\nvehicleShape44 (44),\nvehicleShape45 (45),\nvehicleShape46 (46),\nvehicleShape47 (47),\nvehicleShape48 (48),\nvehicleShape49 (49),\nvehicleShape50 (50)\n-- (1..50) are reserved for future CEN use\n-- (51..255) are reserved for private use\n} (0..255)\nDieselEmissionValues::= SEQUENCE {\nparticulate SEQUENCE {\nunitType UnitType,\nvalue INTEGER (0..32767)\n},\nabsorptionCoeff Int2 }\nDriverCharacteristics ::= SEQUENCE {\ndriverClass Int1,\ntripPurpose Int1\n}\nEFC-ContextMark ::= SEQUENCE {\ncontractProvider Provider,\ntypeOfContract OCTET STRING (SIZE(2)),\ncontextVersion INTEGER(0..127,...)\n}\nEnvironmentalCharacteristics::= SEQUENCE {\neuroValue EuroValue,\ncopValue CopValue\n}\nEuroValue::= ENUMERATED {\nnoEntry (0),\neuro-1 (1),\neuro-2 (2),\neuro-3 (3),\neuro-4 (4),\neuro-5 (5),\neuro-6 (6),\nreservedForUse1 (7),\nreservedForUse2 (8),\nreservedForUse3 (9),\nreservedForUse4 (10),\nreservedForUse5 (11),\nreservedForUse6 (12),\nreservedForUse7 (13),\nreservedForUse8 (14),\neev (15)\n} -- 4 bits, EURO-Classes as defined in EC directive 88/77/EEC, annex 1\n-- and in 91/542/EEC, 96/1/EC, 1999/96/EC, 2001/27/EC, regulation No 595/2009\n-- and for EEV in Section 6.2.1 of Annex I in EC directive 2005/55/EC\n-- EUR-Class VI as defined in Regulation (EC) No 595/2009\nCopValue::= ENUMERATED {\nnoEntry (0),\nco2class1 (1), -- below 101 g/km\nco2class2 (2), -- 101 to 120 g/km\nco2class3 (3), -- 121 to 140 g/km\nco2class4 (4), -- 141 to 160 g/km\nco2class5 (5), -- 161 to 200 g/km\nco2class6 (6), -- 201 to 250 g/km\nco2class7 (7), -- above 250 g/km\nreservedforUse (8) -- reserved for future CEN and ISO use\n} -- 4 bits, reserved for carbon dioxide pollution values as defined in\n-- EC directive 2003/127/EC'\nEngineCharacteristics::= INTEGER {\nnoEntry (0),\nnoEngine (1),\npetrolUnleaded (2),\npetrolLeaded (3),\ndiesel (4),\nlPG (5),\nbattery (6),\nsolar (7),\nhybrid (8),\nhydrogen (9)\n-- (10-255) are reserved for future CEN use\n} (0..255)\nEngine ::= SEQUENCE{\nengineCapacity Int2,\nenginePower Int2\n}\nEquipmentOBUId ::= OCTET STRING\nEquipmentStatus ::= BIT STRING (SIZE(16))\nExhaustEmissionValues ::= SEQUENCE {\nunitType UnitType,\nemissionCO INTEGER (0..32767),\nemissionHC Int2,\nemissionNOX Int2,\nemissionHCNOX Int2\n}\nFutureCharacteristics ::= INTEGER {\nnoEntry (0),\nairSuspension (1)\n-- (2..255) are reserved for future CEN use\n} (0..255)\nICC-Id ::= OCTET STRING\nInt1 ::= INTEGER(0..255)\nInt2 ::= INTEGER(0..65535)\nInt3 ::= INTEGER(0..16777215)\nInt4 ::= INTEGER(0..4294967295)\nLPN::= SEQUENCE {\ncountryCode CountryCode,\nalphabetIndicator ENUMERATED {\nlatinAlphabetNo1 (1), -- encoded as 00 00 00'B\nlatinAlphabetNo2 (2), -- encoded as 00 00 01'B etc\nlatinAlphabetNo3 (3),\nlatinAlphabetNo4 (4),\nlatinCyrillicAlphabet (5),\nlatinArabicAlphabet (6),\nlatinGreekAlphabet (7),\nlatinHebrewAlphabet (8),\nlatinAlphabetNo5 (9),\nlatinAlphabetNo6 (10),\ntwoOctetBMP (11),\nfourOctetCanonical (12),\nreservedForUse1 (13),\nreservedForUse2 (14),\nreservedForUse3 (15),\nreservedForUse4 (16),\nreservedForUse5 (17),\nreservedForUse6 (18),\nreservedForUse7 (19),\nreservedForUse8 (20),\nreservedForUse9 (21),\nreservedForUse10 (22),\nreservedForUse11 (23),\nreservedForUse12 (24),\nreservedForUse13 (25),\nreservedForUse14 (26),\nreservedForUse15 (27),\nreservedForUse16 (28),\nreservedForUse17 (29),\nreservedForUse18 (30),\nreservedForUse19 (31),\nreservedForUse20 (32),\nreservedForUse21 (33)\n} -- 6 bits, latinAlphabetNo1 recommended -- ,\n-- refer to Annex E for conversion from LatinAlphabetNo 2\n-- and 5 to Latin AlphabetNo1\nlicencePlateNumber OCTET STRING\n}\nPassengerCapacity ::= SEQUENCE{\nnumberOfSeats Int1,\nnumberOfStandingPlaces Int1\n}\nPaymentFee ::= SEQUENCE {\n-- The fee (toll, charge or fare) which is requested by the\n-- service provider for the service provided or to be provided.\npaymentFeeAmount Int2,\n-- paymentFeeAmount is the value of the fee being charged for the\n-- service. If no unit (payment fee unit) is specified, then\n-- it is known by default.\npaymentFeeUnit PayUnit\n-- paymentFeeUnit is the unit in which the fee is expressed.\n}\nPaymentMeans ::= SEQUENCE {\npersonalAccountNumber PersonalAccountNumber,\npaymentMeansExpiryDate DateCompact,\npamentMeansUsageControl OCTET STRING(SIZE(2))\n-- issuer's specified restrictions, on the geographic usage\n-- and services allowed for the applications\n}\nPaymentMeansBalance ::= SignedValue\nSignedValue ::= CHOICE {\npositive INTEGER (0..8388607),\nnegative INTEGER (-8388608..-1)\n}\n-- corresponds to a �3 octets Signed Integer�, associated with the following\n-- examples of line codes:\n-- -8'388'608 : 80 00 00'H\n-- -1 : FF FF FF'H\n-- 0 : 00 00 00'H\n-- 1 : 00 00 01�H\n-- 8'388'607 : 7F FF FF'H\nPaymentMeansUnit ::= PayUnit\nPaymentSecurityData ::= OCTET STRING\nPayUnit ::= OCTET STRING (SIZE(2))\n-- The unique designation of a Currency as defined in ISO 4217\n-- using the ISO numeric binary coded decimal representation.\n-- The code can also express a company specific token or a\n-- \"charging unit code\" as used in the freight.unit in which\n-- the fee is expressed.\n-- Value Assignment :\n-- '0xxx'H Currency in main units\n-- '1xxx'H Currency in minor units of 10 :1 ('dime')\n-- '2xxx'H Currency in minor units of 100 :1 ('cents')\n-- '3xxx'H Currency in minor units of 1000 :1\n-- '4xxx'H Currency in 'major' units / 10\n-- (e.g. 10 Belgian Francs)\n-- '5xxx'H Currency in 'major' units / 100\n-- (e.g. 100 Italian Lire)\n-- '6xxx'H Currency in 'major' units / 1000\n-- '7xxx'H Currency in 'major' units / 10000\n-- '8xxx'H Currency in 'major' units / 100000\n-- where xxx is the BCD representation of \"Currency\"\n-- as defined in ISO 4217\n-- '9xxx'H Tokens\n-- where xxx is Purse Provider specific coding.\n-- 'Axxx'H Charging Unit Codes,\n-- denoting quantification of the service provided\n-- (e.g. man-hours)\nPersonalAccountNumber ::= OCTET STRING (SIZE(10))\n-- Personal account number structure � according to ISO/IEC 7812-1\n-- Issuer identifier number (�BIN�)\n-- Major industry identifier (MII, 1 binary coded decimal, BCD)\n-- 0 : reserved for future use by ISO/TC68\n-- 1 : airline sector\n-- 2 : extended airline sector\n-- 3 : travel and tourism sector\n-- 4 : financial banking sector\n-- 5 : financial banking sector\n-- 6 : commerce and banking sector\n-- 7 : petrol industry sector\n-- 8 : telecommunication sector\n-- 9 : reserved for national use\n-- Issuer identifier (5 BCD in the second edition of ISO/IEC 7812-1)\n-- Account number (max 12 BCD)\n-- Control digit (1 BCD)\n-- Padding bits, set to 1'B, in order to accomplish a\n-- total length of 10 octets.\n\nProvider ::= SEQUENCE {\ncountryCode CountryCode,\nproviderIdentifier IssuerIdentifier\n}\nPurseBalance ::= SEQUENCE {\n-- The balance on the (electronic) purse, consisting of\n-- the value and the unit in which it is expressed.\npurseValue SignedValue,\n-- The size of a balance expressed in a currency.\n-- This may be positive or negative.\npurseUnit PayUnit\n}\nReceiptContract ::= SEQUENCE {\nsessionContractProvider Provider,\nsessionTypeOfContract OCTET STRING(SIZE(2)),\nsessionContractSerialNumber Int4\n}\nReceiptData1 ::= ReceiptData\nReceiptData2 ::= ReceiptData\nReceiptData ::= SEQUENCE {\nsessionTime DateAndTime,\nsessionServiceProvider Provider,\nlocationOfStation Int2,\nsessionLocation SessionLocation,\nsessionType Int1,\nsessionResult ResultOp,\nsessionTariffClass Int1,\nsessionClaimedClass Int1,\nsessionFee PaymentFee,\nsessionContractProvider Provider,\nsessionTypeOfContract OCTET STRING (SIZE(2)),\nsessionContextVersion INTEGER (0..127,...),\nreceiptDataAuthenticator OCTET STRING(SIZE(4))\n}\nReceiptDistance ::= Int3\nReceiptFinancialPart ::= SEQUENCE {\npersonalAccountNumber PersonalAccountNumber,\nsessionPaymentFee PaymentFee,\nsessionCurrentBalance PurseBalance,\nreceiptFinancialSerialNumber Int4\n}\nReceiptICC-Id ::= ICC-Id\nReceiptOBUId ::= OCTET STRING\nReceiptServicePart ::= SEQUENCE {\nsessionTime DateAndTime,\nsessionServiceProvider Provider,\nstationLocation INTEGER(0..1048575),\nsessionLocation BIT STRING (SIZE(8)),\ntypeOfSession StationType,\nsessionResultOperational ResultOp,\nsessionResultFinancial ResultFin\n}\nReceiptServiceSerialNumber ::= Int3\nReceiptAuthenticator ::= OCTET STRING\nReceiptText ::= OCTET STRING\nResultFin ::= OCTET STRING (SIZE(1))\n-- A code designating whether a card transaction was completed successfully\n-- or not. Value Assignment : Hexadecimal\n-- Most significant 4 bits: 0 OK :\n-- '0x'H OK\n-- Most significant 4 bits > 0 Not OK :\n-- '1x'H Not OK, not specified further\n-- '2x'H Not OK, Abnormal (First or Previous) Event\n-- '3x'H Not OK, Contract not accepted\n-- '4x'H Not OK, Account or Purse not accepted\n-- 'x0'H not specified further\n-- 'x1'H Balance close to zero\n-- 'x2'H Balance now negative\n-- 'x3'H Balance Overflow\n-- 'x4'H Provider not accepted\n-- 'x5'H Authentication failure\n-- x6'H Vehicle Class incorrect\nResultOp ::= INTEGER {\ncorrectTransaction (0), -- transaction correct\nobeStatusNotAccepted (1),\nequipmentStatusNotAccepted (2),\ncontractNotInWhiteList (3),\n-- VST contract data not in white list\ncontractIdentifierInBlackList (4),\ncontractIdentifierNotCorrect (5),\n-- Luhn algorithm verification failure\nexpiredContract (6), -- contract expired\ncontractRestrictionsNotFulfilled (7),\nclaimedVehicleCharacteristicsNotValid (8),\nvehicleClassAuthenticationFailed (9),\nentryVehicleClassDifferentFromExitVehicleClass (10),\nentryReceiptMissing (11),\nentryReceiptNotValid (12),\nentryTollStationNotValid (13),\nequipmentNotCertified (14),\n-- manufacturer or EquipClass not recognised\ntimeDifference (15),\n-- problem with the time diff of the two latest receipts\naccessCredentialsNotAccepted (16),\ncontractAuthenticatorNotAccepted (17),\nreceiptAuthenticatorNotAccepted (18),\nclaimedVehicleCharacteristicsMissing (19),\npaymentMeansNotAccepted (20),\npaymentAuthenticatorNotAccepted (21),\npaymentMeansInBlackList (22),\npaymentMeansNotCorrect (23),\n-- Luhn algorithm verification failure\nexpiredPaymentMeans (24),\n-- PaymentMeans expired\npaymentMeansRestrictionsNotFulfilled (25)\n-- (26-255) are reserved for future CEN use\n} (0..255)\nSessionClass ::= SEQUENCE {\nsessionTariffClass Int1,\nsessionClaimedClass Int1\n}\nSessionLocation ::= SEQUENCE {\nascendingKilometrage BOOLEAN, -- travel direction indicator\nlaneCodeNumber INTEGER(0..127) -- lane code number\n}\nStationType ::= ENUMERATED {\nunspecified (0),\nclosedEntryWithPayment (1),\nclosedEntryWithoutPayment (2),\nclosedTransit (3),\nclosedExit (4),\nclosedCredit (5),\nmixed (6),\npassage (7), -- open exit\ncheckpoint (8),\nreload (9),\nreservedForFutureCENUse1 (10),\nreservedForFutureCENUse2 (11),\nreservedForFutureCENUse3 (12),\nreservedForFutureCENUse4 (13),\nprivateUse5 (14),\nprivateUse6 (15)\n}\nDateAndTime ::= SEQUENCE {\ntimeDate DateCompact,\ntimeCompact SEQUENCE { -- expresses time of the day in hours, min, and sec\nhours INTEGER (0..23), -- number of hours after midnight\nmins INTEGER (0..59), -- number of minutes after the hour\ndouble-secs INTEGER (0..30) -- number of two-seconds after the minute\n}\n-- Midnight at the start of a day cannot be represented.\n-- Midnight at the end of a day is represented by\n-- {hours 23, mins 59, double-secs 30}\n-- The 16 bit zero value {hours 0, mins 0, double-secs 0}\n-- denotes \"no time\"\n}\nSoundLevel ::= SEQUENCE{\nsoundstationary Int1,\nsounddriveby Int1\n}\nTrailerCharacteristics ::= SEQUENCE {\ntrailerDetails TrailerDetails,\ntrailerMaxLadenWeight Int2,\ntrailerWeightUnladen Int2\n}\nTrailerDetails::= SEQUENCE {\ntrailerType INTEGER{\nnotPresent (0), -- trailer not attached or only one trailer attached, see\n-- VehicleAxlesNumber for more information\ntrailer (1), -- also known as pull-bar trailer\nsemitrailer (2) -- also known as articulate trailer\n-- (3..31) reserved for future CEN/ISO use\n} (0..31),\ntrailerAxles TrailerAxles\n}\nTrailerLicencePlateNumber ::= LPN\nUnitType::= ENUMERATED {\nmg-km (0),\nmg-kWh (1)\n}\nValidityOfContract ::= SEQUENCE {\nissuerRestrictions OCTET STRING (SIZE(2)),\ncontractExpiryDate DateCompact\n}\nVehicleAuthenticator ::= OCTET STRING\nVehicleAxles ::= SEQUENCE {\nvehicleFirstAxleHeight Int1,\nvehicleAxlesNumber SEQUENCE {\ntyreType ENUMERATED{\nnotSpecified (0),\nsingleTyre (1), -- single tyre on all axles\ndualTyres (2), -- dual tyres on at least one axle\nreservedForUse (3) -- reserved for future CEN use\n},\nnumberOfAxles SEQUENCE {\ntrailerAxles TrailerAxles,\ntractorAxles TractorAxles\n}\n}\n}\nTrailerAxles ::= INTEGER (0..7) -- number of axles of the trailer when available\nTractorAxles ::= INTEGER (0..7) -- number of axles of the tractor\nVehicleClass ::= Int1\nVehicleDimensions ::= SEQUENCE {\nvehicleLengthOverall Int1,\nvehicleHeigthOverall Int1,\nvehicleWidthOverall Int1\n}\nVehicleLicencePlateNumber ::= LPN\nVehicleIdentificationNumber ::= CS5\nVehicleSpecificCharacteristics ::= SEQUENCE {\nenvironmentalCharacteristics EnvironmentalCharacteristics,\nengineCharacteristics EngineCharacteristics,\ndescriptiveCharacteristics DescriptiveCharacteristics,\nfutureCharacteristics FutureCharacteristics\n}\nVehicleTotalDistance ::= Int4\nVehicleWeightLaden ::= Int2\nVehicleCurrentMaxTrainWeight ::= Int2\nVehicleWeightLimits ::= SEQUENCE {\nvehicleMaxLadenWeight Int2,\nvehicleTrainMaximumWeight Int2,\nvehicleWeightUnladen Int2\n}\nEND\n", kind: MatchingError(Tag) }
    
  • asn1/raw/is_ts103301/build/asn1/ISO-TS-19091-addgrp-C-2018-patched.asn
    thread 'main' panicked at src/msgs/utils.rs:318:40:
    called `Option::unwrap()` on a `None` value
    
  • asn1/raw/is_ts103301/build/asn1/ISO14816_AVIAEINumberingAndDataStructures.asn
    thread 'main' panicked at src/msgs/bin.rs:26:35:
    called `Result::unwrap()` on an `Err` value: Error { kind: InvalidData, message: "stream did not contain valid UTF-8" }
    
  • asn1/raw/is_ts103301/build/asn1/ISO19321IVIv2.asn
    thread 'main' panicked at src/msgs/bin.rs:26:35:
    called `Result::unwrap()` on an `Err` value: ParserError { details: "Error matching ASN syntax while parsing:IviContainer::= CHOICE {\r\n\tglc\t\tGeographicLocationContainer,\r\n\tgiv\t\tGeneralIviContainer,\r\n\trcc\t\tRoadConfigurationContainer,\r\n\ttc\t\tTextContainer,\r\n\tlac\t\tLayoutContainer,\r\n\t...,\t-- original extension indicator of V1\r\n[[ -- Extension in V2\r\n\tavc\t\tAutomatedVehicleContainer,\t\r\n\tmlc\t\tMapLocationContainer, \r\n\trsc\t\tRoadSurfaceContainer ]]\r\n\t}\r\n\r\nIviManagementContainer::= SEQUENCE {\r\n\tserviceProviderId\t\t\tProvider, \r\n\tiviIdentificationNumber\t\tIviIdentificationNumber,\r\n\ttimeStamp\t\t\t\t\tTimestampIts OPTIONAL,\r\n\tvalidFrom\t\t\t\t\tTimestampIts OPTIONAL,\r\n\tvalidTo\t\t\t\t\t\tTimestampIts OPTIONAL,\r\n\tconnectedIviStructures\t\tIviIdentificationNumbers OPTIONAL,\r\n\tiviStatus\t\t\t\t\tIviStatus,\r\n\t...,    \t\t\t\t\t-- original extension indicator of V1\r\n\tconnectedDenms\t\t\t\tConnectedDenms OPTIONAL -- Extension in V2\r\n\t}\r\n\t\r\nGeographicLocationContainer::= SEQUENCE {\r\n\treferencePosition\t\t\tReferencePosition,\r\n\treferencePositionTime \t\tTimestampIts OPTIONAL,\r\n\treferencePositionHeading\tHeading OPTIONAL, \r\n\treferencePositionSpeed\t\tSpeed OPTIONAL,\r\n\tparts \t\t\t\t\t\tGlcParts, \r\n\t...\r\n\t}\r\nGlcParts ::= SEQUENCE (SIZE (1..16,...)) OF GlcPart\r\n\r\nGlcPart::= SEQUENCE {\r\n\tzoneId\t\t\t\t\t\tZid, \r\n\tlaneNumber\t\t\t\t\tLanePosition OPTIONAL,\r\n\tzoneExtension\t\t\t\tINTEGER (0..255) OPTIONAL,\r\n\tzoneHeading\t\t\t\t\tHeadingValue OPTIONAL,\r\n\tzone\t\t\t\t\t\tZone OPTIONAL,\r\n\t... \r\n\t}\r\n\r\nGeneralIviContainer::= SEQUENCE (SIZE (1..16,...)) OF GicPart  \r\n\r\nGicPart::= SEQUENCE {\r\n\tdetectionZoneIds\t\tZoneIds OPTIONAL, \r\n\tits-Rrid\t\t\t\tVarLengthNumber OPTIONAL,\r\n\trelevanceZoneIds\t\tZoneIds OPTIONAL, \r\n\tdirection\t\t\t\tDirection OPTIONAL,\r\n\tdriverAwarenessZoneIds\tZoneIds OPTIONAL, \r\n\tminimumAwarenessTime\tINTEGER (0..255) OPTIONAL,\r\n\tapplicableLanes\t\t\tLanePositions OPTIONAL,\r\n\tiviType\t\t\t\t\tIviType,\r\n\tiviPurpose\t\t\t\tIviPurpose OPTIONAL,\r\n\tlaneStatus\t\t\t\tLaneStatus OPTIONAL,\t\r\n\tvehicleCharacteristics\tVehicleCharacteristicsList OPTIONAL,\r\n\tdriverCharacteristics\tDriverCharacteristics OPTIONAL,\r\n\tlayoutId\t\t\t\tINTEGER(1..4,...) OPTIONAL,\r\n\tpreStoredlayoutId\t\tINTEGER(1..64,...) OPTIONAL,\r\n\troadSignCodes\t\t\tRoadSignCodes,\r\n\textraText\t\t\t\tConstraintTextLines1 OPTIONAL,\r\n\t...\r\n\t}\r\n\r\nRoadConfigurationContainer::= SEQUENCE (SIZE (1..16,...)) OF RccPart\r\n\r\nRccPart::= SEQUENCE{\r\n\trelevanceZoneIds\tZoneIds,\r\n\troadType\t\t\tRoadType, \r\n\tlaneConfiguration\tLaneConfiguration,\r\n\t...\r\n\t}\r\n\r\nRoadSurfaceContainer::= SEQUENCE (SIZE (1..16,...)) OF RscPart\r\n\t \r\nRscPart::= SEQUENCE{\r\n\tdetectionZoneIds\t\t\t\t\tZoneIds OPTIONAL,\r\n\trelevanceZoneIds\t\t\t\t\tZoneIds,\r\n\tdirection\t\t\t\t\t\t\tDirection OPTIONAL,\r\n\troadSurfaceStaticCharacteristics\tRoadSurfaceStaticCharacteristics OPTIONAL,\r\n\troadSurfaceDynamicCharacteristics\tRoadSurfaceDynamicCharacteristics OPTIONAL\r\n\t} (WITH COMPONENTS {..., roadSurfaceStaticCharacteristics PRESENT} |\r\n       WITH COMPONENTS {..., roadSurfaceDynamicCharacteristics PRESENT})\r\n\r\nTextContainer::= SEQUENCE (SIZE (1..16,...)) OF TcPart\r\n\r\nTcPart::= SEQUENCE {\r\n\tdetectionZoneIds\t\tZoneIds OPTIONAL, \r\n\trelevanceZoneIds\t\tZoneIds, \r\n\tdirection\t\t\t\tDirection OPTIONAL, \r\n\tdriverAwarenessZoneIds\tZoneIds OPTIONAL, \r\n\tminimumAwarenessTime\tINTEGER (0..255) OPTIONAL,\r\n\tapplicableLanes\t\t\tLanePositions OPTIONAL,\r\n\tlayoutId\t\t\t\tINTEGER(1..4,...) OPTIONAL,\r\n\tpreStoredlayoutId\t\tINTEGER(1..64,...) OPTIONAL,\r\n\ttext\t\t\t\t\tTextLines OPTIONAL,\r\n\tdata\t\t\t\t\tOCTET STRING,\r\n\t...,\r\n[[ --extension in V2\r\n\tiviType\t\t\t\t\tIviType, \r\n\tlaneStatus\t\t\t\tLaneStatus OPTIONAL,\t\r\n\tvehicleCharacteristics\tVehicleCharacteristicsList OPTIONAL ]]\r\n\t}\r\n\r\nLayoutContainer::=SEQUENCE{\r\n\tlayoutId\t\t\tINTEGER(1..4,...),\r\n\theight\t\t\t\tINTEGER(10..73) OPTIONAL, \r\n\twidth\t\t\t\tINTEGER(10..265) OPTIONAL,\r\n\tlayoutComponents\tLayoutComponents,\r\n\t...  \r\n\t}\r\n\r\nAutomatedVehicleContainer::= SEQUENCE (SIZE (1..16,...)) OF AvcPart -- new container in V2\r\n\r\nAvcPart::= SEQUENCE { -- new container part in V2\r\n\tdetectionZoneIds\t\tZoneIds OPTIONAL, \r\n\trelevanceZoneIds\t\tZoneIds, \r\n\tdirection\t\t\t\tDirection OPTIONAL,\r\n\tapplicableLanes\t\t\tLanePositions OPTIONAL,\r\n\tvehicleCharacteristics\tVehicleCharacteristicsList OPTIONAL,\r\n\tautomatedVehicleRules\tAutomatedVehicleRules OPTIONAL,\r\n\tplatooningRules\t\t\tPlatooningRules OPTIONAL,\t\r\n\t...\r\n\t} (WITH COMPONENTS {..., automatedVehicleRules PRESENT} |\r\n       WITH COMPONENTS {..., platooningRules PRESENT})\r\n\r\n\r\nMapLocationContainer::=SEQUENCE{ -- new container in V2\r\n\treference\t\tMapReference,\r\n\tparts\t\t\tMlcParts \r\n\t}\r\n\r\nMlcParts::= SEQUENCE (SIZE (1..16,...)) OF MlcPart -- new container part in V2\r\n\r\nMlcPart::= SEQUENCE{ -- new container part in V2\r\n\tzoneId\t\tZid,\r\n\tlaneIds\t\tLaneIds OPTIONAL\r\n\t} \r\n\t\r\n-- Definition of data frames which are lists of data frames\r\n-- note: those definitions are to avoid \"implicit type definitions\" but are bit compatible with V1\r\n\r\nAbsolutePositions ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePosition\r\n\r\nAbsolutePositionsWAltitude ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePositionWAltitude\r\n\r\nAutomatedVehicleRules::= SEQUENCE (SIZE (1..5)) OF AutomatedVehicleRule  -- new DF in V2\r\n\r\nConnectedDenms::= SEQUENCE (SIZE(1..8, ...)) OF ActionID -- new DF in V2\r\n\r\nDeltaPositions ::= SEQUENCE (SIZE (1..32,...,100)) OF DeltaPosition --size extension in V2\r\n\r\nDeltaReferencePositions ::= SEQUENCE (SIZE (1..32,..., 100)) OF DeltaReferencePosition --size extension in V2\r\n\r\nConstraintTextLines1 ::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {layoutComponentId, language, textContent (SIZE(1..32))})\r\n\r\nConstraintTextLines2::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {..., textContent (SIZE(1..32))})\r\n\r\nIviIdentificationNumbers ::= SEQUENCE (SIZE(1..8)) OF IviIdentificationNumber\r\n\r\nISO14823Attributes::= SEQUENCE (SIZE(1..8),...) OF ISO14823Attribute\r\n\r\nLaneConfiguration ::= SEQUENCE (SIZE (1..16,...)) OF LaneInformation\r\n\r\nLaneIds::= SEQUENCE (SIZE (1..16,...)) OF LaneID\r\n\r\nLanePositions ::= SEQUENCE (SIZE (1..8,...)) OF LanePosition\r\n\r\nLayoutComponents ::= SEQUENCE SIZE (1..4,...) OF LayoutComponent\r\n\r\nPlatooningRules::= SEQUENCE (SIZE (1..5)) OF PlatooningRule -- new DF in V2\r\n\r\nRoadSignCodes ::= SEQUENCE (SIZE (1..4),...) OF RSCode\r\n\r\nTextLines::= SEQUENCE (SIZE (1..4),...) OF Text\r\n\r\nTrailerCharacteristicsList ::= SEQUENCE (SIZE (1..3)) OF TrailerCharacteristics\r\n\r\nTrailerCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT})\r\n\r\nTrailerCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsRanges (WITH COMPONENTS {comparisonOperator, limits (WITH COMPONENTS {..., exhaustEmissionValues ABSENT, dieselEmissionValues ABSENT, soundLevel ABSENT})})  \r\n\r\nSaeAutomationLevels::= SEQUENCE (SIZE (1..5)) OF SaeAutomationLevel -- new DF in V2\r\n\r\nVehicleCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsFixValues\r\n\r\nVehicleCharacteristicsList ::= SEQUENCE (SIZE (1..8, ...)) OF CompleteVehicleCharacteristics\r\n\r\nVehicleCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF  VehicleCharacteristicsRanges\r\n\r\nValidityPeriods ::= SEQUENCE (SIZE (1..8),...) OF InternationalSign-applicablePeriod\r\n\r\nZoneIds ::= SEQUENCE (SIZE (1..8,...)) OF Zid\r\n\r\n--  Definition of Data Frames\r\n\r\nAbsolutePosition::= SEQUENCE{\r\n\tlatitude Latitude,\r\n\tlongitude Longitude\r\n\t}\r\n\r\nAbsolutePositionWAltitude::= SEQUENCE{\r\n\tlatitude Latitude,\r\n\tlongitude Longitude,\r\n\taltitude Altitude \r\n\t}\r\n\r\nAnyCatalogue::=SEQUENCE{\r\n\towner\t\t\tProvider,\r\n\tversion\t\t\tINTEGER(0..255),\r\n\tpictogramCode\tINTEGER(0..65535),\r\n\tvalue\t\t\tINTEGER (0..65535) OPTIONAL, \r\n\tunit\t\t\tRSCUnit OPTIONAL,\r\n\tattributes\t\tISO14823Attributes OPTIONAL\r\n\t}\t\r\n\r\nAutomatedVehicleRule::= SEQUENCE { -- new DF in V2\r\n\tpriority\t\t\t\t\t\t\t\tPriorityLevel,\r\n\tallowedSaeAutomationLevels\t\t\t\tSaeAutomationLevels,\r\n\tminGapBetweenVehicles\t\t\t\t\tGapBetweenVehicles OPTIONAL,\r\n\trecGapBetweenVehicles\t\t\t\t\tGapBetweenVehicles OPTIONAL,\r\n\tautomatedVehicleMaxSpeedLimit\t\t\tSpeedValue OPTIONAL,\r\n\tautomatedVehicleMinSpeedLimit\t\t\tSpeedValue OPTIONAL,\r\n\tautomatedVehicleSpeedRecommendation\t\tSpeedValue OPTIONAL,\r\n\troadSignCodes\t\t\t\t\t\t\tRoadSignCodes OPTIONAL,\r\n\textraText\t\t\t\t\t\t\t\tConstraintTextLines2 OPTIONAL,\r\n\t...\r\n\t}\r\n\r\nCompleteVehicleCharacteristics::= SEQUENCE{\r\n\ttractor\t\tTractorCharacteristics OPTIONAL,\r\n\ttrailer\t\tTrailerCharacteristicsList OPTIONAL,\r\n\ttrain\t\tTrainCharacteristics OPTIONAL\r\n\t}\r\n\r\nComputedSegment::= SEQUENCE {\r\n\tzoneId\t\t\t\tZid, \r\n\tlaneNumber\t\t\tLanePosition,  \r\n\tlaneWidth\t\t\tIviLaneWidth,\r\n\toffsetDistance \t\tINTEGER (-32768..32767) OPTIONAL, \r\n\toffsetPosition \t\tDeltaReferencePosition \tOPTIONAL \r\n\t}\r\n\r\nDeltaPosition::=SEQUENCE{\r\n\tdeltaLatitude \t\tDeltaLatitude,\r\n\tdeltaLongitude\t\tDeltaLongitude\r\n\t}\r\n\r\nISO14823Attribute::= CHOICE{\r\n   dtm InternationalSign-applicablePeriod, -- Date/Time/Period\r\n   edt InternationalSign-exemptedApplicablePeriod,-- Exemption status of Date/Time/Period\r\n   dfl InternationalSign-directionalFlowOfLane,-- Directional Flow of Lane\r\n   ved InternationalSign-applicableVehicleDimensions,-- Vehicle Dimensions\r\n   spe InternationalSign-speedLimits,-- Speed\r\n   roi InternationalSign-rateOfIncline,-- Rate of Incline\r\n   dbv InternationalSign-distanceBetweenVehicles,-- Distance Between Vehicles\r\n   ddd InternationalSign-destinationInformation-- Destination/Direction/Distance\r\n   }\r\n\r\nISO14823Code ::= SEQUENCE{\r\n\tpictogramCode           SEQUENCE {  \r\n\t\tcountryCode             OCTET STRING (SIZE (2)) OPTIONAL, \r\n        serviceCategoryCode     CHOICE { \r\n\t\t\ttrafficSignPictogram              ENUMERATED {dangerWarning, regulatory, informative,...},\r\n\t\t\tpublicFacilitiesPictogram         ENUMERATED {publicFacilities, ...},  \r\n            ambientOrRoadConditionPictogram   ENUMERATED {ambientCondition, roadCondition,...},\r\n\t\t ...},\r\n         pictogramCategoryCode   SEQUENCE {\r\n                  nature            INTEGER (1..9),\r\n                  serialNumber      INTEGER (0..99)\r\n            }},\r\n      attributes        ISO14823Attributes OPTIONAL \r\n      }\r\n\r\nLaneInformation::= SEQUENCE{\r\n\tlaneNumber\t\t\tLanePosition, \r\n\tdirection\t\t\tDirection,\r\n\tvalidity\t\t\tInternationalSign-applicablePeriod OPTIONAL,\r\n\tlaneType\t\t\tLaneType, \r\n\tlaneTypeQualifier\tCompleteVehicleCharacteristics OPTIONAL,\r\n\tlaneStatus\t\t\tLaneStatus, \t \r\n\tlaneWidth       \tIviLaneWidth OPTIONAL,       \r\n\t...,\r\n[[ --extension in V2\r\n\tdetectionZoneIds\t\t\t\t\tZoneIds OPTIONAL,\r\n\trelevanceZoneIds\t\t\t\t\tZoneIds OPTIONAL,\r\n\tlaneCharacteristics\t\t\t\t\tLaneCharacteristics\t OPTIONAL, \r\n\tlaneSurfaceStaticCharacteristics\tRoadSurfaceStaticCharacteristics OPTIONAL,\r\n\tlaneSurfaceDynamicCharacteristics\tRoadSurfaceDynamicCharacteristics OPTIONAL ]]\r\n\t}\r\n\r\nLaneCharacteristics::= SEQUENCE{\r\n\tzoneDefinitionAccuracy\t\tDefinitionAccuracy,\r\n\texistinglaneMarkingStatus\tLaneMarkingStatus, \r\n\tnewlaneMarkingColour\t\tMarkingColour,\r\n\tlaneDelimitationLeft\t\tLaneDelimitation,\r\n\tlaneDelimitationRight\t\tLaneDelimitation,\r\n\tmergingWith\t\t\t\t\tZid  \r\n\t}\r\n\r\nLayoutComponent::=SEQUENCE{\r\n\tlayoutComponentId\tINTEGER(1..8,...),\r\n\theight\t\t\t\tINTEGER(10..73), \r\n\twidth\t\t\t\tINTEGER(10..265), \r\n\tx\t\t\t\t\tINTEGER(10..265),\r\n\ty\t\t\t\t\tINTEGER(10..73), \r\n\ttextScripting\t\tINTEGER {horizontal (0),  vertical (1)}(0..1)\r\n\t} \r\n\r\nLoadType::= SEQUENCE{\r\n\tgoodsType\t\t\t\tGoodsType,\r\n\tdangerousGoodsType\t\tDangerousGoodsBasic,\r\n\tspecialTransportType\tSpecialTransportType\r\n\t}\r\n\r\nMapReference::= CHOICE { -- new DF in V2\r\n\troadsegment\t\t\tRoadSegmentReferenceID,\r\n\tintersection \t\tIntersectionReferenceID\r\n\t}\r\n\r\nPlatooningRule::= SEQUENCE {\t-- new DF in V2\r\n\tpriority\t\t\t\t\t\t\t\tPriorityLevel,\r\n\tallowedSaeAutomationLevels\t\t\t\tSaeAutomationLevels,\r\n\tmaxNoOfVehicles\t\t\t\t\t\t\tMaxNoOfVehicles OPTIONAL,\r\n\tmaxLenghtOfPlatoon\t\t\t\t\t\tMaxLenghtOfPlatoon OPTIONAL,\r\n\tminGapBetweenVehicles\t\t\t\t\tGapBetweenVehicles OPTIONAL,\r\n\tplatoonMaxSpeedLimit\t\t\t\t\tSpeedValue OPTIONAL,\r\n\tplatoonMinSpeedLimit\t\t\t\t\tSpeedValue OPTIONAL,\r\n\tplatoonSpeedRecommendation\t\t\t\tSpeedValue OPTIONAL,\r\n\troadSignCodes\t\t\t\t\t\t\tRoadSignCodes OPTIONAL,\r\n\textraText\t\t\t\t\t\t\t\tConstraintTextLines2 OPTIONAL,\r\n\t...\r\n\t}\r\n\r\nPolygonalLine::= CHOICE {\r\n\tdeltaPositions\t\t\t\t\tDeltaPositions, \r\n\tdeltaPositionsWithAltitude\t\tDeltaReferencePositions, \t\r\n\tabsolutePositions\t\t\t\tAbsolutePositions, \r\n\tabsolutePositionsWithAltitude\tAbsolutePositionsWAltitude, \r\n\t...\r\n\t}\r\n\r\nRoadSurfaceDynamicCharacteristics::= SEQUENCE{\r\n\tcondition\t\t\t\tCondition,\r\n\ttemperature\t\t\t\tTemperature,\r\n\ticeOrWaterDepth\t\t\tDepth,\r\n\ttreatment\t\t\t\tTreatmentType\r\n\t}\r\n\r\nRoadSurfaceStaticCharacteristics::= SEQUENCE{\r\n\tfrictionCoefficient\t\tFrictionCoefficient,\r\n\tmaterial\t\t\t\tMaterialType,\r\n\twear\t\t\t\t\tWearLevel,\r\n\tavBankingAngle\t\t\tBankingAngle\r\n\t}\r\n\t\r\nRSCode::= SEQUENCE{\r\n\tlayoutComponentId\tINTEGER(1..4,...) OPTIONAL,\r\n\tcode\t\t\t\tCHOICE {\r\n\t\tviennaConvention\tVcCode, -- see Vienna Convention Annex A\r\n\t\tiso14823\t\t\tISO14823Code, \r\n\t\titisCodes\t\t\tINTEGER (0..65535), -- see SAE J2540\r\n\t\tanyCatalogue\t\tAnyCatalogue,\r\n\t\t...\r\n\t\t}}\r\n\r\nSegment::= SEQUENCE {\r\n\tline\t\t\tPolygonalLine,\r\n\tlaneWidth\t\tIviLaneWidth OPTIONAL\r\n\t}\r\n\r\nText::= SEQUENCE {\r\n\tlayoutComponentId\tINTEGER(1..4,...) OPTIONAL,\r\n\tlanguage\t\t\tBIT STRING (SIZE(10)), \t\r\n\ttextContent\t\t\tUTF8String\r\n\t}\r\n\r\nTractorCharacteristics::=SEQUENCE{\r\n\tequalTo\t\t\tVehicleCharacteristicsFixValuesList OPTIONAL,\r\n    notEqualTo\t\tVehicleCharacteristicsFixValuesList OPTIONAL, \r\n\tranges      \tVehicleCharacteristicsRangesList OPTIONAL\r\n\t}\r\n    \r\nTrailerCharacteristics::=SEQUENCE{\r\n    equalTo     TrailerCharacteristicsFixValuesList OPTIONAL,\r\n    notEqualTo  TrailerCharacteristicsFixValuesList OPTIONAL,\r\n    ranges      TrailerCharacteristicsRangesList  OPTIONAL\r\n    }\r\n\r\nTrainCharacteristics::= TractorCharacteristics\r\n\r\nVcCode::= SEQUENCE {\r\n\troadSignClass \tVcClass,  -- see Vienna Convention \r\n\troadSignCode\tINTEGER (1..64),\r\n\tvcOption\t\tVcOption, -- e.g. the \"a\" in H, 3a\r\n\tvalidity\t\tValidityPeriods OPTIONAL, \r\n\tvalue\t\t\tINTEGER (0..65535) OPTIONAL, \r\n\tunit\t\t\tRSCUnit OPTIONAL\t\t\t\r\n\t}\r\n\r\nVehicleCharacteristicsFixValues::= CHOICE{\r\n\tsimpleVehicleType\t\t\tStationType,\t\r\n\teuVehicleCategoryCode\t \tEuVehicleCategoryCode,\r\n\tiso3833VehicleType\t \t\tIso3833VehicleType,\r\n\teuroAndCo2value\t\t\t\tEnvironmentalCharacteristics,\r\n\tengineCharacteristics\t\tEngineCharacteristics,\r\n\tloadType\t\t\t\t\tLoadType,\r\n\tusage\t\t\t\t\t\tVehicleRole,\r\n\t...\r\n\t}\r\n\r\nVehicleCharacteristicsRanges::= SEQUENCE{\r\n\tcomparisonOperator\t\t\tComparisonOperator,\r\n\tlimits\t\t\t\t\tCHOICE{\r\n\t\tnumberOfAxles\t\t\t\tINTEGER(0..7),\r\n\t\tvehicleDimensions\t\t\tVehicleDimensions,\r\n\t\tvehicleWeightLimits\t\t\tVehicleWeightLimits,\r\n\t\taxleWeightLimits\t\t\tAxleWeightLimits,\r\n\t\tpassengerCapacity \t\t\tPassengerCapacity, \r\n\t\texhaustEmissionValues\t\tExhaustEmissionValues,\r\n\t\tdieselEmissionValues  \t\tDieselEmissionValues,\r\n\t\tsoundLevel\t\t\t\t\tSoundLevel, \r\n\t\t...\r\n\t\t}\r\n\t}\r\n\r\nZone::= CHOICE {\r\n\tsegment\t\t\t\tSegment,\r\n\tarea\t\t\t\tPolygonalLine,\r\n\tcomputedSegment\t\tComputedSegment,\r\n\t...\r\n\t}\r\n\r\n-- Defition of IVI specific data elements \r\n\r\nBankingAngle::=INTEGER (-20..21)\r\n\r\nComparisonOperator ::= INTEGER {\r\n\tgreaterThan\t\t\t\t(0),\r\n\tgreaterThanOrEqualTo\t(1),\r\n\tlessThan\t\t\t\t(2),\r\n\tlessThanOrEqualTo\t\t(3)\r\n\t} (0..3)\r\n\r\nCondition::=INTEGER{\r\n\tdry\t \t\t\t\t(0),\r\n\tmoist\t\t\t\t(1),\r\n\twet\t\t\t\t \t(2),\r\n\tstandingWater\t\t(3),\t\r\n\tfrost\t\t\t\t(4),\r\n\tice\t\t\t\t\t(5),\r\n\tsnow \t\t\t\t(6),\r\n\tslush\t\t\t\t(7),\r\n\tunvailable\t\t\t(8)\r\n-- values 9 to 15 reserved for future use  \r\n} (0..15, ...)\r\n\r\nDefinitionAccuracy::= INTEGER{\r\n\toneCm \t\t\t\t(0),\r\n\ttwoCm\t\t\t\t(1),\r\n\tfiveCm\t\t\t\t(2),\r\n\ttenCm \t\t\t\t(3),\r\n\ttwentyCm\t\t\t(4),\r\n\tfiftyCm\t\t\t\t(5),\r\n\toneMeter\t\t\t(6),\r\n\tunavailable\t\t\t(7)\r\n} (0..7, ...)\r\n\r\nDepth::= INTEGER (0..255)\r\n\r\nDirection::= INTEGER{\r\n\tsameDirection\t\t\t(0),\r\n\toppositeDirection\t\t(1),\r\n\tbothDirections\t\t\t(2),\r\n\tvalueNotUsed\t\t\t(3)\r\n\t} (0..3)\r\n\r\nDriverCharacteristics::= INTEGER{\r\n\tunexperiencedDrivers\t\t(0),\r\n\texperiencedDrivers\t\t\t(1),\r\n\trfu1\t\t\t\t\t\t(2),\t\r\n\trfu2\t\t\t\t\t\t(3)\r\n\t} (0..3)\r\n\r\nFrictionCoefficient::= INTEGER (0..101) \r\n\r\nGapBetweenVehicles::= INTEGER (0..255) -- new DE in V2\r\n\r\nGoodsType::= INTEGER {\r\n\tammunition\t\t\t\t\t(0),\r\n\tchemicals\t\t\t\t\t(1),\r\n\tempty \t\t\t\t\t\t(2),\r\n\tfuel\t\t\t\t\t\t(3),\r\n\tglass\t\t\t\t\t\t(4),\r\n\tdangerous\t\t\t\t\t(5),\r\n\tliquid\t\t\t\t\t\t(6),\r\n\tliveStock\t\t\t\t\t(7),\r\n\tdangerousForPeople\t\t\t(8),\r\n\tdangerousForTheEnvironment\t(9),\r\n\tdangerousForWater\t\t\t(10),\r\n\tperishableProducts\t\t\t(11),\r\n\tpharmaceutical\t\t\t\t(12),\r\n\tvehicles\t\t\t\t\t(13)\r\n\t-- other values  reserved for future use\r\n\t} (0..15,...)\r\n\r\nIviIdentificationNumber::= INTEGER(1..32767,...)\r\n\r\nIviLaneWidth::= INTEGER (0..1023) -- only renamed from V1, no change\r\n\r\nIviPurpose::= INTEGER { \r\n\tsafety \t\t\t\t\t(0), \r\n\tenvironmental \t\t\t(1), \r\n\ttrafficOptimisation \t(2)\r\n\t} (0..3) \r\n\r\nIviStatus::= INTEGER {\r\n\tnew \t\t\t(0),\t\r\n\tupdate\t\t\t(1),\t\r\n\tcancellation\t(2),\t\r\n\tnegation \t\t(3)\t\r\n\t-- other values  reserved for future use\r\n\t}(0..7)\r\n\r\nIviType::= INTEGER {\r\n\timmediateDangerWarningMessages \t\t\t(0),\r\n\tregulatoryMessages \t\t\t\t\t\t(1),\r\n\ttrafficRelatedInformationMessages \t\t(2), \r\n\tpollutionMessages \t\t\t\t\t\t(3),\r\n\tnotTrafficRelatedInformationMessages \t(4)\r\n\t-- other values  reserved for future use\r\n\t} (0..7)\r\n\r\nLaneDelimitation::=INTEGER {\r\n\tnoDelimitation \t\t(0),\r\n\tlowLaneSeparator \t(1),\r\n\thighLaneSeparator\t(2),\r\n\twall \t\t\t\t(3),\r\n\tcurb\t\t\t\t(4),\r\n\tunpaved\t\t\t\t(5),\r\n\tguardrail\t\t\t(6)\r\n\t-- value 7 reserved for future use \r\n} (0..7, ...)\r\n\r\nLaneMarkingStatus::= BOOLEAN\r\n\r\nLaneStatus::= INTEGER {\r\n\topen \t\t\t\t(0),\r\n\tclosed \t\t\t\t(1),\r\n\tmergeR \t\t\t\t(2),\r\n\tmergeL \t\t\t\t(3),\r\n\tmergeLR \t\t\t(4),\r\n\tprovisionallyOpen \t(5),\r\n\tdiverging \t\t\t(6)\t\r\n\t-- value 7 reserved for future use \r\n} (0..7, ...)\r\n\r\nLaneType::= INTEGER{\r\n\ttraffic \t\t\t(0),\r\n\tthrough\t\t\t\t(1),\r\n\treversible\t\t\t(2),\r\n\tacceleration\t\t(3),\r\n\tdeceleration\t\t(4),\r\n\tleftHandTurning\t\t(5),\r\n\trightHandTurning\t(6),\r\n\tdedicatedVehicle\t(7),\r\n\tbus\t\t\t\t\t(8),\r\n\ttaxi\t\t\t\t(9),\r\n\thov\t\t\t\t\t(10),\r\n\thot\t\t\t\t\t(11),\r\n\tpedestrian\t\t\t(12),\r\n\tbikeLane\t\t\t(13),\r\n\tmedian              (14),   \r\n\tstriping\t\t\t(15),\r\n\ttrackedVehicle\t\t(16),\r\n\tparking\t\t\t\t(17),\r\n\temergency\t\t\t(18),\r\n\tverge \t\t\t\t(19),\r\n\tminimumRiskManoeuvre(20)\r\n-- values 21 to 31 reserved for future use \r\n\t}(0..31)\r\n\r\nMarkingColour::=INTEGER {\r\n\twhite \t\t\t\t(0),\r\n\tyellow\t\t\t \t(1),\r\n\torange\t\t\t\t(2),\r\n\tred \t\t\t\t(3),\r\n\tblue\t\t\t\t(4),\r\n\tunavailable\t\t\t(7)\r\n\t-- value 5,6 reserved for future use \r\n} (0..7, ...)\r\n\r\nMaterialType::=INTEGER {\r\n\tasphalt \t\t\t(0),\r\n\tconcrete\t\t \t(1),\r\n\tcobblestone\t\t\t(2),\r\n\tgravel \t\t\t\t(3),\r\n\tunavailable\t\t\t(7)\r\n-- value 4, 5,6 reserved for future use \r\n} (0..7, ...)\r\n\r\nMaxLenghtOfPlatoon::= INTEGER (1..64) -- new DE in V2\r\n\r\nMaxNoOfVehicles::= INTEGER (2..64) -- new DE in V2\r\n\r\nPriorityLevel::=INTEGER (0..2) -- new DE in V2\r\n\r\nRSCUnit::= INTEGER {\r\n\tkmperh\t\t\t\t(0),\r\n\tmilesperh\t\t\t(1),\r\n\tkilometer\t\t\t(2),\r\n\tmeter\t\t\t\t(3),\r\n\tdecimeter\t\t\t(4),\r\n\tcentimeter\t\t\t(5),\r\n\tmile\t\t\t\t(6),\r\n\tyard\t\t\t\t(7),\r\n\tfoot\t\t\t\t(8),\r\n\tminutesOfTime\t\t(9),\r\n\ttonnes\t\t\t\t(10), --1000 kg, not Ton!\r\n\thundredkg\t\t\t(11),\r\n\tpound\t\t\t\t(12), --lbs\r\n\trateOfIncline\t\t(13)\r\n\t-- other value reserved for future use\r\n\t} (0..15)\r\n\r\nSaeAutomationLevel::= INTEGER (0..5) -- new DE in V2\r\n\r\nTemperature::=INTEGER (-100..151)\r\n\r\nTreatmentType ::= INTEGER {\r\n\tno\t\t\t\t(0),\r\n\tantiskid\t\t(1),\r\n\tanti-icing\t\t(2),\r\n\tde-icing\t\t(3),\r\n\tunavailable \t(7)\r\n-- value 4 to 6 reserved for future use\r\n\t} (0..7)\r\n\r\nVcClass::= INTEGER {\r\n\tclassA \t(0),\r\n\tclassB\t(1),\r\n\tclassC\t(2),\r\n\tclassD\t(3),\r\n\tclassE\t(4),\r\n\tclassF\t(5),\r\n\tclassG\t(6),\r\n\tclassH\t(7)\r\n\t} (0..7)\r\n\r\nVcOption::= INTEGER {\r\n\tnone \t(0),\r\n\ta \t\t(1),\r\n\tb\t\t(2),\r\n\tc\t\t(3),\r\n\td\t\t(4),\r\n\te\t\t(5),\r\n\tf\t\t(6),\r\n\tg\t\t(7)\r\n\t} (0..7)\r\n\r\nWearLevel::=INTEGER {\r\n\tnew\t\t \t\t\t(0),\r\n\tgood\t\t\t \t(1),\r\n\tbad\t\t\t\t\t(2),\r\n\thasPotholes \t\t(3),\r\n\tunavailable\t\t\t(7)\r\n-- value 4, 5,6 reserved for future use \r\n} (0..7, ...)\r\n\r\nZid::= INTEGER (1..32,...)\r\n\r\nEND", kind: MatchingError(Tag) }
    

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant