Commit 10b552b3 authored by mullers's avatar mullers
Browse files

changes implemented from ITSWG1#31

parent febda2a9
Loading
Loading
Loading
Loading
+178 −66
Original line number Diff line number Diff line

-- TPMS-TPG Transactions message definitions
-- TIS-TPG Transactions message definitions
-- ASN.1 Start Definition

TPMS-Transactions-Descriptions {
TIS-TPG-Transactions-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5)
wg1 (1) i2vApplications (101556) tpms (2) transactions (1) version (1)}
DEFINITIONS AUTOMATIC TAGS ::= 
@@ -10,110 +10,188 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
ItsPduHeader, StationID, ReferencePosition, StationType, VehicleSpeed, Direction, TimestampIts 
ItsPduHeader, CauseCode, ReferencePosition, Speed, Heading, TimestampIts, StationID, VehicleIdentification 
FROM ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) 
};


-- Root Message PDU: TpmsTransactionsPdu

TpmsTransactionsPdu ::= SEQUENCE {
-- Root Message PDU: TisTpgTransactionsPdu

TisTpgTransactionsPdu ::= SEQUENCE {
	header ItsPduHeader, 
	tpmsTransaction	TpmsTransaction
	tisTpgTransaction tisTpgTransaction
}

TpmsTransaction ::= CHOICE {
	tpmsDRM	TpmsDRM,
	tpmsSRM	TpmsSRM,
	tpmsSCM	TpmsSCM,
	tpmsVDRM TpmsVDRM,
	tpmsVDPM TpmsVDPM,
	tpmsEOFM TpmsEOFM
TisTpgTransaction ::= CHOICE {
	drm	TisTpgDRM,
	snm	TisTpgSNM,
	srm	TisTpgSRM,
	scm	TisTpgSCM,
	vdrm TisTpgVDRM,
	vdpm TisTpgVDPM,
	eofm TisTpgEOFM
}

-- TisTpgDRM

TpmsDRM ::= SEQUENCE {
 management TpmsDRM-Management,
 situation TpmsDRM-Situation,
 location ReferencePosition
TisTpgDRM ::= SEQUENCE {
 management TisTpgDRM-Management,
 situation TisTpgDRM-Situation,
 location TisTpgDRM-Location,
 ...
}

TisTpgDRM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 vehicleType UnecsType,
 costumerContract CustomerContract OPTIONAL,
 tisProfile	TisProfile, 
 ... 
}

TpmsDRM-Management ::= SEQUENCE {
 vehicleType StationType,
 costumercontract CustomerContract OPTIONAL
TisTpgDRM-Situation ::= SEQUENCE {
 causeCode	CauseCode,
 ...
}

TpmsDRM-Situation ::= SEQUENCE {
 vehicleSpeed VehicleSpeed
TisTpgDRM-Location ::= SEQUENCE {
 vehiclePosition ReferencePosition,
 vehicleSpeed Speed,
 vehicleHeading Heading,
 requestPosition ReferencePosition OPTIONAL,
 searchRange SearchRange OPTIONAL,
 searchCondition SearchCondition OPTIONAL,
 ...
}

-- TisTpgSNM

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

TisTpgSNM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 totalTpgStations TotalTpgStations,
 ...
}

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

TisTpgSRM ::= SEQUENCE {
 management TisTpgSRM-Management,
 situation TisTpgSRM-Situation OPTIONAL,
 location TisTpgSRM-Location OPTIONAL,
 ...
}

TpmsSRM-Situation ::= SEQUENCE {
 vehicleSpeed VehicleSpeed OPTIONAL,
 vehicleHeading Direction OPTIONAL
TisTpgSRM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 vehicleType UnecsType,
 tpgStationID StationID, 
 reservationStatus ReservationStatus,
 costumercontract CustomerContract OPTIONAL,
 reservationID ReservationID OPTIONAL,
 ...
}

SRM-Container ::= SEQUENCE {
TisTpgSRM-Situation ::= SEQUENCE {
 estArrivalTime TimestampIts,
 proposedPairingID PairingID OPTIONAL
}


TpmsSCM ::= SEQUENCE {
 management TpmsSCM-Management,
 location ReferencePosition,
 scm-Container SCM-Container
TisTpgSRM-Location ::= SEQUENCE {
 vehiclePosition ReferencePosition,
 vehicleSpeed Speed,
 vehicleHeading Heading,
 ...
}

TpmsSCM-Management ::= SEQUENCE {
 tpmsStationID StationID,
 reservedTpms INTEGER(0..255)
-- TisTpgSCM

TisTpgSCM ::= SEQUENCE {
 management TisTpgSCM-Management,
 situation TisTpgSCM-Situation OPTIONAL, 
 location TisTpgSCM-Location OPTIONAL,
 ...
}

SCM-Container ::= SEQUENCE {
TisTpgSCM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 tpgStationID StationID,
 reservationStatus ReservationStatus,
 pairingID PairingID,
 reservationTimeLimit TimestampIts
 reservedTpg INTEGER(1..65535)	OPTIONAL,
 costumercontract CustomerContract OPTIONAL,
 reservationID	ReservationID OPTIONAL,
 tpgAutomationLevel	TpgAutomation OPTIONAL,
 ...
}

TisTpgSCM-Situation::= SEQUENCE {
 pairingID PairingID OPTIONAL,
 reservationTimeLimit TimestampIts,
 cancellationCondition CancellationCondition OPTIONAL,
 ...
}

TisTpgSCM-Location::= SEQUENCE {
 tpgLocation ReferencePosition OPTIONAL,
 address UTF8String(SIZE(1..128)) OPTIONAL,
 ...
}

-- TisTpgVDRM

TpmsVDRM ::= NULL
TisTpgVDRM ::= SEQUENCE {
 management TisTpgVDRM-Management,
 ...
}

TisTpgVDRM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 fillingStatus FillingStatus,
 automationLevel TpgAutomation, 
 pairingID	PairingID OPTIONAL,
 ...
}

-- TisTpgVDPM

TpmsVDPM ::= SEQUENCE {
	management TpmsVDPM-Management OPTIONAL,
TisTpgVDPM ::= SEQUENCE {
 management TisTpgVDPM-Management,
 placardTable PlacardTable,
	currentVehicleConfiguration CurrentVehicleConfiguration OPTIONAL,
	frontLeftTyreData TyreData OPTIONAL,
	frontRightTyreData TyreData OPTIONAL,
	rearLeftTyreData TyreData OPTIONAL,
	rearRightTyreData TyreData OPTIONAL,
	spareTyreData TyreData OPTIONAL
 vehicleSpecificData VehicleSpecificData OPTIONAL,
 ...
}

TpmsEOFM ::= SEQUENCE {
 fillingStatus FillingStatus OPTIONAL,
 appliedTyrePressures AppliedTyrePressures OPTIONAL
TisTpgVDPM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 tisProfile	TisProfile	OPTIONAL,
 language Language,
 vehicleType UnecsType,
 tyreTempCondition TyreTempCondition,
 fillingStatus FillingStatus,
 pairingID PairingID OPTIONAL,
 ...
}

-- TisTpgEOFM

TpmsVDPM-Management ::= SEQUENCE {
	driverLanguage DriverLanguage OPTIONAL, 
	vehicleType VehicleType OPTIONAL,
	tyreTempCondition TyreTempCondition OPTIONAL
TisTpgEOFM ::= SEQUENCE {
 management TisTpgEOFM-Management,
 ...
}

TisTpgEOFM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 fillingStatus FillingStatus,
 numberOfAppliedPressure NumberOfAppliedPressure,
 appliedTyrePressures AppliedTyrePressures OPTIONAL,
 pairingID	PairingID OPTIONAL,
 ...
}

PlacardTable ::= SEQUENCE(SIZE(0..15)) OF TyreSetVariant
@@ -132,9 +210,9 @@ PressureVariantsList ::= SEQUENCE(SIZE(0..15)) OF PressureVariant

PressureVariant ::= SEQUENCE 
{
	pressureConfiguration PressureConfiguration OPTIONAL,
	frontAxlePressure AxlePlacardPressure OPTIONAL,
	rearAxlePressure AxlePlacardPressure OPTIONAL
	pressureConfiguration PressureConfiguration,
	frontAxlePressure AxlePlacardPressure,
	rearAxlePressure AxlePlacardPressure
}

TyreData ::= SEQUENCE
@@ -211,5 +289,39 @@ AppliedTyrePressure ::= CHOICE {
   unavailable NULL
}

TpgStationData ::= SEQUENCE {
 tpgStationID StationID,
 tpgAutomationLevel TpgAutomation, 
 tpgNumber TpgNumber,
 tpgProvider TpgProvider,
 tpgLocation ReferencePosition,
 accessibility Accessibility,
 address UTF8String(SIZE(1..128))  OPTIONAL,
 phoneNumber PhoneNumber OPTIONAL,
 digitalMap DigitalMap OPTIONAL,
 openingDaysHours openingDaysHours OPTIONAL,
 bookingInfo BookingInfo OPTIONAL,
 availableTpgNumber AvailableTpgNumber OPTIONAL,
 cancellationCondition cancellationCondition OPTIONAL,
 ...
}

SearchRange ::= INTEGER(0..255)
SearchCondition ::= ENUMERATED {nearest(0), quickest(1), paylessRoad(2), ... } SIZE((8))
TotalTpgStations ::= INTEGER(0..65535)
TpgNotifContainer ::= SEQUENCE (SIZE(1..8)) OF TpgStationData
DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition
TpgNumber ::= INTEGER(1..65535)
TpgProvider ::= UTF8String (SIZE(1..32))
TpgLocation ::= ReferencePosition
Accessibility ::= UTF8String (SIZE(1..32))
PhoneNumber NumericString (SIZE(1..16))
OpeningDaysHours ::= UTF8String
BookingInfo ::= UTF8String
AvailableTpgNumber ::= INTEGER(1..65535)
CancellationCondition ::= UTF8String (SIZE(1..32))
TpgAutomation ::= BIT STRING  {fullAutomated(0), semiAutomated(1), manual(2), reserved (3)} (SIZE(4))
FillingStatus ::= ENUMERATED {requestVehicleData(0), sendVehicleData(1), started(2), fillingProcessFailed (2), fillingProcessCompleted (3), ... } SIZE((8))
NumberOfAppliedPressure ::= ENUMERATED {oneAppliedPressure(1), twoAppliedPressure (2), …} (1..5)

END