Commit 4bfdb097 authored by kovacsa's avatar kovacsa
Browse files

asn1 update

parent b6a70811
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line

-- TPMS-TPG Notification message definitions
-- TPMS-TPMS Notification message definitions
-- ASN.1 Start Definition

TPG-Notification-Descriptions {
TPMS-Notification-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5)
wg1 (1) i2vApplications (101556) tpg (2) notification (0) version (1)}  
wg1 (1) i2vApplications (101556) tpms (2) notification (0) version (1)}  
DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN
@@ -15,54 +15,54 @@ FROM ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cc (2) version (1) 
};

-- Root Message PDU: TpgNotificationPdu
-- Root Message PDU: TpmsNotificationPdu

TpgNotificationPdu ::= SEQUENCE {
TpmsNotificationPdu ::= SEQUENCE {
	header	ItsPduHeader, 
	tpgnPOI	TpgNotificationPOIMessage
	tpmsNotificationPOI	TpmsNotificationPOIMessage
}

TpgNotificationPOIMessage ::= SEQUENCE {
TpmsNotificationPOIMessage ::= SEQUENCE {
	poiHeader	ItsPOIHeader, -- Specific POI Message Header
	tpgServiceNotification	TpgServiceNotification  -- TPG Service Notification Data Elements
	tpmsServiceNotification	TpmsServiceNotification  -- TPMS Service Notification Data Elements
}

ItsPOIHeader ::= SEQUENCE {
	poiType                 POIType, -- set to "TPG POI ID"
	poiType                 POIType, -- set to "TPMS POI ID"
    	timeStamp               TimestampIts,
	relayCapable            BOOLEAN
}

POIType ::= INTEGER(0..65535)

-- TPG Service Notification Message
TpgServiceNotification ::= SEQUENCE {
-- TPMS Service Notification Message
TpmsServiceNotification ::= SEQUENCE {
	management ManagementContainer,
	tpgStation TpgSlist
	tpmsStation TpmsSlist
}

ManagementContainer ::= SEQUENCE {
	totalNumberTpg INTEGER(0..255),
	currentNumberTpg INTEGER(0..7)
	totalNumberTpms INTEGER(0..255),
	currentNumberTpms INTEGER(0..7)
}

TpgSlist ::= SEQUENCE (SIZE(0..7)) OF TpgSContainer
TpmsSlist ::= SEQUENCE (SIZE(0..7)) OF TpmsSContainer

TpgSContainer ::= SEQUENCE {
	tpgStationID StationID,
	tpgProviderID IA5String(SIZE(1..32)),
	tpgStationLocation ReferencePosition,
	tpgAddress  TpgAddress,
	tpgTelephone IA5String(SIZE(1..32)),
	tpgAccessConditions ENUMERATED {none (0),trucksOnly (1),carsOnly (2)},
TpmsSContainer ::= SEQUENCE {
	tpmsStationID StationID,
	tpmsProviderID IA5String(SIZE(1..32)),
	tpmsStationLocation ReferencePosition,
	tpmsAddress  TpmsAddress,
	tpmsTelephone IA5String(SIZE(1..32)),
	tpmsAccessConditions ENUMERATED {none (0),trucksOnly (1),carsOnly (2)},
	digitalMapAccess SEQUENCE (SIZE(1..31)) OF ReferencePosition, 
	openingDays BIT STRING {monday (0),tuesday (1),wednesday (2), thursday (3), friday (4), saturday (5), sunday (6)} (SIZE(7)),
	ipv6Address OCTET STRING (SIZE(16)),
	numberTpgCars INTEGER(0..15),
	numberTpgTrucks INTEGER(0..15)
	numberTpmsCars INTEGER(0..15),
	numberTpmsTrucks INTEGER(0..15)
}

TpgAddress ::= SEQUENCE {
TpmsAddress ::= SEQUENCE {
	streetName IA5String(SIZE(1..32)),
	streetNumber IA5String(SIZE(1..4)),
	cityName IA5String(SIZE(1..16)),
+57 −49
Original line number Diff line number Diff line
@@ -2,9 +2,9 @@
-- TPMS-TPG Transactions message definitions
-- ASN.1 Start Definition

TPG-Transactions-Descriptions {
TPMS-Transactions-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5)
wg1 (1) i2vApplications (101556) tpg (2) transactions (1) version (1)}
wg1 (1) i2vApplications (101556) tpms (2) transactions (1) version (1)}
DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN
@@ -16,51 +16,51 @@ FROM ITS-Container {
};


-- Root Message PDU: TpgTransactionsPdu
-- Root Message PDU: TpmsTransactionsPdu

TpgTransactionsPdu ::= SEQUENCE {
TpmsTransactionsPdu ::= SEQUENCE {
	header		ItsPduHeader, 
	tpgTransaction	TpgTransaction
	tpmsTransaction	TpmsTransaction
}

TpgTransaction ::= CHOICE {
	tpgDRM	TpgDRM,
	tpgSRM	TpgSRM,
	tpgSCM	TpgSCM,
	tpgVDRM TpgVDRM,
	tpgVDPM TpgVDPM
TpmsTransaction ::= CHOICE {
	tpmsDRM	TpmsDRM,
	tpmsSRM	TpmsSRM,
	tpmsSCM	TpmsSCM,
	tpmsVDRM TpmsVDRM,
	tpmsVDPM TpmsVDPM
}


TpgDRM ::= SEQUENCE {
 management TpgDRM-Management,
 situation TpgDRM-Situation,
TpmsDRM ::= SEQUENCE {
 management TpmsDRM-Management,
 situation TpmsDRM-Situation,
 location ReferencePosition
}

TpgDRM-Management ::= SEQUENCE {
TpmsDRM-Management ::= SEQUENCE {
 vehicleType StationType,
 costumercontract CustomerContract OPTIONAL
}

TpgDRM-Situation ::= SEQUENCE {
TpmsDRM-Situation ::= SEQUENCE {
 vehicleSpeed VehicleSpeed
}


TpgSRM ::= SEQUENCE {
 management TpgSRM-Management,
 situation TpgSRM-Situation,
TpmsSRM ::= SEQUENCE {
 management TpmsSRM-Management,
 situation TpmsSRM-Situation,
 location ReferencePosition,
 srm-Container SRM-Container
}

TpgSRM-Management ::= SEQUENCE {
TpmsSRM-Management ::= SEQUENCE {
 stationType StationType,
 costumercontract CustomerContract OPTIONAL
}

TpgSRM-Situation ::= SEQUENCE {
TpmsSRM-Situation ::= SEQUENCE {
 vehicleSpeed VehicleSpeed OPTIONAL,
 vehicleHeading Direction OPTIONAL
}
@@ -71,15 +71,15 @@ SRM-Container ::= SEQUENCE {
}


TpgSCM ::= SEQUENCE {
 management TpgSCM-Management,
TpmsSCM ::= SEQUENCE {
 management TpmsSCM-Management,
 location ReferencePosition,
 scm-Container SCM-Container
}

TpgSCM-Management ::= SEQUENCE {
 tpgStationID StationID,
 reservedTPG INTEGER(0..255)
TpmsSCM-Management ::= SEQUENCE {
 tpmsStationID StationID,
 reservedTpms INTEGER(0..255)
}

SCM-Container ::= SEQUENCE {
@@ -89,12 +89,13 @@ SCM-Container ::= SEQUENCE {
}


TpgVDRM ::= NULL
TpmsVDRM ::= NULL


TpgVDPM ::= SEQUENCE {
	management TpgVDPM-Management,
TpmsVDPM ::= SEQUENCE {
	management TpmsVDPM-Management,
	placardTable PlacardTable,
	currentVehicleConfiguration CurrentVehicleConfiguration,
	frontLeftTyreData TyreData,
	frontRightTyreData TyreData,
	rearLeftTyreData TyreData,
@@ -102,7 +103,7 @@ TpgVDPM ::= SEQUENCE {
	spareTyreData TyreData
}

TpgVDPM-Management ::= SEQUENCE {
TpmsVDPM-Management ::= SEQUENCE {
	driverLanguage DriverLanguage, 
	vehicleType StationType,
	tyreTempCondition TyreTempCondition
@@ -117,24 +118,29 @@ TyreSidewallInformation ::= SEQUENCE {
	}

TyreType ::= SEQUENCE {
		tyreStatus TyreStatus,
		tyreCharacteristic TyreCharacteristic,
		patternStructure PatternStructure,
		tyreSeasonality TyreSeasonality,
		tyreLoad TyreLoad
	}	
	
TyreStatus ::= ENUMERATED { standard (0), runningFlat (1) }
TyreCharacteristic ::= ENUMERATED { standard (0), runningFlat (1), ... }

TyreSeasonality ::= ENUMERATED { allSeason (0), summer (1), winter (2), severeWinter (3) }
PatternStructure ::= BIT STRING { rollingDirectionDependent(0), asymmetrical(1) } SIZE (2, ...) 

TyreLoad ::= ENUMERATED {normalLoad (0), extraLoad (1)}
TyreSeasonality ::= ENUMERATED { allSeason (0), summer (1), winter (2), severeWinter (3) }

TyreLoad ::= ENUMERATED {normalLoad (0), extraLoad (1), ... }

PlacardTable ::= SEQUENCE {
	numberofTyreSets	NumberofTyreSets, 
	tyreSetlist	SEQUENCE(SIZE(0..15)) OF TyreSetVariant
CurrentVehicleConfiguration ::= SEQUENCE {
	 loadConfiguration LoadConfiguration,
	 drivingType DrivingType,
	 speedType SpeedType,
	 ...
	}	
	
NumberofTyreSets ::= INTEGER(0..15)   -- 0: No specific tyres, 1: One specific tyres
PlacardTable ::= SEQUENCE(SIZE(0..15)) OF TyreSetVariant


TyreSetVariant ::= SEQUENCE 
{
@@ -143,11 +149,10 @@ TyreSetVariant ::= SEQUENCE
	frontAxleType TyreType,
	rearAxleDimension TyreSidewallInformation,
	rearAxleType TyreType,
	numberofPressureVariants NumberofPressureVariants,
	pressureVariantsList SEQUENCE(SIZE(0..15)) OF PressureVariant
	pressureVariantsList PressureVariantsList
}

NumberofPressureVariants ::= INTEGER(0..15)   -- 0: No specific variant, 1: One specific variant
PressureVariantsList ::= SEQUENCE(SIZE(0..15)) OF PressureVariant

PressureVariant ::= SEQUENCE 
{
@@ -158,11 +163,11 @@ PressureVariant ::= SEQUENCE
	rearAxlePressure AxlePlacardPressure
}

LoadConfiguration ::= ENUMERATED {notRelevant(0), partiallyLoaded(1), fullyLoaded(2) }
LoadConfiguration ::= ENUMERATED {notRelevant(0), partiallyLoaded(1), fullyLoaded(2), ... }

DrivingType ::= ENUMERATED {notRelevant(0), sport(1), eco(2), comfort(3) }
DrivingType ::= ENUMERATED {notRelevant(0), sport(1), eco(2), comfort(3), ... }

SpeedType ::= ENUMERATED { notRelevant(0), speedSlot1(1), speedSlot2(2), speedSlot3(3) }
SpeedType ::= ENUMERATED { notRelevant(0), speedSlot1(1), speedSlot2(2), speedSlot3(3), ... }

AxlePlacardPressure ::= INTEGER { zero (0), fiveKPa (1) } (0..255)

@@ -170,20 +175,23 @@ TyreData ::= SEQUENCE
{
	tyrePressure TyrePressure,
	tyreSidewallInformation TyreSidewallInformation,
	tyreType TyreType,
	insideAirTemperature AirTemperature,
	recommendedTyrePressure AxlePlacardPressure,
	dot DOT OPTIONAL,
	sensorState INTEGER(0..65535) OPTIONAL,
	energyStatus OCTET STRING (SIZE(8)) OPTIONAL	
	sensorState SensorState OPTIONAL,
	...	
}

SensorState ::= INTEGER { malfunction(65534), unavailable(65535) } (0..65535)

TyrePressure ::= INTEGER { invalid (0), lessThanOneBar (1), oneBar (2), oneBarPlusTwoAndHalfKPa (3), inflation (254), overflow(255)  } (0..255)

DriverLanguage ::= INTEGER {english (0), german (1), french (2), italian (3), spanish (4) } (0..15)

TyreTempCondition ::= ENUMERATED {pressure-cold (0),pressure-warm (1), not-available (2) }

AirTemperature ::= INTEGER { invalid (0), lessThanMinus50Celsius(1), minus50Celsius(2), minus49Celsius(3), zeroCelsius(52), overflow(255) } (0..255)
AirTemperature ::= INTEGER { invalid (0), lessThanMinus50Celsius(1), minus50Celsius(2), minus49Celsius(3), zeroCelsius(52), overflowThreshold1(240), overflowThreshold2(241), overflowThreshold3(242), overflowThreshold4(243), overflowThreshold5(244), overflowThreshold6(245), overflowThreshold7(246), overflowThreshold8(247), overflowThreshold9(248), overflowThreshold10(249), overflowThreshold11(250), overflowThreshold12(251), overflowThreshold13(252), overflowThreshold14(253), overflowThreshold15(254), overflowThreshold16(255) } (0..255)

DOT ::= SEQUENCE { 
		origin IA5String (SIZE(1..8)),
@@ -197,7 +205,7 @@ CustomerContract ::= IA5String(SIZE(1..32))
ReservationStatus ::= ENUMERATED { 
 reservationOK (0),
 noReservationService (1),
 noTpgAvailable (2),
 noTpmsAvailable (2),
 ...
}