LibItsCommon_TypesAndValues.ttcn 7.62 KB
Newer Older
garciay's avatar
garciay committed
1
/**
garciay's avatar
garciay committed
2
 *  @author      ETSI / STF405 / STF449 / STF484 / STF517
garciay's avatar
garciay committed
3
4
 *  @version     $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/Common/LibItsCommon_TypesAndValues.ttcn $
 *               $Id: LibItsCommon_TypesAndValues.ttcn 1318 2017-01-26 10:20:53Z filatov $
garciay's avatar
garciay committed
5
 *  @desc        Module containing common types and values for ITS Protocols
garciay's avatar
garciay committed
6
7
8
9
 *  @copyright   ETSI Copyright Notification
 *               No part may be reproduced except as authorized by written permission.
 *               The copyright and the foregoing restriction extend to reproduction in all media.
 *               All rights reserved.
garciay's avatar
garciay committed
10
11
12
13
 *
 */
module LibItsCommon_TypesAndValues {
    
garciay's avatar
garciay committed
14
15
16
17
    // LibCommon
    import from LibCommon_DataStrings all;
    
    // LibIts
garciay's avatar
garciay committed
18
19
    import from ITS_Container language "ASN.1:1997" all;

20
    group acPrimitives {
21
22
        /**
         * @desc TA primitives for security support
23
24
         * @member acSetCertificate     Primitive used to activate security support
         * @member acDisableSecurity    Primitive used to deactiate security support
25
26
         */
        type union AcSecPrimitive {
27
28
            AcEnableSecurity acEnableSecurity,
            AcDisableSecurity acDisableSecurity
29
30
31
        } // End of type AcSecPrimitive
        
        /**
32
33
         * @desc    Primitive used to activate security support
         * @member  certificateId The certificate identifier to be used
34
         */
35
        type record AcEnableSecurity {
36
37
            charstring certificateId,
            boolean    enforceSecurity
38
        } // End of type AcEnableSecurity
39
        
40
41
42
43
44
45
        /**
         * @desc    Primitive used to deactiate security support
         */
        type record AcDisableSecurity {
            boolean disable
        } // End of type AcDisableSecurity
46
        
47
        /**
Yann Garcia's avatar
Yann Garcia committed
48
         * @desc    Primitive for receiving response from TA
49
         * @desc    TA primitives for GNSS
50
51
52
53
54
55
56
57
58
59
         * @member  loadScenario                -
         * @member  startScenario               -
         * @member  stopScenario                -
         * @member  distanceCovered             -
         */
        type union AcGnssPrimitive {
            AcLoadScenario loadScenario,
            AcStartScenario startScenario,
            AcStopScenario stopScenario,
            AcDistanceToCover distanceToCover,
garciay's avatar
garciay committed
60
            AcSpeed speed,
61
            AcChangeSpeed changeSpeed,
garciay's avatar
garciay committed
62
63
            AcChangeHeading changeHeading,
            AcTimeInRunningScenario timeInRunningScenario
64
65
66
67
        }
        
        /**
         * @desc    Primitive for receiving response from TA
garciay's avatar
garciay committed
68
69
70
71
72
         * @member  acGnssResponse        Primitive for receiving response from TA
         * @member  acGnssDistanceCovered Primitive for receiving an indication if requested distance was covered from TA
         * @member  AcGnssSpeedReached    Primitive for receiving an indication if speed was reached
         * @member  acGnssTimeReached     Primitive for receiving an indication if requested time was reached from TA
         * @member  acSecResponse         
73
         */
74
75
76
        type union AdapterControlResults {
          boolean acGnssResponse,
          boolean acGnssDistanceCovered,
garciay's avatar
garciay committed
77
78
          boolean acGnssSpeedReached,
          boolean acGnssTimeReached,
79
80
81
          boolean acSecResponse
        }
        
garciay's avatar
garciay committed
82
83
84
85
86
        /**
         * @desc    Primitive for receiving response from TA
         */
        type AdapterControlResults.acSecResponse AcSecResponse;
        
87
        type AdapterControlResults.acGnssResponse AcGnssResponse;
88
89
90
91
        
        /**
         * @desc    Primitive for receiving an indication if requested distance was covered from TA
         */
92
        type AdapterControlResults.acGnssDistanceCovered AcGnssDistanceCovered;
garciay's avatar
garciay committed
93
94
95
96
97
98
99
100
101
        /**
         * @desc    Primitive for receiving an indication if speed was reached
         */
        type AdapterControlResults.acGnssSpeedReached AcGnssSpeedReached;
        
        /**
         * @desc    Primitive for receiving an indication if requested time was reached from TA
         */
        type AdapterControlResults.acGnssTimeReached AcGnssTimeReached;
102
103
104
105
106
107
108
109
110
111
112
        
        /**
         * @desc    Primitive for loading a scenario
         * @member  scenario   Scenario to load
         */
        type record AcLoadScenario {
            Scenario scenario
        }
        
        type enumerated Scenario {
            e_staticPosition(0),
garciay's avatar
garciay committed
113
114
115
116
            e_dynamicPositionTwoAccelerationsLowSpeed(101),
            e_dynamicPositionTwoAccelerations(102),
            e_dynamicPositionChangeHeading(104),
            e_dynamicPositionSixAccelerations(106),
117
            e_dynamicPosition200m(200),
garciay's avatar
garciay committed
118
            e_dynamicPosition250m(250),
119
            e_dynamicPosition1000m(1000),
garciay's avatar
garciay committed
120
            e_dynamicPosition1000m_45ms(1045),
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
            e_dynamicPosition1500m(1500)
        }
        
        /**
         * @desc    Primitive for starting the loaded scenario
         */
        type record AcStartScenario {
        }
        
        /**
         * @desc    Primitive for stopping the loaded scenario
         */
        type record AcStopScenario {
        }
        
        /**
         * @desc Primitive to inform when given distance was covered
         */
        type record AcDistanceToCover {
            float distance
        }
        
garciay's avatar
garciay committed
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
        /**
         * @desc Defines the check for speed values.
         * e_accelerate - speed value should be equal or above the speed value to check
         * e_deaccelerate - speed value should be equal or below the speed value to check
         * e_fix - speed value should be equal the speed value to check
         */
        type enumerated SpeedTrend {
          e_accelerate(0),
          e_deaccelerate(1),
          e_fix(2)
        }
        with {
          variant "8 bits"
        }
        
        /**
         * @desc    Primitive to inform when speed is reached
         */
        type record AcSpeed{
            float speed,
            SpeedTrend speedTrend
        }
        
166
167
168
169
170
171
172
173
174
175
176
177
178
179
        /**
         * @desc Primitive to change speed in current scenario
         */
        type record AcChangeSpeed {
            SpeedValue deltaSpeed
        }
        
        /**
         * @desc Primitive to change heading in current scenario
         */
        type record AcChangeHeading {
            HeadingValue deltaHeading
        }
        
garciay's avatar
garciay committed
180
181
182
183
184
185
186
        /**
         * @desc Primitive to inform when given time in the running scenario was reached
         */
        type record AcTimeInRunningScenario {
            integer time
        }
        
187
188
189
190
    } // end acPrimitives
    with {
        encode "AdapterControl"
    }
garciay's avatar
garciay committed
191
192
193

    /**
     * @see ETSI TS 102 965 Intelligent Transport Systems (ITS); Application Object Identifier (ITS-AID); Registration list ETSI ITS registration list
Yann Garcia's avatar
Yann Garcia committed
194
     * @see https://standards.iso.org/iso/ts/17419/TS17419%20Assigned%20Numbers/TS17419_ITS-AID_AssignedNumbers.pdf
garciay's avatar
garciay committed
195
     */
196
    group securityConstants {
Yann Garcia's avatar
Yann Garcia committed
197
198
199
200
201
202
        const integer c_its_aid_CAM   := 36;
        const integer c_its_aid_DENM  := 37;
        const integer c_its_aid_GPC   := 128;
        const integer c_its_aid_SPAT  := 137;
        const integer c_its_aid_MAP   := 138;
        const integer c_its_aid_IVI   := 139;
garciay's avatar
garciay committed
203
        const integer c_its_aid_TLC   := 140;
204
        const integer c_its_aid_TLS   := 140;
garciay's avatar
garciay committed
205
        const integer c_its_aid_GN    := 141;
Yann Garcia's avatar
Yann Garcia committed
206
        const integer c_its_aid_SCR   := 623; // Secured Certificate Request, https://standards.ieee.org/products-services/regauth/psid/public.html
207
    }
garciay's avatar
garciay committed
208
209
210
211
}
with {
    encode "LibItsCommon"
}