Commit a7f56da1 authored by Denis Filatov's avatar Denis Filatov
Browse files

ETSI TS 101 556-2 v1.1.1

parent 805c6bf2
Loading
Loading
Loading
Loading

.gitmodules

0 → 100644
+3 −0
Original line number Diff line number Diff line
[submodule "cdd"]
	path = cdd
	url = https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2.git

LICENSE

0 → 100755
+23 −0
Original line number Diff line number Diff line
Copyright 2016 ETSI

Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, 
   this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 
   this list of conditions and the following disclaimer in the documentation 
   and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors 
   may be used to endorse or promote products derived from this software without 
   specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
OF THE POSSIBILITY OF SUCH DAMAGE.
 No newline at end of file
+13 −2
Original line number Diff line number Diff line
# TIS TPG TS 101 556-2
# ASN.1 module for TIR-TPG (ETSI TS 101 556-2)

ASN.1 modules for Tyre Information System (TIS) and Tyre Pressure Gauge (TPG) messages
This repository contains the ASN.1 module for ASN.1 modules for Tyre Information System (TIS) and Tyre Pressure Gauge (TPG) messages in the **TIS-TPG-Transactions-Descriptions.asn** file.
* The module is published with the **[ETSI TS 101 556-2 v1.1.1](https://www.etsi.org/deliver/etsi_ts/101500_101599/10155602/01.01.01_60/ts_10155602v010101p.pdf)** at February 2016.

## License

The content of this repository and the files contained are released under the BSD-3-Clause license.

See the attached LICENSE file or visit https://forge.etsi.org/legal-matters.

## Dependencies

- ETSI TS 102 894-2 v1.2.1 - [Common Data Dictionary](https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2)
+348 −0
Original line number Diff line number Diff line
-- TIS-TPG Transactions message definitions
-- ASN.1 Start Definition

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 ::= 

BEGIN

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



-- Root Message PDU: TisTpgTransactionsPdu

TisTpgTransactionsPdu ::= SEQUENCE {
	header ItsPduHeader, 
	tisTpgTransaction TisTpgTransaction
}

TisTpgTransaction ::= CHOICE {
	drm	TisTpgDRM,
	snm	TisTpgSNM,
	trm	TisTpgTRM,
	tcm	TisTpgTCM,
	vdrm TisTpgVDRM,
	vdpm TisTpgVDPM,
	eofm TisTpgEOFM
}

-- TisTpgDRM

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

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

TisTpgDRM-Situation ::= SEQUENCE {
 causeCode	CauseCode,
 ...
}

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

-- TisTpgSNM

TisTpgSNM ::= SEQUENCE {
 management TisTpgSNM-Management,
 tpgContainer TpgNotifContainer
}

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

-- TisTpgTRM

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

TisTpgTRM-Management ::= SEQUENCE {
 generationTime	TimestampIts,
 vehicleType UNVehicleClassifcation,
 tpgStationID StationID, 
 reservationStatus ReservationStatus,
 costumercontract CustomerContract OPTIONAL,
 reservationID ReservationID OPTIONAL,
 ...
}

TisTpgTRM-Situation ::= SEQUENCE {
 estArrivalTime TimestampIts,
 proposedPairingID PairingID OPTIONAL
}

TisTpgTRM-Location ::= SEQUENCE {
 vehiclePosition ReferencePosition,
 vehicleSpeed Speed,
 vehicleHeading Heading,
 ...
}

-- TisTpgTCM

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

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

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

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

-- TisTpgVDRM

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

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

-- TisTpgVDPM

TisTpgVDPM ::= SEQUENCE {
 management TisTpgVDPM-Management,
 placardTable PlacardTable,
 vehicleSpecificData VehicleSpecificData OPTIONAL,
 ...
}

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

VehicleSpecificData ::= SEQUENCE {
 currentVehicleConfiguration PressureConfiguration,
 frontLeftTyreData TyreData,
 frontRightTyreData TyreData,
 rearLeftTyreData TyreData,
 rearRightTyreData TyreData,
 spareTyreData TyreData,
 ...
}

-- TisTpgEOFM

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

TyreSetVariant ::= SEQUENCE 
{
	variantID TyreSetVariantID,
	frontAxleDimension TyreSidewallInformation OPTIONAL,
	rearAxleDimension TyreSidewallInformation OPTIONAL,
	pressureVariantsList PressureVariantsList
}

PressureVariantsList ::= SEQUENCE(SIZE(1..15)) OF PressureVariant

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

TyreData ::= SEQUENCE
{
	currentTyrePressure CHOICE {
	  tyrePressureValue TyrePressure,
	  unavailable NULL 
	} OPTIONAL,
	tyreSidewallInformation CHOICE {
	  tyreSidewallInformationValue TyreSidewallInformation, 
	  unavailable NULL
	} OPTIONAL,
	currentInsideAirTemperature CHOICE {
	  tyreAirTemperatureValue TyreAirTemperature,
	  unavailable NULL
	} OPTIONAL,
	recommendedTyrePressure CHOICE {
	  axlePlacardPressureValue AxlePlacardPressure,
	  unavailable NULL
	} OPTIONAL,
	tin CHOICE {
	 tinValue TIN, 
	 unavailable NULL
	} OPTIONAL,
	sensorState CHOICE {
	  sensorStateValue SensorState, 
	  unavailable NULL
	} OPTIONAL,
	...	
}

AppliedTyrePressure ::=  CHOICE {
 tyrePressureValue TyrePressure,
 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,
 ...
}

TyreSidewallInformation ::= BIT STRING (SIZE (60))

CurrentVehicleConfiguration ::= BIT STRING (SIZE (9)) 

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

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), unavailable (2), ...  }

TyreAirTemperature ::= 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)

TIN ::= BIT STRING (SIZE(64))

PressureConfiguration ::= BIT STRING (SIZE (9))
	
CustomerContract ::= IA5String(SIZE(1..32))

ReservationStatus ::= ENUMERATED { reservationOK (0), noReservationService (1), noTpmsAvailable (2), ...}

PairingID ::= INTEGER(0..9999)

AppliedTyrePressures ::= SEQUENCE (SIZE(1..5)) OF AppliedTyrePressure

SearchRange ::= INTEGER(0..255)

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 ::= INTEGER {requestVehicleData(0), sendVehicleData(1), started(2), fillingProcessFailed (3), fillingProcessCompleted (4) } (0..7)

NumberOfAppliedPressure ::= INTEGER {oneAppliedPressure(1), twoAppliedPressure (2)} (1..5)

UNVehicleClassifcation ::= INTEGER {reserved(0), categoryL1(1), categoryL2(2), categoryL3(3), categoryL4(4), categoryL5(5), categoryL6(6), categoryL7(7), categoryL8(8)} (0..63)

SearchCondition ::= INTEGER {nearest(0), quickest(1), paylessRoad(2)} (0..7)

TisProfile ::= BIT STRING  {reserved(0),profileOne(1), profileTwo(2), profileThree(3)} (SIZE(8))

ReservationID ::= UTF8String (SIZE(1..32))

Language ::= BIT STRING (SIZE (10))

TyreSetVariantID ::= INTEGER (0..15)

END
Original line number Diff line number Diff line
Subproject commit df1f3632c89893ee334b6e440e1666735794b701