/* MessageLibBaseline2::Send_P042 */
void Send_P042_MessageLibBaseline2(
  /* MessageLibBaseline2::Send_P042::B_data_in */CompressedPackets_T_Common_Types_Pkg *B_data_in,
  /* MessageLibBaseline2::Send_P042::P042 */P042_trackside_int_T_TM *P042,
  outC_Send_P042_MessageLibBaseline2 *outC)
{
  static CompressedPackets_T_Common_Types_Pkg tmp;
  static kcg_bool tmp1;
  static kcg_bool noname;
  
  kcg_copy_P042_trackside_int_T_TM(&outC->_L4, P042);
  outC->_L5 = outC->_L4.valid;
  outC->tmp = outC->_L5;
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L3, B_data_in);
  if (outC->tmp) {
    /* 1 */ Write_P042_TM_trackside(&outC->_L4, &outC->_L3, &outC->Context_1);
    tmp1 = outC->Context_1.Error;
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &tmp,
      &outC->Context_1.RadioPacketsOut);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L7, &tmp);
  }
  else {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L7, &outC->_L3);
  }
  outC->_L8 = kcg_false;
  if (outC->tmp) {
    outC->_L6 = tmp1;
  }
  else {
    outC->_L6 = outC->_L8;
  }
  noname = outC->_L6;
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->B_data_out, &outC->_L7);
}
/* InfraLib::Balise_Group_Init */
void Balise_Group_Init_InfraLib(
  /* InfraLib::Balise_Group_Init::TrainPos */kcg_real TrainPos,
  /* InfraLib::Balise_Group_Init::Engineering_Data */BaliseGroupData_TM *Engineering_Data,
  outC_Balise_Group_Init_InfraLib *outC)
{
  outC->_L31 = kcg_false;
  outC->_L30 = TrainPos;
  kcg_copy_BaliseGroupData_TM(&outC->_L2, Engineering_Data);
  outC->_L29 = outC->_L2.Pos;
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L28,
    (CompressedPackets_T_Common_Types_Pkg *) &DEFAULT_Packets_TM);
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &outC->_L27,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_TM_BaliseHeaderInt_TM);
  outC->_L14 = 0;
  kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L26.header, &outC->_L27);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L26.packets,
    &outC->_L28);
  outC->_L26.engineering_BG_location = outC->_L29;
  outC->_L26.TrainPos = outC->_L30;
  outC->_L26.pig_nom_0 = outC->_L14;
  outC->_L26.balise_passed = outC->_L31;
  kcg_copy_B_data_internal_T_InfraLib(&outC->BG_internal_out, &outC->_L26);
}
/* RadioLib::No_Radio_Packets */
void No_Radio_Packets_RadioLib(
  /* RadioLib::No_Radio_Packets::Radio_packets_in */CompressedPackets_T_Common_Types_Pkg *Radio_packets_in,
  outC_No_Radio_Packets_RadioLib *outC)
{
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L30, Radio_packets_in);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->Radio_packets_out,
    &outC->_L30);
}
/* Internal_Tests::TestP041_specific */
void TestP041_specific_Internal_Tests(void)
{
  static P41_LevelTransistionOrders_T_Packet_Types_Pkg tmp;
  static kcg_bool noname;
  
  kcg_copy_P041_trackside_int_T_TM(
    &Ctxt_TestP041_specific_Internal_Tests._L5,
    (P041_trackside_int_T_TM *) &BG356_P041_Packets426);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &Ctxt_TestP041_specific_Internal_Tests._L4,
    (CompressedPackets_T_Common_Types_Pkg *)
      &DEFAULT_CompressedPackets_Internal_Tests);
  /* 1 */
  Write_P041_TM_trackside(
    &Ctxt_TestP041_specific_Internal_Tests._L5,
    &Ctxt_TestP041_specific_Internal_Tests._L4,
    &Ctxt_TestP041_specific_Internal_Tests.Context_1);
  Ctxt_TestP041_specific_Internal_Tests._L2 =
    Ctxt_TestP041_specific_Internal_Tests.Context_1.Error;
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &Ctxt_TestP041_specific_Internal_Tests._L3,
    &Ctxt_TestP041_specific_Internal_Tests.Context_1.RadioPacketsOut);
  /* 1 */
  Read_P041_TM(
    &Ctxt_TestP041_specific_Internal_Tests._L3,
    &Ctxt_TestP041_specific_Internal_Tests._1_Context_1);
  Ctxt_TestP041_specific_Internal_Tests._L1 =
    Ctxt_TestP041_specific_Internal_Tests._1_Context_1.received;
  kcg_copy_P041_OBU_T_TM(
    &Ctxt_TestP041_specific_Internal_Tests._L6,
    &Ctxt_TestP041_specific_Internal_Tests._1_Context_1.P041_OBU_out);
  Ctxt_TestP041_specific_Internal_Tests.tmp =
    Ctxt_TestP041_specific_Internal_Tests._L1;
  if (Ctxt_TestP041_specific_Internal_Tests.tmp) {
    /* 1 */
    C_P041_to_legacy_t_TM_conversions(
      &Ctxt_TestP041_specific_Internal_Tests._L6,
      &Ctxt_TestP041_specific_Internal_Tests._2_Context_1);
    kcg_copy_P41_LevelTransistionOrders_T_Packet_Types_Pkg(
      &tmp,
      &Ctxt_TestP041_specific_Internal_Tests._2_Context_1.P041_legacy_out);
    kcg_copy_P41_LevelTransistionOrders_T_Packet_Types_Pkg(
      &Ctxt_TestP041_specific_Internal_Tests._L7,
      &tmp);
  }
  else {
    kcg_copy_P41_LevelTransistionOrders_T_Packet_Types_Pkg(
      &Ctxt_TestP041_specific_Internal_Tests._L7,
      (P41_LevelTransistionOrders_T_Packet_Types_Pkg *)
        &DEFAULT_P041_legacy_TM_specific);
  }
  kcg_copy_P41_LevelTransistionOrders_T_Packet_Types_Pkg(
    &PacketOut,
    &Ctxt_TestP041_specific_Internal_Tests._L7);
  noname = Ctxt_TestP041_specific_Internal_Tests._L2;
}
/* US_Integration_June::Amsterdam_Utrecht */
void Amsterdam_Utrecht_US_Integration_June(void)
{
  Ctxt_Amsterdam_Utrecht_US_Integration_June._L2 = TrainPos;
  /* 1 */
  Amsterdam_Utrecht_Lijn1_b_AmsterdamUtrechtL2_AmsterdamUtrechtTrack1(
    Ctxt_Amsterdam_Utrecht_US_Integration_June._L2,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June.Context_1);
  kcg_copy_CompressedBaliseMessage_TM(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L1,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June.Context_1.BaliseMessage);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L6,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L1.Messages);
  Ctxt_Amsterdam_Utrecht_US_Integration_June._L13 = Trigger_in;
  /* 1 */
  Amsterdam_Utrecht_RBC_Int_US_Integration_June(
    Ctxt_Amsterdam_Utrecht_US_Integration_June._L13,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._1_Context_1);
  kcg_copy_Radio_TrackTrain_Header_T_Radio_Types_Pkg(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L8,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._1_Context_1.RadioTrackTrainHeader_out);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L9,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._1_Context_1.Compressed_Packets_out);
  kcg_copy_CompressedRadioMessage_TM(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L10,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._1_Context_1.Compressed_Radio_Message_out);
  kcg_copy_CompressedRadioMessage_TM(
    &Compressed_Radio_Message_out,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L10);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &Compressed_Packets_out,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L9);
  kcg_copy_Radio_TrackTrain_Header_T_Radio_Types_Pkg(
    &RadioTrackTrainHeader_out,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L8);
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L5,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L1.Header);
  /* 1 */
  CASTLIB_BaliseHeaders_TM_conversions(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L5,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._2_Context_1);
  kcg_copy_TelegramHeader_T_BG_Types_Pkg(
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L7,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._2_Context_1.Out);
  kcg_copy_TelegramHeader_T_BG_Types_Pkg(
    &Balise_Header,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L7);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &Balise_Packets,
    &Ctxt_Amsterdam_Utrecht_US_Integration_June._L6);
}
/* TM_trackside_baseline2::Write_P003V1 */
void Write_P003V1_TM_trackside_baseline2(
  /* TM_trackside_baseline2::Write_P003V1::Packet003V1 */P003V1_trackside_int_T_TM_baseline2 *Packet003V1,
  /* TM_trackside_baseline2::Write_P003V1::Packets */CompressedPackets_T_Common_Types_Pkg *Packets,
  outC_Write_P003V1_TM_trackside_baseline2 *outC)
{
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L40, Packets);
  kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
    &outC->_L42,
    &outC->_L40.PacketData);
  kcg_copy_P003V1_trackside_int_T_TM_baseline2(&outC->_L1, Packet003V1);
  /* 1 */
  C_P003V1_tracksim_compr_TM_conversions_baseline2(
    &outC->_L1,
    &outC->Context_1);
  kcg_copy_MetadataElement_T_Common_Types_Pkg(
    &outC->_L43,
    &outC->Context_1.Header);
  kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
    &outC->_L44,
    &outC->Context_1.P003V1_compressed);
  kcg_copy_Metadata_T_Common_Types_Pkg(&outC->_L41, &outC->_L40.PacketHeaders);
  /* 1 */
  SEND_WriteBaliseMessageHeader_TM_lib_internal(
    &outC->_L41,
    &outC->_L43,
    &outC->_1_Context_1);
  kcg_copy_Metadata_T_Common_Types_Pkg(
    &outC->_L4,
    &outC->_1_Context_1.HeadersOut);
  outC->_L21 = outC->_1_Context_1.NewStartAddr;
  outC->_L22 = outC->_1_Context_1.NewEndAddr;
  /* 1 */
  SEND_MessageData_TM_lib_internal(
    outC->_L21,
    outC->_L22,
    &outC->_L42,
    &outC->_L44,
    &outC->_2_Context_1);
  kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
    &outC->_L10,
    &outC->_2_Context_1.DataOut);
  kcg_copy_Metadata_T_Common_Types_Pkg(&outC->_L39.PacketHeaders, &outC->_L4);
  kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
    &outC->_L39.PacketData,
    &outC->_L10);
  outC->_L18 = kcg_false;
  outC->Error = outC->_L18;
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->RadioPacketsOut,
    &outC->_L39);
}
/* AmsterdamUtrechtL2::Sheet05_Amstel_Balises::Packets_BG353 */
void Packets_BG353_AmsterdamUtrechtL2_Sheet05_Amstel_Balises(
    /* AmsterdamUtrechtL2::Sheet05_Amstel_Balises::Packets_BG353::Header */BaliseTelegramHeader_int_T_TM *Header,
    /* AmsterdamUtrechtL2::Sheet05_Amstel_Balises::Packets_BG353::Balise_data_in */B_data_internal_T_InfraLib *Balise_data_in,
    outC_Packets_BG353_AmsterdamUtrechtL2_Sheet05_Amstel_Balises *outC)
{
    kcg_copy_B_data_internal_T_InfraLib(&outC->_L26, Balise_data_in);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
        &outC->_L25,
        &outC->_L26.packets);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->B_data_in, &outC->_L25);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L22, &outC->B_data_in);
    /* 1 */
    Send_P042_MessageLibBaseline2(
        &outC->_L22,
        (P042_trackside_int_T_TM *) &BG353_P042_N_Packets426,
        &outC->Context_1);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
        &outC->_L11,
        &outC->Context_1.B_data_out);
    /* 2 */
    Send_P042_MessageLibBaseline2(
        &outC->_L11,
        (P042_trackside_int_T_TM *) &BG353_P042_R_Packets426,
        &outC->Context_2);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
        &outC->_L34,
        &outC->Context_2.B_data_out);
    outC->_L33 = kcg_true;
    kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L28, Header);
    kcg_copy_B_data_internal_T_InfraLib(&outC->_L29, &outC->_L26);
    if (kcg_true) {
        kcg_copy_BaliseTelegramHeader_int_T_TM(&outC->_L29.header, &outC->_L28);
    }
    /* 1 */
    Send_P255_MessageLibBaseline2(
        &outC->_L34,
        (P255_trackside_int_T_TM *) &BGXXX_P255_Packets426,
        &outC->_1_Context_1);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
        &outC->_L2,
        &outC->_1_Context_1.packet_data_out);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->B_data_out, &outC->_L2);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L30, &outC->B_data_out);
    kcg_copy_B_data_internal_T_InfraLib(&outC->_L31, &outC->_L29);
    if (kcg_true) {
        kcg_copy_CompressedPackets_T_Common_Types_Pkg(
            &outC->_L31.packets,
            &outC->_L30);
    }
    kcg_copy_B_data_internal_T_InfraLib(&outC->_L32, &outC->_L31);
    if (kcg_true) {
        outC->_L32.balise_passed = outC->_L33;
    }
    kcg_copy_B_data_internal_T_InfraLib(&outC->Balise_data_out, &outC->_L32);
}
/* SEND_MergeBalisePackets */
void SEND_MergeBalisePackets(
  /* SEND_MergeBalisePackets::Headers */ TM_BaliseTelegramHeader_int_T *Headers,
  /* SEND_MergeBalisePackets::P3 */ TM_P003_T *P3,
  /* SEND_MergeBalisePackets::P41 */ TM_P041_T *P41,
  /* SEND_MergeBalisePackets::P42 */ TM_P042_T *P42,
  /* SEND_MergeBalisePackets::P46 */ TM_P046_T *P46,
  /* SEND_MergeBalisePackets::P72 */ kcg_int P72,
  /* SEND_MergeBalisePackets::P137 */ TM_P137_T *P137,
  /* SEND_MergeBalisePackets::P255 */ TM_P255_T *P255,
  /* SEND_MergeBalisePackets::BM_out */ TM_CompressedBaliseMessage *BM_out)
{
  kcg_bool tmp;
  /* SEND_MergeBalisePackets::_L6 */ CompressedPackets_T_Common_Types_Pkg _L6;
  /* SEND_MergeBalisePackets::_L15 */ CompressedPackets_T_Common_Types_Pkg _L15;
  
  kcg_copy_TM_BaliseTelegramHeader_int_T(&(*BM_out).Header, Headers);
  if ((*P41).valid) {
    /* 1 */
    SEND_WritePacket041_IT(
      P41,
      (CompressedPackets_T_Common_Types_Pkg *) &DEFAULT_BaliseMessages,
      &tmp,
      &_L15);
  }
  else {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &_L15,
      (CompressedPackets_T_Common_Types_Pkg *) &DEFAULT_BaliseMessages);
  }
  if ((*P46).valid) {
    /* 1 */ SEND_WritePacket046_IT(P46, &_L15, &tmp, &_L6);
  }
  else {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&_L6, &_L15);
  }
  if ((*P42).valid) {
    /* 1 */ SEND_WritePacket042_IT(P42, &_L6, &tmp, &_L15);
  }
  else {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&_L15, &_L6);
  }
  if ((*P255).valid) {
    /* 1 */ SEND_WritePacket255_IT(P255, &_L15, &tmp, &(*BM_out).Messages);
  }
  else {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&(*BM_out).Messages, &_L15);
  }
}
/* CheckBGConsistency_Pkg::SubFunction::BuildCheckedMessage */
void BuildCheckedMessage_CheckBGConsistency_Pkg_SubFunction(
  /* CheckBGConsistency_Pkg::SubFunction::BuildCheckedMessage::trackSideForCheck */ TrackSide_ForCheck_T_Common_Types_Pkg *trackSideForCheck,
  /* CheckBGConsistency_Pkg::SubFunction::BuildCheckedMessage::q_nvlocacc */ Q_NVLOCACC q_nvlocacc,
  /* CheckBGConsistency_Pkg::SubFunction::BuildCheckedMessage::checkedMessage */ ReceivedMessage_T_Common_Types_Pkg *checkedMessage)
{
  /* CheckBGConsistency_Pkg::SubFunction::BuildCheckedMessage */ Telegram_T_BG_Types_Pkg tmp;
  
  (*checkedMessage).valid = (*trackSideForCheck).telegramHeaders.present;
  (*checkedMessage).source = cEurobalise_CheckBGConsistency_Pkg;
  kcg_copy_RadioMetadata_T_Common_Types_Pkg(
    &(*checkedMessage).radioMetadata,
    (RadioMetadata_T_Common_Types_Pkg *)
      &cRadioMetadata_CheckBGConsistency_Pkg);
  kcg_copy_Radio_TrackTrain_Header_T_Radio_Types_Pkg(
    &(*checkedMessage).Radio_Common_Header,
    (Radio_TrackTrain_Header_T_Radio_Types_Pkg *)
      &cNoRadioHeader_CheckBGConsistency_Pkg);
  kcg_copy_RBC_Id_T_Common_Types_Pkg(
    &(*checkedMessage).sendingRBC,
    (RBC_Id_T_Common_Types_Pkg *) &cSendingRBC_CheckBGConsistency_Pkg);
  /* 1 */
  bildBGHeader_CheckBGConsistency_Pkg_SubFunction(
    trackSideForCheck,
    q_nvlocacc,
    &(*checkedMessage).BG_Common_Header);
  /* 1 */
  MergAllPackets_Iter_CheckBGConsistency_Pkg_SubFunction_MergFunction(
    &(*trackSideForCheck).telegramHeaders.Telegrams,
    &tmp);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &(*checkedMessage).packets,
    &tmp.packets);
}
/* US_Integration_June::Amsterdam_Utrecht_RBC_Integration */
void Amsterdam_Utrecht_RBC_Integration_US_Integration_June(
  /* US_Integration_June::Amsterdam_Utrecht_RBC_Integration::Trigger_in */kcg_int _4_Trigger_in,
  /* US_Integration_June::Amsterdam_Utrecht_RBC_Integration::RadioTrackTrainHeader_out */Radio_TrackTrain_Header_T_Radio_Types_Pkg *_3_RadioTrackTrainHeader_out,
  /* US_Integration_June::Amsterdam_Utrecht_RBC_Integration::Compressed_Packets_out */CompressedPackets_T_Common_Types_Pkg *_2_Compressed_Packets_out,
  /* US_Integration_June::Amsterdam_Utrecht_RBC_Integration::Compressed_Radio_Message_out */CompressedRadioMessage_TM *_1_Compressed_Radio_Message_out)
{
  /* US_Integration_June::Amsterdam_Utrecht_RBC_Integration::_L1 */
  static M_TrackTrain_Radio_T_TM_radio_messages _L1;
  
  /* 1 */
  Amsterdam_Utrecht_Lijn1_RBC_AmsterdamUtrechtL2_AmsterdamUtrechtTrack1(
    (M_TrackTrain_Radio_T_TM_radio_messages *) &no_message_US_Integration_June,
    (CompressedPackets_T_Common_Types_Pkg *) &no_packets_US_Integration_June,
    _4_Trigger_in,
    kcg_false,
    &_L1,
    _2_Compressed_Packets_out);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &(*_1_Compressed_Radio_Message_out).Messages,
    _2_Compressed_Packets_out);
  /* 1 */
  compressed_to_Radio_Track_Train_H_TM_RBC_conversions(
    &_L1,
    _3_RadioTrackTrainHeader_out);
  /* 1 */
  C_TrackTrainMessage_to_Int_TM_conversions(
    _3_RadioTrackTrainHeader_out,
    &(*_1_Compressed_Radio_Message_out).Header);
}
/* TM_baseline2::Read_P003V1 */
void Read_P003V1_TM_baseline2(
  /* TM_baseline2::Read_P003V1::Message_IN */CompressedPackets_T_Common_Types_Pkg *Message_IN,
  outC_Read_P003V1_TM_baseline2 *outC)
{
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L6, Message_IN);
  /* 1 */
  RECV_ReadPackets_TM_lib_internal(
    &outC->_L6,
    3016000,
    kcg_true,
    kcg_false,
    &outC->Context_1);
  kcg_copy_array_int_500(&outC->_L5, &outC->Context_1.Data);
  kcg_copy_MetadataElement_T_Common_Types_Pkg(
    &outC->_L30,
    &outC->Context_1.Metadata);
  outC->_L167 = outC->Context_1.received;
  outC->received = outC->_L167;
  /* 1 */
  C_P003V1_compr_onboard_TM_conversions_baseline2(
    &outC->_L5,
    &outC->_L30,
    &outC->_1_Context_1);
  kcg_copy_P003V1_OBU_T_TM_baseline2(
    &outC->_L166,
    &outC->_1_Context_1.P003V1_onboard);
  kcg_copy_P003V1_OBU_T_TM_baseline2(&outC->P003V1_OBU_out, &outC->_L166);
}
/* MessageLibBaseline2::Send_P005 */
void Send_P005_MessageLibBaseline2(
  /* MessageLibBaseline2::Send_P005::B_data_in */CompressedPackets_T_Common_Types_Pkg *B_data_in,
  /* MessageLibBaseline2::Send_P005::P005 */P005_trackside_int_T_TM *P005,
  /* MessageLibBaseline2::Send_P005::B_data_out */CompressedPackets_T_Common_Types_Pkg *B_data_out)
{
  /* TM_trackside::Write_P005::_L21 */
  static kcg_int _L21_1;
  /* TM_trackside::Write_P005::_L22 */
  static kcg_int _L22_1;
  /* TM_trackside::Write_P005::_L44 */
  static CompressedPacketData_T_Common_Types_Pkg _L44_1;
  /* TM_trackside::Write_P005::_L43 */
  static MetadataElement_T_Common_Types_Pkg _L43_1;
  
  if ((*P005).valid) {
    /* 1_1 */ C_P005_tracksim_compr_TM_conversions(P005, &_L43_1, &_L44_1);
    /* 1_1 */
    SEND_WriteBaliseMessageHeader_TM_lib_internal(
      &(*B_data_in).PacketHeaders,
      &_L43_1,
      &(*B_data_out).PacketHeaders,
      &_L21_1,
      &_L22_1);
    /* 1_1 */
    SEND_MessageData_TM_lib_internal(
      _L21_1,
      _L22_1,
      &(*B_data_in).PacketData,
      &_L44_1,
      &(*B_data_out).PacketData);
  }
  else {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(B_data_out, B_data_in);
  }
}
Esempio n. 13
0
/* TM::Read_P005 */
void Read_P005_TM(
  /* TM::Read_P005::Message_IN */CompressedPackets_T_Common_Types_Pkg *Message_IN,
  outC_Read_P005_TM *outC)
{
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L6, Message_IN);
  /* 1 */
  RECV_ReadPackets_TM_lib_internal(
    &outC->_L6,
    5032000,
    kcg_true,
    kcg_false,
    &outC->Context_1);
  kcg_copy_array_int_500(&outC->_L5, &outC->Context_1.Data);
  kcg_copy_MetadataElement_T_Common_Types_Pkg(
    &outC->_L30,
    &outC->Context_1.Metadata);
  outC->_L167 = outC->Context_1.received;
  outC->received = outC->_L167;
  /* 3 */
  C_P005_compr_onboard_TM_conversions(
    &outC->_L5,
    &outC->_L30,
    &outC->Context_3);
  kcg_copy_P005_OBU_T_TM(&outC->_L166, &outC->Context_3.P005_onboard);
  kcg_copy_P005_OBU_T_TM(&outC->P005_OBU_out, &outC->_L166);
}
/* RadioLib::No_Radio_Packets */
void No_Radio_Packets_RadioLib(
  /* RadioLib::No_Radio_Packets::Radio_packets_in */CompressedPackets_T_Common_Types_Pkg *Radio_packets_in,
  /* RadioLib::No_Radio_Packets::Radio_packets_out */CompressedPackets_T_Common_Types_Pkg *Radio_packets_out)
{
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    Radio_packets_out,
    Radio_packets_in);
}
/* TM_trackside_baseline2::Write_P027V1 */
void Write_P027V1_TM_trackside_baseline2(
  /* TM_trackside_baseline2::Write_P027V1::Packet27V1 */P027V1_trackside_int_T_TM_baseline2 *Packet27V1,
  /* TM_trackside_baseline2::Write_P027V1::Packets */CompressedPackets_T_Common_Types_Pkg *Packets,
  /* TM_trackside_baseline2::Write_P027V1::Error */kcg_bool *Error,
  /* TM_trackside_baseline2::Write_P027V1::PacketsOut */CompressedPackets_T_Common_Types_Pkg *PacketsOut)
{
  struct__47107 tmp1;
  kcg_bool tmp;
  kcg_int i;
  /* TM_trackside_baseline2::Write_P027V1::_L21 */ kcg_int _L21;
  /* TM_trackside_baseline2::Write_P027V1::_L44 */ CompressedPacketData_T_Common_Types_Pkg _L44;
  /* TM_trackside_baseline2::Write_P027V1::_L43 */ MetadataElement_T_Common_Types_Pkg _L43;
  /* TM_trackside_baseline2::Write_P027V1::_L45 */ P027V1_OBU_sectionlist_int_T_TM_baseline2 _L45;
  /* TM_trackside_baseline2::Write_P027V1::_L46 */ kcg_int _L46;
  /* TM_trackside_baseline2::Write_P027V1::_L56 */ kcg_int _L56;
  /* TM_trackside_baseline2::Write_P027V1::_L59 */ Q_DIR _L59;
  
  *Error = kcg_false;
  /* 1 */
  C_P027V1_tracksim_compr_body_TM_conversions_baseline2(
    Packet27V1,
    &_L43,
    &_L44,
    &_L45,
    &_L46,
    &_L56,
    &_L59);
  /* 1 */
  SEND_WriteMessageHeader_TM_lib_internal(
    &(*Packets).PacketHeaders,
    &_L43,
    &(*PacketsOut).PacketHeaders,
    &_L21,
    &i);
  /* 1 */
  SEND_MessageData_TM_lib_internal(
    _L21,
    i,
    &(*Packets).PacketData,
    &_L44,
    &(*PacketsOut).PacketData);
  for (i = 0; i < 33; i++) {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(&tmp1, PacketsOut);
    /* 1 */
    C_P027V1_tracksim_merge_sections_TM_conversions_baseline2(
      i,
      &tmp1,
      &_L45[i],
      _L46,
      _L56,
      _L59,
      &tmp,
      PacketsOut);
    if (!tmp) {
      break;
    }
  }
}
Esempio n. 16
0
/* RadioLib::RBC_init */
void RBC_init_RadioLib(
  /* RadioLib::RBC_init::Message_in */M_TrackTrain_Radio_T_TM_radio_messages *Message_in,
  /* RadioLib::RBC_init::Packets_in */CompressedPackets_T_Common_Types_Pkg *Packets_in,
  /* RadioLib::RBC_init::Trigger_in */kcg_int Trigger_in,
  /* RadioLib::RBC_init::Message_sent */kcg_bool Message_sent,
  outC_RBC_init_RadioLib *outC)
{
  outC->_L6 = Message_sent;
  outC->_L4 = Trigger_in;
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L3, Packets_in);
  kcg_copy_M_TrackTrain_Radio_T_TM_radio_messages(&outC->_L2, Message_in);
  kcg_copy_M_TrackTrain_Radio_T_TM_radio_messages(
    &outC->_L1.message,
    &outC->_L2);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L1.packets, &outC->_L3);
  outC->_L1.trigger = outC->_L4;
  outC->_L1.message_sent = outC->_L6;
  kcg_copy_R_data_internal_T_InfraLib(&outC->R_data_out, &outC->_L1);
}
/* AmsterdamUtrechtL2::Sheet06_Bijlmer_RBC::Build_RBC_LRBG_362_D_00230_7_M003 */
void _6_Build_RBC_LRBG_362_D_0023_AmsterdamUtrechtL2_Sheet06_Bijlmer_RBC(
  /* AmsterdamUtrechtL2::Sheet06_Bijlmer_RBC::Build_RBC_LRBG_362_D_00230_7_M003::RadiaDataIn */R_data_internal_T_InfraLib *RadiaDataIn,
  outC__6_Build_RBC_LRBG_362_D_0023_AmsterdamUtrechtL2_Sheet06_Bijlmer_RBC *outC)
{
  outC->_L44 = kcg_true;
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L1, RadiaDataIn);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L38,
    &outC->_L1.packets);
  /* 1 */
  _5_SendRadioPackets_LRBG_362_AmsterdamUtrechtL2_Sheet06_Bijlmer_RBC(
    &outC->_L38,
    &outC->Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L3,
    &outC->Context_1.Radio_packets_out);
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L39, &outC->_L1);
  if (kcg_true) {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &outC->_L39.packets,
      &outC->_L3);
  }
  /* 1 */
  Send_M003_JRU_MessageLibBaseline2(
    (M_003_int_T_TM_radio_messages *) &LRBG_362_D_00230_7_M003_Messages_426,
    &outC->_1_Context_1);
  kcg_copy_M_TrackTrain_Radio_T_TM_radio_messages(
    &outC->_L42,
    &outC->_1_Context_1.Message_Out);
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L40, &outC->_L39);
  if (kcg_true) {
    kcg_copy_M_TrackTrain_Radio_T_TM_radio_messages(
      &outC->_L40.message,
      &outC->_L42);
  }
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L43, &outC->_L40);
  if (kcg_true) {
    outC->_L43.message_sent = outC->_L44;
  }
  kcg_copy_R_data_internal_T_InfraLib(&outC->R_data_out, &outC->_L43);
}
/* TM_lib_internal::RECV_ReadPackets */
void RECV_ReadPackets_TM_lib_internal(
  /* TM_lib_internal::RECV_ReadPackets::Packets */CompressedPackets_T_Common_Types_Pkg *Packets,
  /* TM_lib_internal::RECV_ReadPackets::PacketID */kcg_int PacketID,
  /* TM_lib_internal::RECV_ReadPackets::F_version */kcg_bool F_version,
  /* TM_lib_internal::RECV_ReadPackets::F_id */kcg_bool F_id,
  outC_RECV_ReadPackets_TM_lib_internal *outC)
{
  array_int_500 tmp;
  kcg_int noname;
  
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L46, Packets);
  kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
    &outC->_L48,
    &outC->_L46.PacketData);
  outC->_L45 = PacketID;
  kcg_copy_Metadata_T_Common_Types_Pkg(&outC->_L47, &outC->_L46.PacketHeaders);
  outC->_L49 = F_version;
  outC->_L50 = F_id;
  /* 1 */
  RECV_LookupPacket_TM_lib_internal(
    outC->_L45,
    &outC->_L47,
    outC->_L49,
    outC->_L50,
    &outC->Context_1);
  outC->_L1 = outC->Context_1.Found;
  outC->_L2 = outC->Context_1.Index;
  kcg_copy_MetadataElement_T_Common_Types_Pkg(
    &outC->_L3,
    &outC->Context_1.HeaderFound);
  outC->received = outC->_L1;
  kcg_copy_MetadataElement_T_Common_Types_Pkg(&outC->Metadata, &outC->_L3);
  outC->tmp = outC->_L1;
  if (outC->tmp) {
    /* 1 */
    RECV_ReadPacketKernel_TM_lib_internal(
      &outC->_L3,
      &outC->_L48,
      &outC->_1_Context_1);
    kcg_copy_array_int_500(&tmp, &outC->_1_Context_1.PacketOut);
  }
  kcg_copy_CompressedPacketData_T_Common_Types_Pkg(
    &outC->_L44,
    (CompressedPacketData_T_Common_Types_Pkg *) &DEFAULT_CompressedPackets_TM);
  if (outC->tmp) {
    kcg_copy_array_int_500(&outC->_L4, &tmp);
  }
  else {
    kcg_copy_CompressedPacketData_T_Common_Types_Pkg(&outC->_L4, &outC->_L44);
  }
  kcg_copy_array_int_500(&outC->Data, &outC->_L4);
  noname = outC->_L2;
}
/* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_Balises::Packets_BG402 */
void Packets_BG402_AmsterdamUtrechtL2_Sheet11_BreukelenKeerspoor_Balises(
  /* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_Balises::Packets_BG402::Header */BaliseTelegramHeader_int_T_TM *Header,
  /* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_Balises::Packets_BG402::Balise_data_in */B_data_internal_T_InfraLib *Balise_data_in,
  /* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_Balises::Packets_BG402::Balise_data_out */B_data_internal_T_InfraLib *Balise_data_out)
{
  kcg_copy_B_data_internal_T_InfraLib(Balise_data_out, Balise_data_in);
  kcg_copy_BaliseTelegramHeader_int_T_TM(&(*Balise_data_out).header, Header);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &(*Balise_data_out).packets,
    &(*Balise_data_in).packets);
  (*Balise_data_out).balise_passed = kcg_true;
}
Esempio n. 20
0
/* RadioLib::RBC_close */
void RBC_close_RadioLib(
  /* RadioLib::RBC_close::RadiaDataIn */R_data_internal_T_InfraLib *RadiaDataIn,
  /* RadioLib::RBC_close::Message_out */M_TrackTrain_Radio_T_TM_radio_messages *Message_out,
  /* RadioLib::RBC_close::Packets_out */CompressedPackets_T_Common_Types_Pkg *Packets_out)
{
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    Packets_out,
    &(*RadiaDataIn).packets);
  kcg_copy_M_TrackTrain_Radio_T_TM_radio_messages(
    Message_out,
    &(*RadiaDataIn).message);
}
/* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_RBC::Build_RBC_LRBG_407_D_00167_3_M015 */
void Build_RBC_LRBG_407_D_0016_AmsterdamUtrechtL2_Sheet11_BreukelenKeerspoor_RBC(
  /* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_RBC::Build_RBC_LRBG_407_D_00167_3_M015::RadiaDataIn */R_data_internal_T_InfraLib *RadiaDataIn,
  outC_Build_RBC_LRBG_407_D_0016_AmsterdamUtrechtL2_Sheet11_BreukelenKeerspoor_RBC *outC)
{
  outC->_L44 = kcg_true;
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L1, RadiaDataIn);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L38,
    &outC->_L1.packets);
  /* 1 */ No_Radio_Packets_RadioLib(&outC->_L38, &outC->Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L3,
    &outC->Context_1.Radio_packets_out);
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L39, &outC->_L1);
  if (kcg_true) {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &outC->_L39.packets,
      &outC->_L3);
  }
  /* 1 */
  Send_M015_JRU_MessageLibBaseline2(
    (M_015_int_T_TM_radio_messages *) &LRBG_407_D_00167_3_M015_Messages_426,
    &outC->_1_Context_1);
  kcg_copy_M_TrackTrain_Radio_T_TM_radio_messages(
    &outC->_L42,
    &outC->_1_Context_1.Message_Out);
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L40, &outC->_L39);
  if (kcg_true) {
    kcg_copy_M_TrackTrain_Radio_T_TM_radio_messages(
      &outC->_L40.message,
      &outC->_L42);
  }
  kcg_copy_R_data_internal_T_InfraLib(&outC->_L43, &outC->_L40);
  if (kcg_true) {
    outC->_L43.message_sent = outC->_L44;
  }
  kcg_copy_R_data_internal_T_InfraLib(&outC->R_data_out, &outC->_L43);
}
/* MessageLibBaseline2::Send_P015 */
void Send_P015_MessageLibBaseline2(
  /* MessageLibBaseline2::Send_P015::B_data_in */CompressedPackets_T_Common_Types_Pkg *B_data_in,
  /* MessageLibBaseline2::Send_P015::P015 */P015_trackside_int_T_TM *P015,
  /* MessageLibBaseline2::Send_P015::B_data_out */CompressedPackets_T_Common_Types_Pkg *B_data_out)
{
  kcg_bool tmp;
  
  if ((*P015).valid) {
    /* 1 */ Write_P015_TM_trackside(P015, B_data_in, &tmp, B_data_out);
  }
  else {
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(B_data_out, B_data_in);
  }
}
Esempio n. 23
0
/* iNTERNAL::test_NV */
void test_NV_iNTERNAL(inC_test_NV_iNTERNAL *inC, outC_test_NV_iNTERNAL *outC)
{
  kcg_bool noname;
  
  kcg_copy_P003V1_trackside_int_T_TM_baseline2(
    &outC->_L11,
    (P003V1_trackside_int_T_TM_baseline2 *) &defaultP3V1_iNTERNAL);
  outC->_L8 = inC->receive;
  kcg_copy_P003V1_trackside_int_T_TM_baseline2(
    &outC->_L3,
    (P003V1_trackside_int_T_TM_baseline2 *) &LRBG354_P003_1_Packets426);
  if (outC->_L8) {
    kcg_copy_P003V1_trackside_int_T_TM_baseline2(&outC->_L9, &outC->_L3);
  }
  else {
    kcg_copy_P003V1_trackside_int_T_TM_baseline2(&outC->_L9, &outC->_L11);
  }
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L7,
    (CompressedPackets_T_Common_Types_Pkg *)
      &DEFAULT_CompressedPackets_Internal_Tests);
  /* 1 */
  Write_P003V1_TM_trackside_baseline2(&outC->_L9, &outC->_L7, &outC->Context_1);
  outC->_L4 = outC->Context_1.Error;
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L5,
    &outC->Context_1.RadioPacketsOut);
  noname = outC->_L4;
  /* 1 */ Manage_NV_Storage(&outC->_L5, &outC->_1_Context_1);
  outC->_L1 = outC->_1_Context_1.vald_NV;
  kcg_copy_P003V1_OBU_T_TM_baseline2(
    &outC->_L2,
    &outC->_1_Context_1.NV_onboard_out);
  kcg_copy_P003V1_OBU_T_TM_baseline2(&outC->NV_onboard_out, &outC->_L2);
  outC->vald_NV = outC->_L1;
}
/* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams */
void compareTelegrams_Receive_TrackSide_Msg_Pkg_BaliseSupport(
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::inTelegram1 */ Telegram_T_BG_Types_Pkg *inTelegram1,
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::inTelegram2 */ Telegram_T_BG_Types_Pkg *inTelegram2,
  outC_compareTelegrams_Receive_TrackSide_Msg_Pkg_BaliseSupport *outC)
{
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::isEqual */ kcg_bool _1_isEqual;
  /* Receive_TrackSide_Msg_Pkg::BaliseSupport::compareTelegrams::isEqual */ kcg_bool isEqual;
  
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L1, inTelegram1);
  kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L2, inTelegram2);
  kcg_copy_TelegramHeader_T_BG_Types_Pkg(&outC->_L3, &outC->_L1.telegramheader);
  kcg_copy_TelegramHeader_T_BG_Types_Pkg(&outC->_L4, &outC->_L2.telegramheader);
  outC->_L5 = kcg_comp_TelegramHeader_T_BG_Types_Pkg(&outC->_L3, &outC->_L4);
  outC->HeaderIsEqual = outC->_L5;
  outC->IfBlock1_clock = outC->HeaderIsEqual;
  /* ck_IfBlock1 */ if (outC->IfBlock1_clock) {
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L5_IfBlock1, inTelegram1);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &outC->_L2_IfBlock1,
      &outC->_L5_IfBlock1.packets);
    kcg_copy_Telegram_T_BG_Types_Pkg(&outC->_L4_IfBlock1, inTelegram2);
    kcg_copy_CompressedPackets_T_Common_Types_Pkg(
      &outC->_L3_IfBlock1,
      &outC->_L4_IfBlock1.packets);
    outC->_L1_IfBlock1 = kcg_comp_CompressedPackets_T_Common_Types_Pkg(
        &outC->_L2_IfBlock1,
        &outC->_L3_IfBlock1);
    _1_isEqual = outC->_L1_IfBlock1;
    outC->isEqual = _1_isEqual;
  }
  else {
    outC->_L11_IfBlock1 = kcg_false;
    isEqual = outC->_L11_IfBlock1;
    outC->isEqual = isEqual;
  }
}
/* InfraLib::Balise_Group_Init */
void Balise_Group_Init_InfraLib(
  /* InfraLib::Balise_Group_Init::TrainPos */kcg_real _1_TrainPos,
  /* InfraLib::Balise_Group_Init::Engineering_Data */BaliseGroupData_TM *Engineering_Data,
  /* InfraLib::Balise_Group_Init::BG_internal_out */B_data_internal_T_InfraLib *BG_internal_out)
{
  kcg_copy_BaliseTelegramHeader_int_T_TM(
    &(*BG_internal_out).header,
    (BaliseTelegramHeader_int_T_TM *) &DEFAULT_TM_BaliseHeaderInt_TM);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &(*BG_internal_out).packets,
    (CompressedPackets_T_Common_Types_Pkg *) &DEFAULT_Packets_TM);
  (*BG_internal_out).engineering_BG_location = (*Engineering_Data).Pos;
  (*BG_internal_out).TrainPos = _1_TrainPos;
  (*BG_internal_out).pig_nom_0 = 0;
  (*BG_internal_out).balise_passed = kcg_false;
}
/* GreenDemonstrator::Trackside::Trackside */
void Trackside_GreenDemonstrator_Trackside(
  inC_Trackside_GreenDemonstrator_Trackside *inC,
  outC_Trackside_GreenDemonstrator_Trackside *outC)
{
  CompressedRadioMessage_TM tmp;
  /* GreenDemonstrator::Trackside::Trackside::_L12 */ CompressedPackets_T_Common_Types_Pkg _L12;
  /* GreenDemonstrator::Trackside::Trackside::_L13 */ TelegramHeader_T_BG_Types_Pkg _L13;
  /* GreenDemonstrator::Trackside::Trackside::_L14 */ Radio_TrackTrain_Header_T_Radio_Types_Pkg _L14;
  /* GreenDemonstrator::Trackside::Trackside::_L15 */ CompressedPackets_T_Common_Types_Pkg _L15;
  
  if (outC->init) {
    outC->init = kcg_false;
    kcg_copy_CompressedRadioMessage_TM(
      &tmp,
      (CompressedRadioMessage_TM *) &RADIO_TRACK_TRAIN_MESSAGE_DEFAULT);
  }
  else {
    kcg_copy_CompressedRadioMessage_TM(&tmp, &outC->_L16);
  }
  /* 1 */
  RBC_New_RBC_Model_Pkg(
    (DynamicConfig_T *) &DYNAMIC_CONFIG_UTRECHT_AMSTERDAM,
    &inC->TrainTrackMessageIn,
    &tmp,
    &outC->_1_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->RadioPackets_out,
    &outC->_1_Context_1.outRadioTrackTrainMessage.Messages);
  kcg_copy_Radio_TrackTrain_Header_T_TM(
    &outC->RadioMessage_out,
    &outC->_1_Context_1.outRadioTrackTrainMessage.Header);
  /* 1 */
  UtrechtAmsterdamScenarioStory00AWrapper_RBC_Scenario_Pkg(
    &outC->_1_Context_1.outSessionManagement,
    &outC->_1_Context_1.outClock,
    &outC->Context_1);
  /* 1 */
  Story_Complete_Toolbox_Functions(
    (kcg_real) inC->TrainPosition / 100.0,
    outC->Context_1.outTriggerId,
    &_L12,
    &_L13,
    &_L14,
    &_L15,
    &outC->_L16,
    &outC->BaliseMessage);
}
/* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_RBC::SendRadioPackets_LRBG_397_D_00382_0_M003 */
void SendRadioPackets_LRBG_397_AmsterdamUtrechtL2_Sheet11_BreukelenKeerspoor_RBC(
  /* AmsterdamUtrechtL2::Sheet11_BreukelenKeerspoor_RBC::SendRadioPackets_LRBG_397_D_00382_0_M003::Radio_packets_in */CompressedPackets_T_Common_Types_Pkg *Radio_packets_in,
  outC_SendRadioPackets_LRBG_397_AmsterdamUtrechtL2_Sheet11_BreukelenKeerspoor_RBC *outC)
{
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L32, Radio_packets_in);
  /* 1 */
  Send_P015_MessageLibBaseline2(
    &outC->_L32,
    (P015_trackside_int_T_TM *) &LRBG397_P015_Packets426,
    &outC->Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L11,
    &outC->Context_1.B_data_out);
  /* 1 */
  Send_P021_MessageLibBaseline2(
    &outC->_L11,
    (P021_trackside_int_T_TM *) &LRBG397_P021_Packets426,
    &outC->_1_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L2,
    &outC->_1_Context_1.B_data_out);
  /* 1 */
  Send_P027V1_MessageLibBaseline2(
    &outC->_L2,
    (P027V1_trackside_int_T_TM_baseline2 *) &LRBG397_P027_Packets426,
    &outC->_2_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L3,
    &outC->_2_Context_1.B_data_out);
  /* 1 */
  Send_P005_MessageLibBaseline2(
    &outC->_L3,
    (P005_trackside_int_T_TM *) &LRBG397_P005_Packets426,
    &outC->_3_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L4,
    &outC->_3_Context_1.B_data_out);
  /* 1 */
  Send_P255_MessageLibBaseline2(
    &outC->_L4,
    (P255_trackside_int_T_TM *) &BGXXX_P255_Packets426,
    &outC->_4_Context_1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->_L8,
    &outC->_4_Context_1.packet_data_out);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(
    &outC->Radio_packets_out,
    &outC->_L8);
}
/* TM_baseline2::Read_P027V1_sections */
void Read_P027V1_sections_TM_baseline2(
  /* TM_baseline2::Read_P027V1_sections::i */kcg_int i,
  /* TM_baseline2::Read_P027V1_sections::Message_IN */CompressedPackets_T_Common_Types_Pkg *Message_IN,
  /* TM_baseline2::Read_P027V1_sections::n_iter_outer */kcg_int n_iter_outer,
  /* TM_baseline2::Read_P027V1_sections::meta_sections */kcg_int meta_sections,
  outC_Read_P027V1_sections_TM_baseline2 *outC)
{
  kcg_bool noname;
  
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&outC->_L175, Message_IN);
  outC->_L171 = meta_sections;
  outC->_L179 = i;
  /* 1 */
  T_Decode_Metadata_L2_TM_lib_internal(
    outC->_L171,
    outC->_L179,
    &outC->Context_1);
  outC->_L176 = outC->Context_1.nid_packet;
  /* 1 */
  RECV_ReadPackets_TM_lib_internal(
    &outC->_L175,
    outC->_L176,
    kcg_true,
    kcg_true,
    &outC->_1_Context_1);
  kcg_copy_array_int_500(&outC->_L172, &outC->_1_Context_1.Data);
  kcg_copy_MetadataElement_T_Common_Types_Pkg(
    &outC->_L173,
    &outC->_1_Context_1.Metadata);
  outC->_L181 = outC->_1_Context_1.received;
  noname = outC->_L181;
  outC->_L174 = n_iter_outer;
  outC->_L180 = outC->_L179 < outC->_L174;
  outC->cont = outC->_L180;
  /* 1 */
  C_P027V1_compr_onboard_se_TM_conversions_baseline2(
    &outC->_L172,
    &outC->_L173,
    &outC->_2_Context_1);
  kcg_copy_P027V1_section_enum_T_TM_baseline2(
    &outC->_L177,
    &outC->_2_Context_1.P027V1_section_onbard);
  kcg_copy_P027V1_section_enum_T_TM_baseline2(
    &outC->P027V1_OBU_section_out,
    &outC->_L177);
}
/* MessageLibBaseline2::Send_P255 */
void Send_P255_MessageLibBaseline2(
    /* MessageLibBaseline2::Send_P255::packet_data_in */CompressedPackets_T_Common_Types_Pkg *packet_data_in,
    /* MessageLibBaseline2::Send_P255::P255 */P255_trackside_int_T_TM *P255,
    /* MessageLibBaseline2::Send_P255::packet_data_out */CompressedPackets_T_Common_Types_Pkg *packet_data_out)
{
    kcg_bool tmp;

    if ((*P255).valid) {
        /* 1 */
        Write_P255_TM_trackside(P255, packet_data_in, &tmp, packet_data_out);
    }
    else {
        kcg_copy_CompressedPackets_T_Common_Types_Pkg(
            packet_data_out,
            packet_data_in);
    }
}
/* US_Integration_June::Amsterdam_Utrecht */
void Amsterdam_Utrecht_US_Integration_June(void)
{
  /* US_Integration_June::Amsterdam_Utrecht::_L1 */
  static CompressedBaliseMessage_TM _L1;
  
  /* 1 */
  Amsterdam_Utrecht_Lijn1_balises_AmsterdamUtrechtL2_AmsterdamUtrechtTrack1(
    TrainPos,
    &_L1);
  kcg_copy_CompressedPackets_T_Common_Types_Pkg(&Balise_Packets, &_L1.Messages);
  /* 1 */
  Amsterdam_Utrecht_RBC_Integration_US_Integration_June(
    Trigger_in,
    &RadioTrackTrainHeader_out,
    &Compressed_Packets_out,
    &Compressed_Radio_Message_out);
  /* 1 */ CASTLIB_BaliseHeaders_TM_conversions(&_L1.Header, &Balise_Header);
}