Commit f21c9e9f authored by Yann Garcia's avatar Yann Garcia
Browse files

Start validate AtsSpatem

parent 6348fc18
......@@ -576,7 +576,7 @@ int ConfigRsuSimulatorLayer::process_ut_denm_trigger(const OCTETSTRING& data, pa
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_denm_trigger: msg_id=%02x", msg_id);
unsigned char flag = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_denm_trigger: flag=%02x", flag);
LibItsDenm__TypesAndValues::UtDenmTrigger trigger; // See ETSI TR 103 34 099 Cause C.4.1 GenerateDenmEvent
LibItsDenm__TypesAndValues::UtDenmTrigger trigger; // See ETSI TR 103 099 Cause C.4.1 GenerateDenmEvent
// Decode detectionTime
trigger.detectionTime() = oct2int(OCTETSTRING(6, p));
p += 6;
......@@ -650,7 +650,7 @@ int ConfigRsuSimulatorLayer::process_ut_denm_update(const OCTETSTRING& data, par
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_denm_update: msg_id=%02x", msg_id);
unsigned char flag = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_denm_update: flag=%02x", flag);
LibItsDenm__TypesAndValues::UtDenmUpdate update; // See ETSI TR 103 34 099 Cause C.4.1 GenerateDenmEvent
LibItsDenm__TypesAndValues::UtDenmUpdate update; // See ETSI TR 103 099 Cause C.4.1 GenerateDenmEvent
// Statuion ID
update.actionId().originatingStationID() = oct2int(OCTETSTRING(4, p));
p += 4;
......@@ -886,19 +886,30 @@ int ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger(const OCTETSTRING&
unsigned char* p = (unsigned char*)static_cast<const unsigned char*>(data);
unsigned char msg_id = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: msg_id=%02x", msg_id);
LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger trigger; // See ETSI TR 103 34 099 Cause C.4.1 GenerateIvimEvent
unsigned char flag = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: flag=%02x", flag);
LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger trigger; // See ETSI TR 103 099 Cause C.4.1 GenerateMapemSpatemEvent
// Decode Event
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: event=%02x", *p);
trigger.event().int2enum(static_cast<int>(*p++));
// Decode IntersectionId
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: intersectionID=%04x", (short)*p);
trigger.intersectionID() = static_cast<int>((*p << 8) | *(p + 1));
if ((flag & 0x80) == 0x80) {
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: intersectionID=%04x", (short)*p);
trigger.intersectionID() = OPTIONAL<INTEGER>(static_cast<int>((*p << 8) | *(p + 1)));
} else {
trigger.intersectionID().set_to_omit();
}
p += 2;
// Decode RegulatorySpeedLimit
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: type__=%02x", *p);
trigger.regulatorySpeedLimit().type__().int2enum(static_cast<int>(*p++));
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: speed=%04x", (short)*p);
trigger.regulatorySpeedLimit().speed() = static_cast<int>((*p << 8) | *(p + 1));
if ((flag & 0x40) == 0x40) {
DSRC__REGION__noCircular::RegulatorySpeedLimit r;
r.type__().int2enum(static_cast<int>(*p++));
r.speed() = static_cast<int>((*p << 8) | *(p + 1));
loggers::get_instance().log_msg("ConfigRsuSimulatorLayer::process_ut_mapem_spatem_trigger: RegulatorySpeedLimit: ", r);
trigger.regulatorySpeedLimit() = OPTIONAL<DSRC__REGION__noCircular::RegulatorySpeedLimit>(r);
} else {
trigger.regulatorySpeedLimit().set_to_omit();
}
p += 2;
// FIXME Add flags
trigger.latitude().set_to_omit();
......@@ -929,7 +940,7 @@ int ConfigRsuSimulatorLayer::process_ut_ivim_trigger(const OCTETSTRING& data, pa
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_ivim_trigger: msg_id=%02x", msg_id);
unsigned short flag = static_cast<unsigned short>((*p++) << 8 | (*p++));
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_ivim_trigger: flag=%02x", flag);
LibItsIvim__TypesAndValues::UtIvimTrigger trigger; // See ETSI TR 103 34 099 Cause C.4.1 GenerateIvimEvent
LibItsIvim__TypesAndValues::UtIvimTrigger trigger; // See ETSI TR 103 099 Cause C.4.1 GenerateIvimEvent
// Decode ValidityFrom
if ((flag & 0x8000) == 0x8000) {
trigger.validFrom() = OPTIONAL<INTEGER>(oct2int(OCTETSTRING(6, p)));
......@@ -1052,7 +1063,7 @@ int ConfigRsuSimulatorLayer::process_ut_ivim_update(const OCTETSTRING& data, par
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_ivim_update: msg_id=%02x", msg_id);
unsigned char flag = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_ivim_update: flag=%02x", flag);
LibItsIvim__TypesAndValues::UtIvimUpdate update; // See ETSI TR 103 34 099 Cause C.4.1 GenerateIvimEvent
LibItsIvim__TypesAndValues::UtIvimUpdate update; // See ETSI TR 103 099 Cause C.4.1 GenerateIvimEvent
// IviIdentificationNumber
update.iviIdentificationNumber() = oct2int(OCTETSTRING(2, p));
p += 2;
......@@ -1141,7 +1152,7 @@ int ConfigRsuSimulatorLayer::process_ut_srem_trigger(const OCTETSTRING& data, pa
unsigned char* p = (unsigned char*)static_cast<const unsigned char*>(data);
unsigned char msg_id = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_geonetworking_trigger: msg_id=%02x", msg_id);
LibItsSremSsem__TypesAndValues::UtSremTrigger trigger; // See ETSI TR 103 34 099
LibItsSremSsem__TypesAndValues::UtSremTrigger trigger; // See ETSI TR 103 099
// BasicVehicleRole
trigger.basicVehicleRole() = oct2int(OCTETSTRING(1, p++));
// Request Importance Level
......@@ -1172,7 +1183,7 @@ int ConfigRsuSimulatorLayer::process_ut_srem_update(const OCTETSTRING& data, par
unsigned char* p = (unsigned char*)static_cast<const unsigned char*>(data);
unsigned char msg_id = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_geonetworking_update: msg_id=%02x", msg_id);
LibItsSremSsem__TypesAndValues::UtSremUpdate update; // See ETSI TR 103 34 099
LibItsSremSsem__TypesAndValues::UtSremUpdate update; // See ETSI TR 103 099
// RequestID
update.requestID() = oct2int(OCTETSTRING(1, p++));
// BasicVehicleRole
......@@ -1203,7 +1214,7 @@ int ConfigRsuSimulatorLayer::process_ut_srem_termination(const OCTETSTRING& data
unsigned char* p = (unsigned char*)static_cast<const unsigned char*>(data);
unsigned char msg_id = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_geonetworking_termination: msg_id=%02x", msg_id);
LibItsSremSsem__TypesAndValues::UtSremCancelation termination; // See ETSI TR 103 34 099
LibItsSremSsem__TypesAndValues::UtSremCancelation termination; // See ETSI TR 103 099
// RequestID
termination.requestID() = oct2int(OCTETSTRING(1, p++));
......@@ -1232,7 +1243,7 @@ int ConfigRsuSimulatorLayer::process_ut_rtcmem_trigger(const OCTETSTRING& data,
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_rtcmem_trigger: msg_id=%02x", msg_id);
unsigned char flag = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_rtcmem_trigger: flag=%02x", flag);
LibItsRtcmem__TypesAndValues::UtRtcmemTrigger trigger; // See ETSI TR 103 34 099 Cause C.10.1 GenerateRtcmemEvent
LibItsRtcmem__TypesAndValues::UtRtcmemTrigger trigger; // See ETSI TR 103 099 Cause C.10.1 GenerateRtcmemEvent
// Decode msgCnt
trigger.msgCnt() = *p++;
// Decode rev
......@@ -1294,7 +1305,7 @@ int ConfigRsuSimulatorLayer::process_ut_rtcmem_update(const OCTETSTRING& data, p
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_rtcmem_update: msg_id=%02x", msg_id);
unsigned char flag = *p++;
loggers::get_instance().log("ConfigRsuSimulatorLayer::process_ut_rtcmem_update: flag=%02x", flag);
LibItsRtcmem__TypesAndValues::UtRtcmemUpdate update; // See ETSI TR 103 34 099 Cause C.10.2 GenerateRtcmemUpdate
LibItsRtcmem__TypesAndValues::UtRtcmemUpdate update; // See ETSI TR 103 099 Cause C.10.2 GenerateRtcmemUpdate
// Decode msgs
DSRC::RTCMmessageList msgs;
p += 1; // Skip COER flag
......
......@@ -29,6 +29,16 @@ int uppertester_mapem_spatem_codec::encode (const Record_Type& msg, OCTETSTRING&
encoding_buffer.put_c(static_cast<const unsigned char>(uppertester_mapem_spatem_codec::c_utMapemSpatemInitialize));
} else if (std::string(msg.get_descriptor()->name).compare("@LibItsMapemSpatem_TypesAndValues.UtMapemSpatemTrigger") == 0) {
encoding_buffer.put_c(static_cast<const unsigned char>(uppertester_mapem_spatem_codec::c_utMapemSpatemTrigger));
// See ETSI TR 103 099 V1.4.1 Clause C.9.1 GenerateMapemSpatemEvent
unsigned char flags = 0x00;
const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger &r = static_cast<const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemTrigger &>(msg);
if (r.intersectionID().is_present()) { // F
flags |= 0x80;
}
if (r.regulatorySpeedLimit().is_present()) { // V
flags |= 0x40;
}
encoding_buffer.put_c(flags);
} else { // Error
data = OCTETSTRING(0, nullptr);
loggers::get_instance().log("<<< uppertester_mapem_spatem_codec::encode: Return -1");
......@@ -55,20 +65,43 @@ int uppertester_mapem_spatem_codec::encode_ (const Base_Type& type, const TTCN_T
loggers::get_instance().warning("uppertester_mapem_spatem_codec::encode_: -1 result code returned");
return -1;
}
} else {
std::string s(r.fld_descr(i)->name);
loggers::get_instance().log("uppertester_mapem_spatem_codec::encode_: Padding for %s", field_descriptor.name);
if (s.rfind(".intersectionID") != string::npos) { // Pad with two bytes
encoding_buffer.put_c((unsigned char)0x00);
encoding_buffer.put_c((unsigned char)0x00);
} else if (s.rfind(".regulatorySpeedLimit") != string::npos) { // Pad with three bytes
encoding_buffer.put_c((unsigned char)0x00);
encoding_buffer.put_c((unsigned char)0x00);
encoding_buffer.put_c((unsigned char)0x00);
}
}
} // End of 'for' statement
} else {
std::string s(field_descriptor.name);
loggers::get_instance().log("uppertester_mapem_spatem_codec::encode_: field to process %s", s.c_str());
loggers::get_instance().log("uppertester_mapem_spatem_codec::encode_ (else): processing type %s/%s", type.get_descriptor()->name, field_descriptor.name);
if (s.compare("@DSRC-REGION-noCircular.RegulatorySpeedLimit.type") == 0) {
const int t = dynamic_cast<const Enum_Type&>(type).as_int();
encoding_buffer.put_c((unsigned char)t);
} else if ((s.compare("@LibItsMapemSpatem_TypesAndValues.UtMapemSpatemTrigger.intersectionID") == 0) || (s.compare("@DSRC-REGION-noCircular.RegulatorySpeedLimit.speed") == 0)) {
const INTEGER& s = dynamic_cast<const INTEGER&>(type);
OCTETSTRING os = int2oct(s, 2);
encoding_buffer.put_s(os.lengthof(), static_cast<const unsigned char*>(os));
if (s.rfind(".intersectionID") != string::npos) {
if (type.is_present()) {
const OPTIONAL<INTEGER> &o = dynamic_cast<const OPTIONAL<INTEGER> &>(type);
const INTEGER& iv = dynamic_cast<const INTEGER&>(*o.get_opt_value());
loggers::get_instance().log_msg("uppertester_mapem_spatem_codec::encode_: iv=", iv);
OCTETSTRING os = int2oct(iv, 2);
encoding_buffer.put_s(os.lengthof(), static_cast<const unsigned char*>(os));
}
} else if (s.rfind(".regulatorySpeedLimit") == 0) {
if (type.is_present()) {
const OPTIONAL<DSRC__REGION__noCircular::RegulatorySpeedLimit> &o = dynamic_cast<const OPTIONAL<DSRC__REGION__noCircular::RegulatorySpeedLimit> &>(type);
const DSRC__REGION__noCircular::RegulatorySpeedLimit& rv = dynamic_cast<const DSRC__REGION__noCircular::RegulatorySpeedLimit&>(*o.get_opt_value());
const int t = rv.type__().as_int();
encoding_buffer.put_c((unsigned char)t);
const int s = rv.speed();
OCTETSTRING os = int2oct(s, 2);
encoding_buffer.put_s(os.lengthof(), static_cast<const unsigned char*>(os));
}
} else {
loggers::get_instance().log("uppertester_mapem_spatem_codec::encode_ (else): processing type %s/%s", type.get_descriptor()->name, field_descriptor.name);
type.encode(field_descriptor, encoding_buffer, TTCN_EncDec::CT_RAW);
}
}
......
......@@ -5,7 +5,7 @@
LibItsCommon_Pixits.PX_IUT_STATION_ID := 2533729309
LibItsGeoNetworking_Pixits.PX_GN_UPPER_LAYER := e_btpB
LibItsCam_Pics.PICS_IS_IUT_SECURED := true
LibItsMapemSpatem_Pics.PICS_IS_IUT_SECURED := false
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
......@@ -88,9 +88,9 @@ LogEventTypes:= Yes
# save_mode : 1 to save sent packet, 0 otherwise
#Cygwin
#system.mapemSpatemPort.params := "IVIM(next_header=btpB)/BTP(dst_port=2001)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=/home/yanng/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
#system.mapemSpatemPort.params := "MapemSpatem(next_header=btpB,header_type=gbc)/BTP(dst_port=2003)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=/home/yanng/tmp/asn1c_cert)/ETH(mac_src=e2b7b30429eb)/PCAP(mac_src=e2b7b30429eb,nic=CEBB111F-D749-4B40-8B4D-DBB060E90987,filter=and ether proto 0x8947)"
# Linux
system.mapemSpatemPort.params := "MapemSpatem(next_header=btpB,header_type=gbc)/BTP(dst_port=2003)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=1,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=dc536045af7e)/PCAP(mac_src=dc536045af7e,nic=wlp2s0,filter=and ether proto 0x8947)"
system.mapemSpatemPort.params := "MapemSpatem(next_header=btpB,header_type=gbc)/BTP(dst_port=2003)/GN(ll_address=4C5E0C14D2EA,latitude=43551050,longitude=10298730,distanceA=1500,distanceB=1500,angle=0,device_mode=1,secured_mode=0,sec_db_path=/home/yann/tmp/asn1c_cert)/ETH(mac_src=dc536045af7f)/PCAP(mac_src=dc536045af7f,nic=wlp2s0,filter=and ether proto 0x8947)"
# MapemSpatem UpperTester port based on UDP (ETSI Wlan)
system.utPort.params := "UT_MAPEMSPATEM/UDP(dst_ip=127.0.0.1,dst_port=12345,src_port=12346)"
......@@ -162,16 +162,23 @@ system.utPort.params := "UT_MAPEMSPATEM/UDP(dst_ip=127.0.0.1,dst_port=12345,src_
# Check that RLT service sends a MAPEM message containing roadSegments when it is permitted by the signing certificate.
#ItsMapem_TestCases.TC_IS_RLT_GEN_RATE_BV_01
# Check that the IUT can successfully process all mandatory fields of MAPEM received
ItsMapem_TestCases.TC_IS_RLT_GEN_RCV_BV_03
#ItsMapem_TestCases.TC_IS_RLT_GEN_RCV_BV_03
# Check that the IUT accepts the MAPEM signed with valid certificate.
#ItsMapem_TestCases.TC_IS_RLT_RCV_SEC_BV_01
# Check that the IUT skips the MAPEM signed with certificate without permissions to sign MAPEM.
#ItsMapem_TestCases.TC_IS_RLT_RCV_SEC_BO_02
# Check that the IUT skips the MAPEM containing intersections signed with certificate without service specific permissions (SSP) to sign such a MAPEM.
#ItsMapem_TestCases.TC_IS_RLT_RCV_SEC_BO_03
# Check that the IUT skips the MAPEM containing roadSegments signed with certificate without service specific permissions (SSP) to sign such a MAPEM
# Check that the IUT skips the MAPEM containing roadSegments signed with certificate without service specific permissions (SSP) to sign such a MAPEM
#ItsMapem_TestCases.TC_IS_RLT_RCV_SEC_BO_04
# Check that protocolVersion is set to 1 and messageID is set to 4
#ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_01
# An IUT shall include the unique identifier for the intersection as part of the signal phase and timing message broadcast
ItsSpatem_TestCases.TC_IS_TLM_GEN_MSGF_BV_02
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
......
......@@ -115,7 +115,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, v_mapem.msgIn.map_.intersections[0].id.id, m_speedLimits(maxSpeedInConstructionZone, 30)));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, v_mapem.msgIn.map_.intersections[0].id.id, m_speedLimits(maxSpeedInConstructionZone, 30)));
tc_ac.start;
alt {
......@@ -171,7 +171,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, v_mapem.msgIn.map_.intersections[0].id.id, v_mapem.msgIn.map_.intersections[0].speedLimits[0]));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, v_mapem.msgIn.map_.intersections[0].id.id, v_mapem.msgIn.map_.intersections[0].speedLimits[0]));
tc_ac.start;
alt {
......@@ -280,7 +280,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, -, -, PX_3D_REF_POINT_LATITUDE));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, -, -, PX_3D_REF_POINT_LATITUDE));
tc_ac.start;
alt {
......@@ -336,7 +336,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, 7));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, 7));
tc_ac.start;
alt {
......@@ -424,7 +424,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -508,7 +508,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -588,7 +588,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -669,7 +669,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -750,7 +750,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -831,7 +831,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -925,7 +925,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -1020,7 +1020,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -1100,7 +1100,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -1180,7 +1180,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -1260,7 +1260,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent, PX_INTERSECTION_ID));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0, PX_INTERSECTION_ID));
tc_ac.start;
alt {
......@@ -1380,7 +1380,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0));
tc_ac.start;
alt {
[] mapemSpatemPort.receive(v_mapem) {
......@@ -1502,7 +1502,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContentWithFragmentation));
f_utTriggerEvent(m_utTriggerEvent(mapProfile2)); // FIXME Add parameters to update default profile or create a MamSpatUpdate message
tc_ac.start;
alt {
[not v_firstFragmentReceived] mapemSpatemPort.receive(
......@@ -1583,7 +1583,7 @@ module ItsMapem_TpFunctions {
))) {
tc_ac.stop;
log("*** " & testcasename() & ": INFO: Successfully received well-formed MAPEM. ***");
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
v_tlmServiceStarted := true;
tc_ac.start;
repeat;
......@@ -1604,7 +1604,7 @@ module ItsMapem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
......@@ -1878,7 +1878,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0));
tc_ac.start;
alt {
......@@ -1929,7 +1929,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0));
tc_ac.start;
alt {
......@@ -1980,7 +1980,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0));
tc_noac.start;
alt {
......@@ -2031,7 +2031,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0));
tc_ac.start;
alt {
......@@ -2082,7 +2082,7 @@ module ItsMapem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(mapemNewContent));
f_utTriggerEvent(m_utTriggerEvent(mapProfile0));
tc_noac.start;
alt {
......
......@@ -58,7 +58,7 @@ module ItsSpatem_TpFunctions {
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
......@@ -81,7 +81,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
......@@ -106,7 +106,7 @@ module ItsSpatem_TpFunctions {
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
......@@ -138,7 +138,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
......@@ -163,7 +163,7 @@ module ItsSpatem_TpFunctions {
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
......@@ -195,7 +195,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
......@@ -220,7 +220,7 @@ module ItsSpatem_TpFunctions {
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
......@@ -247,7 +247,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
......@@ -272,7 +272,7 @@ module ItsSpatem_TpFunctions {
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
......@@ -304,7 +304,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
......@@ -329,7 +329,7 @@ module ItsSpatem_TpFunctions {
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
......@@ -364,7 +364,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
f_cfDown();
......@@ -462,7 +462,7 @@ module ItsSpatem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
......@@ -502,7 +502,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
} // End of function f_IS_TLM_GEN_MSGF_BV_08_SPATEM
......@@ -590,7 +590,7 @@ module ItsSpatem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
......@@ -632,7 +632,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
} // End of function f_IS_TLM_GEN_MSGF_BV_09_SPATEM
......@@ -720,7 +720,7 @@ module ItsSpatem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
......@@ -753,7 +753,7 @@ module ItsSpatem_TpFunctions {
}
// Postamble
f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
//f_utTriggerEvent(m_utTriggerEvent(stopTLMService));
f_poDefault();
} // End of function f_IS_TLM_GEN_MSGF_BV_10_SPATEM
......@@ -841,7 +841,7 @@ module ItsSpatem_TpFunctions {
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(startTLMService));
f_utTriggerEvent(m_utTriggerEvent(spatProfile0));
// Wait for SPATEM sent
tc_ac.start(2.0);
......@@ -878,7 +878,7 @@ module ItsSpatem_TpFunctions {