/* TA_EmergencyStop::ES_Build_Acknowledgement */ void ES_Build_Acknowledgement_TA_EmergencyStop( /* TA_EmergencyStop::ES_Build_Acknowledgement::nid_em */NID_EM nid_em, /* TA_EmergencyStop::ES_Build_Acknowledgement::t_train */T_TRAIN t_train, /* TA_EmergencyStop::ES_Build_Acknowledgement::trainProps */trainProperties_T_TrainPosition_Types_Pck *trainProps, /* TA_EmergencyStop::ES_Build_Acknowledgement::packet0 */PT0_PositionReport_T_Packet_TrainTypes_Pkg *packet0, /* TA_EmergencyStop::ES_Build_Acknowledgement::packet1 */PT1_PositionReport_2BG_T_Packet_TrainTypes_Pkg *packet1, /* TA_EmergencyStop::ES_Build_Acknowledgement::receivedMsg16 */kcg_bool receivedMsg16, /* TA_EmergencyStop::ES_Build_Acknowledgement::cesAccepted */kcg_bool cesAccepted, /* TA_EmergencyStop::ES_Build_Acknowledgement::updateEOA */kcg_bool updateEOA, /* TA_EmergencyStop::ES_Build_Acknowledgement::message147 */Radio_TrainTrack_Message_T_TM_transitional *message147) { static Q_EMERGENCYSTOP tmp; (*message147).present = kcg_true; kcg_copy_PT0_PositionReport_T_Packet_TrainTypes_Pkg( &(*message147).packets.p0, packet0); kcg_copy_PT1_PositionReport_2BG_T_Packet_TrainTypes_Pkg( &(*message147).packets.p1, packet1); kcg_copy_PT3_OnboardTelephoneNumbers_T_Packet_TrainTypes_Pkg( &(*message147).packets.p3, (PT3_OnboardTelephoneNumbers_T_Packet_TrainTypes_Pkg *) &cPT3_OBUTelephoneNumber_MA_Request); kcg_copy_PT4_ErrorReporting_T_Packet_TrainTypes_Pkg( &(*message147).packets.p4, (PT4_ErrorReporting_T_Packet_TrainTypes_Pkg *) &cPT4_ErrorReporting_MA_Request); kcg_copy_PT5_TrainRunningNumber_Packet_TrainTypes_Pkg( &(*message147).packets.p5, (PT5_TrainRunningNumber_Packet_TrainTypes_Pkg *) &cPT5_TrainRunningNumber_MA_Request); kcg_copy_PT9_Level23_TransitionInformation_T_Packet_TrainTypes_Pkg( &(*message147).packets.p9, (PT9_Level23_TransitionInformation_T_Packet_TrainTypes_Pkg *) &cPT9_Level23_MA_Request); kcg_copy_PT11_ValidatedTrainData_T_Packet_TrainTypes_Pkg( &(*message147).packets.p11, (PT11_ValidatedTrainData_T_Packet_TrainTypes_Pkg *) &cPT11_ValidateTrainData_MA_Request); if (receivedMsg16) { tmp = Q_EMERGENCYSTOP_Unconditional_Emergency_Stop_accepted; } else if (cesAccepted) { if (updateEOA) { tmp = Q_EMERGENCYSTOP_Conditional_Emergency_Stop_accepted_with_update_of_EOA; } else { tmp = Q_EMERGENCYSTOP_Conditional_Emergency_Stop_accepted_with_no_update_of_EOA; } } else { tmp = Q_EMERGENCYSTOP_Emergency_stop; } (*message147).header.present = kcg_true; (*message147).header.nid_message = 147; (*message147).header.t_train = t_train; (*message147).header.nid_engine = (*trainProps).nid_engine; (*message147).header.xQ_MARQSTREASON = cQ_MARQSREASON_NONE_TA_EmergencyStop; (*message147).header.xT_TRAIN = t_train; (*message147).header.xNID_EM = nid_em; (*message147).header.xQ_EMERGENCYSTOP = tmp; (*message147).header.xNID_TEXTMESSAGE = cNID_TEXTMESSAGE_NONE_TA_EmergencyStop; }
/* MA_Request::Build_MA_request */ void Build_MA_request_MA_Request( /* MA_Request::Build_MA_request::trackDescrDeleted */kcg_bool trackDescrDeleted, /* MA_Request::Build_MA_request::trainProps */trainProperties_T_TrainPosition_Types_Pck *trainProps, /* MA_Request::Build_MA_request::packet0 */PT0_PositionReport_T_Packet_TrainTypes_Pkg *packet0, /* MA_Request::Build_MA_request::packet1 */PT1_PositionReport_2BG_T_Packet_TrainTypes_Pkg *packet1, /* MA_Request::Build_MA_request::t_train */T_TRAIN t_train, outC_Build_MA_request_MA_Request *outC) { outC->_L83 = t_train; kcg_copy_PT9_Level23_TransitionInformation_T_Packet_TrainTypes_Pkg( &outC->_L82, (PT9_Level23_TransitionInformation_T_Packet_TrainTypes_Pkg *) &cPT9_Level23_MA_Request); kcg_copy_PT5_TrainRunningNumber_Packet_TrainTypes_Pkg( &outC->_L81, (PT5_TrainRunningNumber_Packet_TrainTypes_Pkg *) &cPT5_TrainRunningNumber_MA_Request); kcg_copy_PT4_ErrorReporting_T_Packet_TrainTypes_Pkg( &outC->_L80, (PT4_ErrorReporting_T_Packet_TrainTypes_Pkg *) &cPT4_ErrorReporting_MA_Request); kcg_copy_PT3_OnboardTelephoneNumbers_T_Packet_TrainTypes_Pkg( &outC->_L79, (PT3_OnboardTelephoneNumbers_T_Packet_TrainTypes_Pkg *) &cPT3_OBUTelephoneNumber_MA_Request); kcg_copy_PT11_ValidatedTrainData_T_Packet_TrainTypes_Pkg( &outC->_L78, (PT11_ValidatedTrainData_T_Packet_TrainTypes_Pkg *) &cPT11_ValidateTrainData_MA_Request); kcg_copy_PT0_PositionReport_T_Packet_TrainTypes_Pkg(&outC->_L61, packet0); kcg_copy_PT1_PositionReport_2BG_T_Packet_TrainTypes_Pkg(&outC->_L62, packet1); kcg_copy_PT0_PositionReport_T_Packet_TrainTypes_Pkg( &outC->_L77.p0, &outC->_L61); kcg_copy_PT1_PositionReport_2BG_T_Packet_TrainTypes_Pkg( &outC->_L77.p1, &outC->_L62); kcg_copy_PT3_OnboardTelephoneNumbers_T_Packet_TrainTypes_Pkg( &outC->_L77.p3, &outC->_L79); kcg_copy_PT4_ErrorReporting_T_Packet_TrainTypes_Pkg( &outC->_L77.p4, &outC->_L80); kcg_copy_PT5_TrainRunningNumber_Packet_TrainTypes_Pkg( &outC->_L77.p5, &outC->_L81); kcg_copy_PT9_Level23_TransitionInformation_T_Packet_TrainTypes_Pkg( &outC->_L77.p9, &outC->_L82); kcg_copy_PT11_ValidatedTrainData_T_Packet_TrainTypes_Pkg( &outC->_L77.p11, &outC->_L78); outC->_L60 = kcg_true; outC->_L26 = kcg_true; outC->_L27 = 132; kcg_copy_trainProperties_T_TrainPosition_Types_Pck(&outC->_L30, trainProps); outC->_L31 = outC->_L30.nid_engine; outC->_L33 = trackDescrDeleted; outC->_L35 = Q_MARQSTREASON_Track_description_deleted; outC->_L34 = Q_MARQSTREASON_Start_selected_by_driver; if (outC->_L33) { outC->_L32 = outC->_L35; } else { outC->_L32 = outC->_L34; } outC->_L56 = cNid_em_MA_Request; outC->_L57 = cQemergencyStop_MA_Request; outC->_L58 = cNidTextMessage_MA_Request; outC->_L54.present = outC->_L26; outC->_L54.nid_message = outC->_L27; outC->_L54.t_train = outC->_L83; outC->_L54.nid_engine = outC->_L31; outC->_L54.xQ_MARQSTREASON = outC->_L32; outC->_L54.xT_TRAIN = outC->_L83; outC->_L54.xNID_EM = outC->_L56; outC->_L54.xQ_EMERGENCYSTOP = outC->_L57; outC->_L54.xNID_TEXTMESSAGE = outC->_L58; outC->_L59.present = outC->_L60; kcg_copy_Radio_TrainTrack_Header_T_Radio_Types_Pkg( &outC->_L59.header, &outC->_L54); kcg_copy_outPackets_T_Common_Types_Pkg(&outC->_L59.packets, &outC->_L77); kcg_copy_Radio_TrainTrack_Message_T_Radio_Types_Pkg( &outC->message132, &outC->_L59); }
/* MoRC_Pck::MoRC_Main_v2 */ void MoRC_Main_v2_MoRC_Pck( /* MoRC_Pck::MoRC_Main_v2::msg_in */ msgFromTrack_T_RCM_MsgTypes_Pkg *msg_in, /* MoRC_Pck::MoRC_Main_v2::eventsAndPhases */ obuEventsAndPhases_T_RCM_Session_Types_Pkg *eventsAndPhases, /* MoRC_Pck::MoRC_Main_v2::atPowerUpRadioNetworkID */ P45_RadioNetworkRegistration_T_Packet_Types_Pkg *atPowerUpRadioNetworkID, /* MoRC_Pck::MoRC_Main_v2::newRadioNetworkIDFromDriver */ P45_RadioNetworkRegistration_T_Packet_Types_Pkg *newRadioNetworkIDFromDriver, /* MoRC_Pck::MoRC_Main_v2::mode */ M_MODE mode, /* MoRC_Pck::MoRC_Main_v2::level */ M_LEVEL level, /* MoRC_Pck::MoRC_Main_v2::mobileRegistrationContext */ mobileRegistrationContext_T_RCM_Types_Pkg *mobileRegistrationContext, /* MoRC_Pck::MoRC_Main_v2::mobileConnectionContext */ mobileConnectionContext_T_RCM_Types_Pkg *mobileConnectionContext, /* MoRC_Pck::MoRC_Main_v2::currentTime */ T_internal_Type_Obu_BasicTypes_Pkg currentTime, /* MoRC_Pck::MoRC_Main_v2::reset */ kcg_bool reset, /* MoRC_Pck::MoRC_Main_v2::t_train */ T_TRAIN t_train, /* MoRC_Pck::MoRC_Main_v2::configData */ morc_configData_T_RCM_Session_Types_Pkg *configData, outC_MoRC_Main_v2_MoRC_Pck *outC) { /* MoRC_Pck::MoRC_Main_v2 */ static sessionCmd_T_RCM_Session_Types_Pkg tmp3; /* MoRC_Pck::MoRC_Main_v2 */ static m38_initiationOfACommunicationSession_T_RCM_MsgTypes_Pkg tmp2; /* MoRC_Pck::MoRC_Main_v2 */ static m39_AckOfTerminationOfACommunicationSession_T_RCM_MsgTypes_Pkg tmp1; /* MoRC_Pck::MoRC_Main_v2 */ static m32_RBC_RIU_SystemVersion_T_RCM_MsgTypes_Pkg tmp; /* MoRC_Pck::MoRC_Main_v2::p42_sessionManagement */ static p42_sessionManagement_T_RCM_MsgTypes_Pkg p42_sessionManagement; /* MoRC_Pck::MoRC_Main_v2::_L10 */ static kcg_bool _L10; /* MoRC_Pck::MoRC_Main_v2::_L14 */ static mobileConnectionContext_T_RCM_Types_Pkg _L14; /* MoRC_Pck::MoRC_Main_v2::_L26 */ static mobileRegistrationContext_T_RCM_Types_Pkg _L26; /* MoRC_Pck::MoRC_Main_v2::_L27 */ static sessionStatus_T_RCM_Session_Types_Pkg _L27; /* 2 */ dec_p42_RCM_Utils_Pkg_decoders(msg_in, &p42_sessionManagement); /* last_init_ck_registrationStatus_l */ if (outC->init) { kcg_copy_mobileConnectionContext_T_RCM_Types_Pkg( &_L14, (mobileConnectionContext_T_RCM_Types_Pkg *) &cNoConnectionContext_RCM_Types_Pkg); kcg_copy_sessionStatus_T_RCM_Session_Types_Pkg( &_L27, (sessionStatus_T_RCM_Session_Types_Pkg *) &cNoSessionStatus_RCM_Session_Types_Pkg); outC->init = kcg_false; kcg_copy_mobileRegistrationContext_T_RCM_Types_Pkg( &_L26, (mobileRegistrationContext_T_RCM_Types_Pkg *) &cNoMobileRegistrationContext_RCM_Types_Pkg); } else { kcg_copy_mobileConnectionContext_T_RCM_Types_Pkg( &_L14, &outC->connectionStatus_l); kcg_copy_sessionStatus_T_RCM_Session_Types_Pkg( &_L27, &outC->sessionStatus_l); kcg_copy_mobileRegistrationContext_T_RCM_Types_Pkg( &_L26, &outC->registrationStatus_l); } /* 1 */ initiateTerminatingSession_v2_MoRC_Pck_Subfunc_Pkg( &p42_sessionManagement, eventsAndPhases, mode, &_L27, currentTime, reset, (*configData).maxWaitingTimeUntilTerminationOrderReceived, (*configData).noOfRetriesUntilTerminationOrderIsReceived, &outC->Context_1); outC->sendAPositionReport = outC->Context_1.sendAPositionReport; /* 1 */ dec_m38_RCM_Utils_Pkg_decoders(msg_in, &tmp2); /* 1 */ initiateSession_v2_MoRC_Pck_Subfunc_Pkg( mode, kcg_false, eventsAndPhases, &p42_sessionManagement, &tmp2, &_L26, &_L14, &_L27, (sessionStatus_T_RCM_Session_Types_Pkg *) &cNoSessionStatus_RCM_Session_Types_Pkg, (*configData).nid_radio_shortNumberStoredOnboard, &tmp3); /* 1 */ dec_m39_RCM_Utils_Pkg_decoders(msg_in, &tmp1); /* 1 */ dec_m32_RCM_Utils_Pkg_decoders(msg_in, kcg_true, &tmp); /* 1 */ sessionSequencer_v2_MoRC_Pck_Subfunc_Pkg( &tmp3, &p42_sessionManagement, &tmp1, &tmp, &_L14, outC->Context_1.initiateTermination, currentTime, reset, (*configData).noOfRetriesOfSendingTerminationMessage, (*configData).maxWaitingTimeForAckMessageReceived, &outC->_1_Context_1); outC->msgToTrackTriggers.m155_initiationOfACommunicationSession = outC->_1_Context_1.send_m155_initiationOfACommunicationSession; outC->msgToTrackTriggers.m156_terminationOfACommunicationSession = outC->_1_Context_1.send_m156_TerminationOfCommunicationSession; outC->msgToTrackTriggers.m159_sessionEstablished = outC->_1_Context_1.send_m159_sessionEstablishedReport; outC->msgToTrackTriggers.m154_noCompatibleVersionSupported = outC->_1_Context_1.send_m154_noCompatibleVersionSupported; outC->infomDriverNoCompatibleVersionSupported = outC->_1_Context_1.infomDriverNoCompatibleVersionSupported; kcg_copy_sessionStatus_T_RCM_Session_Types_Pkg( &outC->sessionStatus_l, &outC->_1_Context_1.sessionStatus); kcg_copy_sessionStatus_T_RCM_Session_Types_Pkg( &outC->status.session, &outC->sessionStatus_l); /* 1 */ requestRadioConnectionSetupFromOBU_v2_MoRC_Pck_Subfunc_Pkg( mode, eventsAndPhases, &outC->_1_Context_1.p42_SessionManagement_out, &outC->sessionStatus_l, &_L26, &_L14, outC->_1_Context_1.requestSafeRadioConnectionSetup, outC->_1_Context_1.requestReleaseOfSafeRadioConnection, currentTime, reset, (*configData).maxTimeToMaintainCommSession, (*configData).noOfTriesToEstablishASafeRadioConnection, &outC->_2_Context_1); /* 1 */ connectingToTheRBC_v2_MoRC_Pck_Subfunc_Pkg( &outC->_2_Context_1.connectionCmd, mobileConnectionContext, &_L26, &outC->mobileConnectionCmd, &outC->connectionStatus_l, &_L10); kcg_copy_mobileConnectionContext_T_RCM_Types_Pkg( &outC->status.connection, &outC->connectionStatus_l); /* 1 */ registeringToTheRadioNetwork_v2_MoRC_Pck_Subfunc_Pkg( atPowerUpRadioNetworkID, newRadioNetworkIDFromDriver, msg_in, level, eventsAndPhases, &outC->sessionStatus_l, &outC->connectionStatus_l, mobileRegistrationContext, reset, &(*configData).radioNetworkID_Default, &outC->_3_Context_1); outC->memorizeTheLastRadioNetworkID = outC->_3_Context_1.memorizeTheLastRadioNetworkID; kcg_copy_P45_RadioNetworkRegistration_T_Packet_Types_Pkg( &outC->lastReceivedRadioNetworkID, &outC->_3_Context_1.lastReceivedRadioNetworkID); kcg_copy_mobileRegistrationCmd_T_RCM_Types_Pkg( &outC->mobileRegistrationCmd, &outC->_3_Context_1.mobileRegistrationCmd); kcg_copy_mobileRegistrationContext_T_RCM_Types_Pkg( &outC->registrationStatus_l, &outC->_3_Context_1.mobileRegistrationStatus); kcg_copy_mobileRegistrationContext_T_RCM_Types_Pkg( &outC->status.registration, &outC->registrationStatus_l); outC->rejectOrderToContactRBC_or_RIU = _L10 | outC->_3_Context_1.rejectOrderToContactRBC_or_RIU; /* 1 */ safeRadioConnectionIndication_v2_MoRC_Pck_Subfunc_Pkg( &outC->mobileConnectionCmd, &outC->connectionStatus_l, eventsAndPhases, currentTime, reset, (*configData).connectionStatusTimerInterval, &outC->_4_Context_1); kcg_copy_safeRadioConnectionIndication_T_RCM_Session_Types_Pkg( &outC->safeRadioIndication, &outC->_4_Context_1.indication); /* ck_m155_initiationOfACommunicationSession */ if (outC->_1_Context_1.send_m155_initiationOfACommunicationSession) { /* 4 */ genMsgToRBC_MoRC_Pck_Coder_Pkg( kcg_true, co155_Initiation_of_a_communication_session_Id_Pkg, t_train, 0, (*configData).nid_engine, &outC->msgToRBC); } else /* ck_anon_activ */ if (outC->_1_Context_1.send_m156_TerminationOfCommunicationSession) { /* 3 */ genMsgToRBC_MoRC_Pck_Coder_Pkg( kcg_true, co156_Termination_of_a_communication_session_Id_Pkg, t_train, 0, (*configData).nid_engine, &outC->msgToRBC); } else /* ck_anon_activ */ if (outC->_1_Context_1.send_m159_sessionEstablishedReport) { /* 2 */ genMsgToRBC_MoRC_Pck_Coder_Pkg( kcg_true, co159_Session_established_Id_Pkg, t_train, 0, (*configData).nid_engine, &outC->msgToRBC); kcg_copy_PT3_OnboardTelephoneNumbers_T_Packet_TrainTypes_Pkg( &outC->msgToRBC.packets.p3, &(*configData).onboardPhoneNumbers); } else /* ck_anon_activ */ if (outC->_1_Context_1.send_m154_noCompatibleVersionSupported) { /* 1 */ genMsgToRBC_MoRC_Pck_Coder_Pkg( kcg_true, co154_No_Compatible_Version_Support_Id_Pkg, t_train, 0, (*configData).nid_engine, &outC->msgToRBC); } else { kcg_copy_msgToTrack_T_RCM_MsgTypes_Pkg( &outC->msgToRBC, (msgToTrack_T_RCM_MsgTypes_Pkg *) &cNoMessageToRBC_MoRC_Pck); } outC->notReady = outC->_1_Context_1.notReady | !kcg_comp_mobileConnectionContext_T_RCM_Types_Pkg( &_L14, &outC->connectionStatus_l) | !kcg_comp_mobileRegistrationContext_T_RCM_Types_Pkg( &_L26, &outC->registrationStatus_l) | !kcg_comp_sessionStatus_T_RCM_Session_Types_Pkg( &_L27, &outC->sessionStatus_l); }