ItsRSUsSimulator_Pics.ttcn 294 KB
Newer Older
garciay's avatar
garciay committed
1
2
3
4
5
6
7
8
9
10
11
12
module ItsRSUsSimulator_Pics {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;
    import from CAM_PDU_Descriptions language "ASN.1:1997" all;
    import from DENM_PDU_Descriptions language "ASN.1:1997" all;
    import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
    import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
    import from IVIM_PDU_Descriptions language "ASN.1:1997" all;
garciay's avatar
garciay committed
13
    import from IVI language "ASN.1:1997" all;
14
    //import from EVCSN_PDU_Descriptions language "ASN.1:1997" all;
garciay's avatar
garciay committed
15
16
    import from SREM_PDU_Descriptions language "ASN.1:1997" all;
    import from SSEM_PDU_Descriptions language "ASN.1:1997" all;
garciay's avatar
garciay committed
17
18
    import from DSRC language "ASN.1:1997" all;
    import from ElectronicRegistrationIdentificationVehicleDataModule language "ASN.1:1997" all;
19
20
21
22
    import from IEEE1609dot2BaseTypes language "ASN.1:1997" all;
    import from IEEE1609dot2 language "ASN.1:1997" all;
    import from EtsiTs103097Module language "ASN.1:1997" all;
    
23
24
    // LibItsCommon
    import from LibItsCommon_ASN1_NamedNumbers all;
garciay's avatar
garciay committed
25
26
27
28
29
30
31
32
    
    // LibItsBtp
    import from LibItsBtp_TypesAndValues all;
    import from LibItsBtp_Templates all;
    
    // LibItsGeoNetworking
    import from LibItsGeoNetworking_TypesAndValues all;
    
garciay's avatar
garciay committed
33
34
35
    // LibItsSecurity
    import from LibItsSecurity_TypesAndValues all;
    
garciay's avatar
garciay committed
36
37
    // ItsRSUsSimulator
    import from ItsRSUsSimulator_TypesAndValues all;
garciay's avatar
garciay committed
38
    import from ItsRSUsSimulator_PicsInitConsts all;
YannGarcia's avatar
YannGarcia committed
39
40
41
42
43
44
45
46

    group itss {
      
      modulepar boolean PICS_PKI_SUPPORT := false;
      
      modulepar boolean PICS_ITS_S_ROLE  := false;
      
    } // End of group itss
garciay's avatar
garciay committed
47
    
48
49
50
    /**
     * @desc This group describes the RSUs installed on the track
     */
garciay's avatar
garciay committed
51
    group rsuParameters {
garciay's avatar
garciay committed
52
    
53
        /**
54
55
         * @desc RSU #1 - RSUs A
         * @remark Zone #1
56
         */
garciay's avatar
garciay committed
57
        group rsu1 {
garciay's avatar
garciay committed
58
        
garciay's avatar
garciay committed
59
60
61
62
63
64
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU1 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
65
                reserved    := 33,
garciay's avatar
garciay committed
66
                mid                   := '001C6B0D0201'O
garciay's avatar
garciay committed
67
            } // End of PICS_RSU_GN_ADDRESS_RSU1
garciay's avatar
garciay committed
68
        
69
            modulepar RsuParm PICS_RSU1 := {
garciay's avatar
garciay committed
70
                longPosVector := {
garciay's avatar
garciay committed
71
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU1,
garciay's avatar
garciay committed
72
                    timestamp_    := 0,
73
74
                    latitude      := 367485365,
                    longitude     := -45560691,
garciay's avatar
garciay committed
75
76
77
78
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
79
                stationID := 1111101,
80
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
81
                vehicleRole := roadOperator,
garciay's avatar
garciay committed
82
83
                geoShape := e_geoCircle,
                geoParms := {
84
                    radius := 200
garciay's avatar
garciay committed
85
                },
garciay's avatar
garciay committed
86
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU1
87
            } // End of PICS_RSU1
garciay's avatar
garciay committed
88
        
garciay's avatar
garciay committed
89
90
91
92
93
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU1 := {};
        
garciay's avatar
garciay committed
94
95
        } // End of group rsu1
    
96
        /**
97
98
         * @desc RSU #2 - RSUs B
         * @remark Zone #2
99
         */
garciay's avatar
garciay committed
100
        group rsu2 {
garciay's avatar
garciay committed
101
        
102
103
104
105
106
107
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU2 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
108
                reserved    := 33,
garciay's avatar
garciay committed
109
                mid                   := '001C6B0D0202'O
110
            } // End of PICS_RSU_GN_ADDRESS_RSU2
garciay's avatar
garciay committed
111
        
112
113
            modulepar RsuParm PICS_RSU2 := {
                longPosVector := {
garciay's avatar
garciay committed
114
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU2,
115
                    timestamp_    := 0,
116
117
                    latitude      := 435512090,
                    longitude     := 103002510,
118
119
120
121
122
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111102,
123
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
124
                vehicleRole := roadOperator,
125
126
                geoShape := e_geoCircle,
                geoParms := {
127
                    radius := 5000
128
                },
garciay's avatar
garciay committed
129
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU2
130
            } // End of PICS_RSU2
garciay's avatar
garciay committed
131
        
132
133
134
135
136
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU2 := {};
        
garciay's avatar
garciay committed
137
138
        } // End of group rsu2
    
139
        /**
140
141
         * @desc RSU #3 - RSUs C
         * @remark Zone #3
142
143
         */
        group rsu3 {
garciay's avatar
garciay committed
144
        
145
146
147
148
149
150
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU3 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
151
                reserved    := 33,
garciay's avatar
garciay committed
152
                mid                   := '001C6B0D0203'O
153
            } // End of PICS_RSU_GN_ADDRESS_RSU3
garciay's avatar
garciay committed
154
        
155
156
            modulepar RsuParm PICS_RSU3 := {
                longPosVector := {
garciay's avatar
garciay committed
157
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU3,
158
                    timestamp_    := 0,
159
160
                    latitude      := 435546630,
                    longitude     := 103041900,
161
162
163
164
165
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111103,
166
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
167
                vehicleRole := roadOperator,
168
169
                geoShape := e_geoCircle,
                geoParms := {
170
                    radius := 5000
171
                },
garciay's avatar
garciay committed
172
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU3
173
            } // End of PICS_RSU3
garciay's avatar
garciay committed
174
        
175
176
177
178
179
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU3 := {};
        
garciay's avatar
garciay committed
180
181
        } // End of group rsu3
    
182
        /**
183
184
         * @desc RSU #4 - RSUs D
         * @remark Zone #5
185
186
         */
        group rsu4 {
garciay's avatar
garciay committed
187
        
188
189
190
191
192
193
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU4 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
194
                reserved    := 33,
garciay's avatar
garciay committed
195
                mid                   := '001C6B0D0204'O
196
            } // End of PICS_RSU_GN_ADDRESS_RSU4
garciay's avatar
garciay committed
197
        
198
199
            modulepar RsuParm PICS_RSU4 := {
                longPosVector := {
garciay's avatar
garciay committed
200
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU4,
201
                    timestamp_    := 0,
202
203
                    latitude      := 435582150,
                    longitude     := 103065170,
204
205
206
207
208
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111104,
209
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
210
                vehicleRole := roadOperator,
211
212
                geoShape := e_geoCircle,
                geoParms := {
213
                    radius := 5000
214
                },
garciay's avatar
garciay committed
215
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU4
216
            } // End of PICS_RSU4
garciay's avatar
garciay committed
217
        
218
219
220
221
222
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU4 := {};
        
garciay's avatar
garciay committed
223
224
        } // End of group rsu4
    
225
        /**
226
227
         * @desc RSU #5 - RSUs E
         * @remark Zone #8
228
229
         */
        group rsu5 {
garciay's avatar
garciay committed
230
        
231
232
233
234
235
236
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU5 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
237
                reserved    := 33,
garciay's avatar
garciay committed
238
                mid                   := '001C6B0D0205'O
239
            } // End of PICS_RSU_GN_ADDRESS_RSU5
garciay's avatar
garciay committed
240
        
241
242
            modulepar RsuParm PICS_RSU5 := {
                longPosVector := {
garciay's avatar
garciay committed
243
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU5,
244
                    timestamp_    := 0,
245
246
                    latitude      := 435838400,
                    longitude     := 103249780,
247
248
249
250
251
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111105,
252
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
253
                vehicleRole := roadOperator,
254
255
                geoShape := e_geoCircle,
                geoParms := {
256
                    radius := 5000
257
                },
garciay's avatar
garciay committed
258
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU5
259
            } // End of PICS_RSU5
garciay's avatar
garciay committed
260
        
261
262
263
264
265
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU5 := {};
        
garciay's avatar
garciay committed
266
267
        } // End of group rsu5
    
268
        /**
269
270
         * @desc RSU #6 - RSUs F
         * @remark Zone #8
271
272
         */
        group rsu6 {
garciay's avatar
garciay committed
273
        
274
275
276
277
278
279
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU6 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
280
                reserved    := 33,
garciay's avatar
garciay committed
281
                mid                   := '001C6B0D0206'O
282
            } // End of PICS_RSU_GN_ADDRESS_RSU6
garciay's avatar
garciay committed
283
        
284
285
            modulepar RsuParm PICS_RSU6 := {
                longPosVector := {
garciay's avatar
garciay committed
286
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU6,
287
                    timestamp_    := 0,
288
289
                    latitude      := 435923480,
                    longitude     := 103375540,
290
291
292
293
294
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111106,
295
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
296
                vehicleRole := roadOperator,
297
298
                geoShape := e_geoCircle,
                geoParms := {
299
                    radius := 5000
300
                },
garciay's avatar
garciay committed
301
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU6
302
            } // End of PICS_RSU6
garciay's avatar
garciay committed
303
        
304
305
306
307
308
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU6 := {};
        
garciay's avatar
garciay committed
309
310
        } // End of group rsu6
    
311
312
313
314
        /**
         * @desc RSU #7
         */
        group rsu7 {
garciay's avatar
garciay committed
315
        
316
317
318
319
320
321
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU7 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
322
                reserved    := 33,
garciay's avatar
garciay committed
323
                mid                   := '001C6B0D0207'O
324
            } // End of PICS_RSU_GN_ADDRESS_RSU7
garciay's avatar
garciay committed
325
        
326
327
            modulepar RsuParm PICS_RSU7 := {
                longPosVector := {
garciay's avatar
garciay committed
328
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU7,
329
                    timestamp_    := 0,
330
331
                    latitude      := 435550580,
                    longitude     := 103032980,
332
333
334
335
336
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111107,
337
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
338
                vehicleRole := roadOperator,
339
340
                geoShape := e_geoCircle,
                geoParms := {
341
                    radius := 5000
342
                },
garciay's avatar
garciay committed
343
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU7
344
            } // End of PICS_RSU7
garciay's avatar
garciay committed
345
        
346
347
348
349
350
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU7 := {};
        
garciay's avatar
garciay committed
351
352
        } // End of group rsu7
    
353
354
355
356
        /**
         * @desc RSU #8
         */
        group rsu8 {
garciay's avatar
garciay committed
357
        
358
359
360
361
362
363
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_RSU_GN_ADDRESS_RSU8 := {
                typeOfAddress         := e_manual,
                stationType           := e_roadSideUnit,
Yann Garcia's avatar
Yann Garcia committed
364
                reserved    := 33,
garciay's avatar
garciay committed
365
                mid                   := '001C6B0D0208'O
366
            } // End of PICS_RSU_GN_ADDRESS_RSU8
garciay's avatar
garciay committed
367
        
368
369
            modulepar RsuParm PICS_RSU8 := {
                longPosVector := {
garciay's avatar
garciay committed
370
                    gnAddr        := c_PICS_RSU_GN_ADDRESS_RSU8,
371
                    timestamp_    := 0,
372
373
                    latitude      := 435546630,
                    longitude     := 103041900,
374
375
376
377
378
                    pai           := '0'B,
                    speed         := 0,
                    heading       := 0
                },
                stationID := 1111108,
379
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_roadSideUnit_,
garciay's avatar
garciay committed
380
                vehicleRole := roadOperator,
381
382
                geoShape := e_geoCircle,
                geoParms := {
383
                    radius := 5000
384
                },
garciay's avatar
garciay committed
385
                pathHistory := c_PICS_RSU_PATH_HISTORY_RSU8
386
            } // End of PICS_RSU8
garciay's avatar
garciay committed
387
        
388
389
390
391
            /**
             * @desc Path history to approch the RSU
             */
            modulepar PathHistory PICS_RSU_PATH_HISTORY_RSU8 := {};
garciay's avatar
garciay committed
392
        
393
        } // End of group rsu8
garciay's avatar
garciay committed
394
            
garciay's avatar
garciay committed
395
        modulepar RsuParmList PICS_RSU_PARAMS := {
garciay's avatar
garciay committed
396
397
398
399
400
401
402
403
            c_PICS_RSU1,
            c_PICS_RSU2,
            c_PICS_RSU3,
            c_PICS_RSU4,
            c_PICS_RSU5,
            c_PICS_RSU6,
            c_PICS_RSU7,
            c_PICS_RSU8
garciay's avatar
garciay committed
404
405
        } // End of PICS_RSU_PARAMS
    
garciay's avatar
garciay committed
406
407
    } // End of group rsuParameters 

garciay's avatar
garciay committed
408
409
410
411
    /**
     * @desc This group describes the BEACON common settings for the RSUs CAM message broadcast
     */
    group beaconParams {
garciay's avatar
garciay committed
412
    
garciay's avatar
garciay committed
413
414
415
416
        /**
         * @desc Common settings
         */
        group beaconCommonSettings {
garciay's avatar
garciay committed
417
        
garciay's avatar
garciay committed
418
            modulepar UInt32 PICS_BEACON_ITS_AID                 := 141;
garciay's avatar
garciay committed
419
        
garciay's avatar
garciay committed
420
        } // End of group beaconCommonSettings
garciay's avatar
garciay committed
421
    
garciay's avatar
garciay committed
422
423
    } // End of group beaconParams

424
425
426
    /**
     * @desc This group describes the CAM common settings for the RSUs CAM message broadcast
     */
garciay's avatar
garciay committed
427
    group camParams {
garciay's avatar
garciay committed
428
    
429
430
431
432
        /**
         * @desc Common settings
         */
        group camCommonSettings {
garciay's avatar
garciay committed
433
        
garciay's avatar
garciay committed
434
            modulepar BtpPortId PICS_CAM_BTP_DESTINATION_PORT := 2001;
garciay's avatar
garciay committed
435
        
garciay's avatar
garciay committed
436
            modulepar BtpPortId PICS_CAM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
437
        
438
            modulepar UInt32 PICS_CAM_ITS_AID                 := 36;
garciay's avatar
garciay committed
439
        
garciay's avatar
garciay committed
440
441
        } // End of group camCommonSettings
    
garciay's avatar
garciay committed
442
        group camUseCase6 {
garciay's avatar
garciay committed
443
444
        
            group camUseCase6VehicleDescription {
445
            
garciay's avatar
garciay committed
446
                
garciay's avatar
garciay committed
447
                
garciay's avatar
garciay committed
448
                modulepar integer SIMULTANEOUS_VEHICLE_NUM        := 10;
garciay's avatar
garciay committed
449
                
garciay's avatar
garciay committed
450
451
452
453
454
455
                group camUseCase6VehicleTemplateDescription {
                    
                    modulepar LongPosVector PICS_UC6_VEHICLE_TEMPLATE_POSITION := {
                        gnAddr := {
                            typeOfAddress         := e_manual,
                            stationType           := e_passengerCar,
Yann Garcia's avatar
Yann Garcia committed
456
                            reserved    := 33,
garciay's avatar
garciay committed
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
                            mid                   := '001C6B0D02FF'O
                        },
                        timestamp_                                    := 0,
                        latitude                                      := 0,
                        longitude                                     := 0,
                        pai                                           := '0'B,
                        speed                                         := 30,
                        heading                                       := 0
                    } // End of PICS_UC6_VEHICLE_POSITION
                    
                    modulepar GeoArea PICS_UC6_VEHICLE_TEMPLATE_GEOAREA := {
                        shape := e_geoElip,
                        area := {
                            geoAreaPosLatitude                        := 0,
                            geoAreaPosLongitude                       := 0,
                            distanceA                                 := 5,
                            distanceB                                 := 3,
                            angle                                     := 0
                        }
                    } // End of PICS_UC6_VEHICLE_GEOAREA
                    
garciay's avatar
garciay committed
478
                    modulepar boolean PICS_USE_LPV := true;
garciay's avatar
garciay committed
479
480
                    
                } // End of group camUseCase6VehicleTemplateDescription 
garciay's avatar
garciay committed
481
                
garciay's avatar
garciay committed
482
            } // End of group camUseCase6VehicleDescription 
garciay's avatar
garciay committed
483
        
garciay's avatar
garciay committed
484
            group camUseCase6SyncLocation {
garciay's avatar
garciay committed
485
            
garciay's avatar
garciay committed
486
487
488
                /**
                 * @desc Coordinates of the collision point
                 */
garciay's avatar
garciay committed
489
                modulepar ThreeDLocation PICS_UC6_COLLISION_POINT_Z1 := {
garciay's avatar
garciay committed
490
491
                    latitude                                      := 435522970,
                    longitude                                     := 103000170,
492
                    elevation                                     := 0
garciay's avatar
garciay committed
493
                } // End of PICS_UC6_COLLISION_POINT
garciay's avatar
garciay committed
494
            
garciay's avatar
garciay committed
495
496
497
498
499
500
                /**
                 * @desc Coordinates of the collision point
                 */
                modulepar ThreeDLocation PICS_UC6_COLLISION_POINT_Z2 := {
                    latitude                                      := 435512220,
                    longitude                                     := 103000290,
501
                    elevation                                     := 0
garciay's avatar
garciay committed
502
503
                } // End of PICS_UC6_COLLISION_POINT_Z2
                
garciay's avatar
garciay committed
504
505
506
                /**
                 * @desc Vehicle detection area
                 */
garciay's avatar
garciay committed
507
                modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA_Z1 := {
508
                    northWest := {
garciay's avatar
garciay committed
509
510
                        latitude                                      := 435529170,
                        longitude                                     := 102998330
garciay's avatar
garciay committed
511
                    },
512
                    southEast := {
garciay's avatar
garciay committed
513
514
                        latitude                                      := 435522420,
                        longitude                                     := 103011400
garciay's avatar
garciay committed
515
                    }
garciay's avatar
garciay committed
516
                } // End of PICS_UC6_CAM_DETECTION_AREA_Z1
garciay's avatar
garciay committed
517
            
garciay's avatar
garciay committed
518
519
520
521
                /**
                 * @desc Vehicle detection area
                 */
                modulepar RectangularRegion PICS_UC6_CAM_DETECTION_AREA_Z2 := {
522
                    northWest := {
garciay's avatar
garciay committed
523
524
525
                        latitude                                      := 435530140,
                        longitude                                     := 102984290
                    },
526
                    southEast := {
garciay's avatar
garciay committed
527
528
529
530
531
532
533
534
                        latitude                                      := 435501600,
                        longitude                                     := 103012880
                    }
                } // End of PICS_UC6_CAM_DETECTION_AREA_Z2
                
                modulepar ThreeDLocation PX_UC6_APPROACH_POINT_Z2 := {
                    latitude                                          := 435511100,
                    longitude                                         := 102988040,
535
                    elevation                                         := 0
garciay's avatar
garciay committed
536
                };
garciay's avatar
garciay committed
537
538
                
            } // End of group camUseCase6SyncLocation 
539
        
garciay's avatar
garciay committed
540
541
        } // End of group camUseCase6
    
garciay's avatar
garciay committed
542
        group camUseCase7 {
garciay's avatar
garciay committed
543
        
garciay's avatar
garciay committed
544
545
546
547
548
549
            /**
             * @desc RSU GN address
             */
            modulepar GN_Address PICS_UC7_GN_ADDRESS := {
                typeOfAddress                               := e_manual,
                stationType                                 := e_bus,
Yann Garcia's avatar
Yann Garcia committed
550
                reserved                                    := 39,
garciay's avatar
garciay committed
551
                mid                                         := '001C6B0DEEEE'O
garciay's avatar
garciay committed
552
            } // End of PICS_UC7_GN_ADDRESS
garciay's avatar
garciay committed
553
        
garciay's avatar
garciay committed
554
555
            modulepar RsuParm PICS_UC7_LPV := {
                longPosVector := {
garciay's avatar
garciay committed
556
                    gnAddr                                  := c_PICS_UC7_GN_ADDRESS,
garciay's avatar
garciay committed
557
                    timestamp_                              := 0,
558
559
                    latitude                                := 367461950,
                    longitude                               := -45541090,
garciay's avatar
garciay committed
560
561
562
563
                    pai                                     := '0'B,
                    speed                                   := 0,
                    heading                                 := 10
                },
garciay's avatar
garciay committed
564
                stationID                                   := 7895,
565
                stationType := LibItsCommon_ASN1_NamedNumbers.StationType_passengerCar_,
garciay's avatar
garciay committed
566
                vehicleRole := taxi,
garciay's avatar
garciay committed
567
568
                geoShape                                    := e_geoCircle,
                geoParms := {
569
                    radius                                  := 25
garciay's avatar
garciay committed
570
571
572
                },
                pathHistory                                 := {}
            } // End of PICS_UC7_LPV
garciay's avatar
garciay committed
573
        
garciay's avatar
garciay committed
574
            modulepar ReferencePosition PICS_UC7_COLLISION_POINT := {
575
576
                latitude                                    := 367461950,
                longitude                                   := -45541090,
garciay's avatar
garciay committed
577
                positionConfidenceEllipse                   := {
garciay's avatar
garciay committed
578
579
                    semiMajorConfidence   := 100,
                    semiMinorConfidence   := 100,
580
                    semiMajorOrientation  := 0
garciay's avatar
garciay committed
581
582
                },
                altitude                                    := {
583
                    altitudeValue := LibItsCommon_ASN1_NamedNumbers.AltitudeValue_referenceEllipsoidSurface_,
584
                    altitudeConfidence := alt_000_01
garciay's avatar
garciay committed
585
                }
garciay's avatar
garciay committed
586
            } // End of PICS_UC7_COLLISION_POINT
garciay's avatar
garciay committed
587
        
garciay's avatar
garciay committed
588
589
        } // End of group camUseCase7
    
590
        group camUseCase9 {
garciay's avatar
garciay committed
591
        
garciay's avatar
garciay committed
592
            modulepar ProtectedCommunicationZone PICS_UC9_PCZ_1 := {
593
                protectedZoneType        := permanentCenDsrcTolling,
594
                expiryTime               := omit,
595
596
                protectedZoneLatitude    := 435838400,
                protectedZoneLongitude   := 103249780,
garciay's avatar
garciay committed
597
                protectedZoneRadius      := 100,
598
                protectedZoneID          := 1
garciay's avatar
garciay committed
599
            } // End of PICS_UC9_PCZ_1
garciay's avatar
garciay committed
600
        
garciay's avatar
garciay committed
601
            modulepar ProtectedCommunicationZonesRSU PICS_UC9_PCZ := {
602
                c_PICS_USECASE9_PCZ_1
garciay's avatar
garciay committed
603
            } // End of PICS_UC9_PCZ
604
        
garciay's avatar
garciay committed
605
        } // End of group camUseCase9
garciay's avatar
garciay committed
606
    
garciay's avatar
garciay committed
607
608
    } // End of group camParams 

609
610
611
    /**
     * @desc This group describes the DENM common settings for the each use cases and for each RSU.
     */
garciay's avatar
garciay committed
612
    group denmEvents {
garciay's avatar
garciay committed
613
    
614
615
616
617
        /**
         * @desc Common settings
         */
        group denmCommonSettings {
garciay's avatar
garciay committed
618
        
garciay's avatar
garciay committed
619
            modulepar BtpPortId PICS_DENM_BTP_DESTINATION_PORT := 2002;
garciay's avatar
garciay committed
620
        
garciay's avatar
garciay committed
621
            modulepar BtpPortId PICS_DENM_BTP_SOURCE_PORT      := 0;
garciay's avatar
garciay committed
622
        
623
            modulepar UInt32 PICS_DENM_ITS_AID                 := 37;
garciay's avatar
garciay committed
624
        
garciay's avatar
garciay committed
625
            modulepar PosConfidenceEllipse PICS_DENM_POSITION_CONFIDENCE_ELLIPSE := {
626
627
                semiMajorConfidence   := 100,
                semiMinorConfidence   := 100,
628
                semiMajorOrientation  := 0
garciay's avatar
garciay committed
629
            } // End of PICS_DENM_POSITION_CONFIDENCE_ELLIPSE
garciay's avatar
garciay committed
630
        
garciay's avatar
garciay committed
631
            modulepar Altitude PICS_DENM_ALTITUDE := {
632
                altitudeValue := LibItsCommon_ASN1_NamedNumbers.AltitudeValue_referenceEllipsoidSurface_,
633
                altitudeConfidence := alt_000_01
garciay's avatar
garciay committed
634
            } // End of PICS_DENM_ALTITUDE
garciay's avatar
garciay committed
635
        
636
637
638
639
            /**
             * @desc DENM repetition interval, in ms
             */
            modulepar TransmissionInterval PICS_DENM_REPETITION_INTERVAL := 1000;
garciay's avatar
garciay committed
640
        
641
642
643
            /**
             * @desc DENM RelevanceDistance
             */
644
            modulepar RelevanceDistance PICS_DENM_RELEVANCE_DISTANCE := lessThan200m;
garciay's avatar
garciay committed
645
        
646
647
648
            /**
             * @desc DENM ValidityDuration
             */
649
            modulepar ValidityDuration PICS_DENM_VALIDITY_DURATION := 180 * 60; // 90 minutes
garciay's avatar
garciay committed
650
        
651
652
653
654
            /**
             * @desc DENM RelevanceTrafficDirection
             */
            modulepar RelevanceTrafficDirection PICS_DENM_RELEVANCE_TRAFFIC_DIRECTION := upstreamTraffic;
garciay's avatar
garciay committed
655
        
garciay's avatar
garciay committed
656
657
        } // End of group denmCommonSettings
    
658
659
660
661
        /**
         * @desc Use case #1: Z1-D1-SL/Speed limit
         */
        group denmUseCase1 {
garciay's avatar
garciay committed
662
        
663
664
665
666
            /**
             * @desc Use case #1: Z1-D1-EP/Event position
             */
            group denmZone1 {
garciay's avatar
garciay committed
667
            
668
                modulepar SpeedLimit PICS_SPEED_LIMIT := 30;
garciay's avatar
garciay committed
669
            
670
                group denmZone1_D1 {
garciay's avatar
garciay committed
671
                
672
673
674
675
                    /**
                     * @desc Z1-D1-EP/POS0
                     */
                    modulepar DeltaReferencePosition PICS_Z1_D1_POS0 := {
676
677
                        deltaLatitude                       := -652,
                        deltaLongitude                      := 98,
678
679
                        deltaAltitude                       := 0
                    }; // End of PICS_Z1_D1_POS0
garciay's avatar
garciay committed
680
                
681
682
683
684
                    /**
                     * @desc Z1-D1-EP/POS1
                     */
                    modulepar ReferencePosition PICS_Z1_D1_EP := {
685
686
                        latitude                                    := 367467556,                               // Z1-D1-EP/latitude
                        longitude                                   := -45552381,                               // Z1-D1-EP/longitude
garciay's avatar
garciay committed
687
688
                        positionConfidenceEllipse                   := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := c_PICS_DENM_ALTITUDE
689
                    }; // End of PICS_Z1_D1_EP
garciay's avatar
garciay committed
690
                
691
692
693
694
695
696
                    /**
                     * @desc Z1-D1-EP/EventHistory1
                     */
                    modulepar EventHistory PICS_Z1_D1_Hx := { 
                        { // Z1_D1_H1
                            eventPosition := {
697
698
                                deltaLatitude                       := 135,
                                deltaLongitude                      := -147,
699
700
701
702
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
garciay's avatar
garciay committed
703
                        },
704
705
                        { // Z1_D1_H2
                            eventPosition := {
706
707
                                deltaLatitude                       := -68,
                                deltaLongitude                      := 74,
708
709
710
711
712
713
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z1_D1_Hx
garciay's avatar
garciay committed
714
                
715
716
717
718
719
                    /**
                     * @desc Z1-D1-Traces/Trace1
                     */
                    modulepar Traces PICS_Z1_D1_Tx := {
                        {
720
721
                            { // Z1-D1-T1
                                pathPosition := {
722
723
                                    deltaLatitude                       := -652,
                                    deltaLongitude                      := 1475,
724
725
726
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
727
                            },
728
729
                            { // Z1-D1-T2
                                pathPosition := {
730
731
                                    deltaLatitude                       := -43,
                                    deltaLongitude                      := 98,
732
733
734
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
735
                            },
736
737
                            { // Z1-D1-T3
                                pathPosition := {
738
739
                                    deltaLatitude                       := -43,
                                    deltaLongitude                      := 98,
740
741
742
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
743
                            },
744
745
                            { // Z1-D1-T4
                                pathPosition := {
746
747
                                    deltaLatitude                       := -87,
                                    deltaLongitude                      := 197,
748
749
750
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
751
                            },
752
753
                            { // Z1-D1-T5
                                pathPosition := {
754
755
                                    deltaLatitude                       := -44,
                                    deltaLongitude                      := 98,
756
757
758
759
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }
760
761
                        }
                    }; // End of PICS_Z1_D1_Tx
garciay's avatar
garciay committed
762
                
763
                    modulepar DenmParm PICS_Z1_D1 := {
garciay's avatar
garciay committed
764
                        eventPosition                               := c_PICS_Z1_D1_EP,
765
                        causeCodeType                               := LibItsCommon_ASN1_NamedNumbers.CauseCodeType_roadworks_,
garciay's avatar
garciay committed
766
767
                        eventHistory                                := c_PICS_Z1_D1_Hx,
                        traces                                      := c_PICS_Z1_D1_Tx,
768
                        roadWorksContainerExtended := {
garciay's avatar
garciay committed
769
                            lightBarSirenInUse                      := omit,
770
                            closedLanes := {
771
                                innerhardShoulderStatus             := closed,
772
                                outerhardShoulderStatus             := availableForDriving,
773
                                drivingLaneStatus                   := '00'B
774
775
                            },
                            restriction                             := omit,
garciay's avatar
garciay committed
776
                            speedLimit                              := c_PICS_SPEED_LIMIT,
777
778
                            incidentIndication                      := omit,
                            recommendedPath                         := omit,
garciay's avatar
garciay committed
779
                            startingPointSpeedLimit                 := c_PICS_Z1_D1_POS0,
garciay's avatar
garciay committed
780
                            trafficFlowRule                         := passToRight,
781
782
783
784
                            referenceDenms                          := omit
                        }
                    } // End of PICS_Z1_D1
                
garciay's avatar
garciay committed
785
786
                } // End of group denmZone1_D1
            
787
                group denmZone1_D2 {
garciay's avatar
garciay committed
788
                
789
790
791
792
                    /**
                     * @desc Z1-D2-EP/POS2
                     */
                    modulepar ReferencePosition PICS_Z1_D2_EP := {
793
794
                        latitude                                    := 367470416,                               // Z1-D2-EP/latitude
                        longitude                                   := -45558019,                               // Z1-D2-EP/longitude
garciay's avatar
garciay committed
795
796
                        positionConfidenceEllipse                   := c_PICS_DENM_POSITION_CONFIDENCE_ELLIPSE,
                        altitude                                    := c_PICS_DENM_ALTITUDE
797
                    }; // End of PICS_Z1_D2_EP
garciay's avatar
garciay committed
798
                
799
800
801
802
803
804
                    /**
                     * @desc Z1-D2-EP/EventHistory2
                     */
                    modulepar EventHistory PICS_Z1_D2_Hx := { 
                        { // Z1_D2_H1
                            eventPosition := {
805
806
                                deltaLatitude                       := 103,
                                deltaLongitude                      := -657,
807
808
809
810
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
garciay's avatar
garciay committed
811
                        },
812
813
                        { // Z1_D2_H2
                            eventPosition := {
814
815
                                deltaLatitude                       := 1789,
                                deltaLongitude                      := -4496,
816
817
818
819
820
821
                                deltaAltitude                       := 0
                            },
                            eventDeltaTime                          := omit,
                            informationQuality                      := 0
                        }
                    }; // End of PICS_Z1_D2_Hx
garciay's avatar
garciay committed
822
                
823
824
825
826
827
                    /**
                     * @desc Z1-D2-Traces/Trace2
                     */
                    modulepar Traces PICS_Z1_D2_Tx := {
                        {
828
829
                            { // Z1-D2-T1
                                pathPosition := {
830
831
                                    deltaLatitude                       := 33,
                                    deltaLongitude                      := -103,
832
833
834
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
835
                            },
836
837
                            { // Z1-D2-T2
                                pathPosition := {
838
839
                                    deltaLatitude                       := 14,
                                    deltaLongitude                      := -110,
840
841
842
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
843
                            },
844
845
                            { // Z1-D2-T3
                                pathPosition := {
846
847
                                    deltaLatitude                       := 14,
                                    deltaLongitude                      := -111,
848
849
850
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
851
                            },
852
853
                            { // Z1-D2-T4
                                pathPosition := {
854
855
                                    deltaLatitude                       := 14,
                                    deltaLongitude                      := -111,
856
857
858
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
859
                            },
860
861
                            { // Z1-D2-T5
                                pathPosition := {
862
863
                                    deltaLatitude                       := 14,
                                    deltaLongitude                      := -111,
864
865
866
867
                                    deltaAltitude                       := 0
                                },
                                pathDeltaTime                           := omit
                            }