Newer
Older
// LibIts
import from ITS_Container language "ASN.1:1997" all;
import from DSRC language "ASN.1:1997" all;
// LibItsGeoNetworking
import from LibItsGeoNetworking_TestSystem all;
import from LibItsGeoNetworking_TypesAndValues all;
// AtsRSUsSimulator
import from ItsRSUsSimulator_TypesAndValues all;
import from ItsRSUsSimulator_Pics all;
import from ItsRSUsSimulator_Pixits all;
/**
* @desc Test component for ITS Network and Transport layer
*/
type component ItsRSUsSimulator extends ItsGeoNetworking {
/**
* @desc RSUsimulator configuration port
*/
port ConfigRsuSimulatorPort cfPort;
garciay
committed
* @desc RSU position
garciay
committed
var LongPosVector vc_longPosVectorRsu;
garciay
committed
* @desc RSU Geonetworking area
garciay
committed
var GeoArea vc_geoArea;
garciay
committed
* @desc Supported sent messages templates: one or more from CAM, DENM, MAPEM, SPATEM, IVIM, SSEM
var template (value) RsuMessagesValueList vc_rsuMessagesValueList := {};
/**
* @desc Current RSU identifier
*/
var integer vc_rsu_id := PX_RSU_ID - 1;
garciay
committed
* @desc DENM event counter: one RSU can send one or mode different DENM
garciay
committed
* @desc DENM sequence number index
garciay
committed
* @desc List of MovementState per intersection and per RSU
*/
var template (value) MovementListPerIntersectionRsu vc_states;
/**
* @desc The SPATEM message to use in SignalGroupParmList
*/
var integer vc_signalGroupParmId := 0; // TODO Use a PIXIT
garciay
committed
* @desc Current SPATEM state
*/
var integer vc_spatemStatesId := 0;
* @desc TimeMark of the begining of a new SPATEM phase
var TimeMark vc_currentPhaseStartTime := 36001;
* @desc Estimated TimeMark of the end of the current SPATEM phase
*/
var TimeMark vc_endPhaseStartTime := 0;
/**
* @desc Repetition duration times of SPATEM phases
*/
var SpatemRepetionDuration vc_repitition_duration := {
PICS_SPATEM_REPITITION_DURATION_STATE_1,
PICS_SPATEM_REPITITION_DURATION_STATE_2,
PICS_SPATEM_REPITITION_DURATION_STATE_3
};
/**
* @desc Number of SPATEM phases
*/
var integer vc_spatemStatesNum := lengthof(vc_repitition_duration);
timer tc_beacon := PICS_BEACON_FREQUENCY;
timer tc_cam := PICS_CAM_FREQUENCY;
timer tc_denm := PICS_DENM_FREQUENCY;
timer tc_mapem := PICS_MAPEM_FREQUENCY;
timer tc_spatem := PICS_SPATEM_FREQUENCY;
timer tc_ivim := PICS_IVIM_FREQUENCY;
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/**
* @desc Test system component for ITS Network and Transport layer
*/
type component ItsRSUsSimulatorSystem extends ItsGeoNetworkingSystem {
port ConfigRsuSimulatorPort cfPort;
}
group configRsuSimulatorTypes {
type record CfInitialize { };
type charstring CfEvent;
type boolean CfResult;
type union CfEventInd {
anytype empty
}
} with {
encode "ConfigTester"
}// End of group configRsuSimulatorTypes
group configRsuSimulatorPort {
/**
* @desc Configuration RSUsimulator port
*/
type port ConfigRsuSimulatorPort message {
out
CfInitialize, CfResult;
in
CfEvent, CfEventInd
} // End of ConfigRsuSimulatorPort
} // End of group configRsuSimulatorPort