/* TA_Lib_internal::DetectSpeedIncrease */ void DetectSpeedIncrease_TA_Lib_internal( /* TA_Lib_internal::DetectSpeedIncrease::v_static_section1 */V_internal_Type_Obu_BasicTypes_Pkg v_static_section1, /* TA_Lib_internal::DetectSpeedIncrease::SectionIn */P027V1_OBU_sectionlist_enum_T_TM_baseline2 *SectionIn, /* TA_Lib_internal::DetectSpeedIncrease::i */kcg_int i, outC_DetectSpeedIncrease_TA_Lib_internal *outC) { outC->_L5 = i; outC->_L10 = 0; outC->_L12 = outC->_L5 == outC->_L10; outC->_L9 = v_static_section1; kcg_copy_P027V1_OBU_sectionlist_enum_T_TM_baseline2(&outC->_L16, SectionIn); outC->_L14 = i; outC->_L8 = 1; outC->_L7 = outC->_L14 - outC->_L8; if ((0 <= outC->_L7) & (outC->_L7 < 33)) { kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L2, &outC->_L16[outC->_L7]); } else { kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L2, (P027V1_section_enum_T_TM_baseline2 *) &DEFAULT_P027V1_section_enum_TM_baseline2); } outC->_L3 = outC->_L2.v_static; if (outC->_L12) { outC->_L6 = outC->_L9; } else { outC->_L6 = outC->_L3; } kcg_copy_P027V1_OBU_sectionlist_enum_T_TM_baseline2(&outC->_L15, SectionIn); outC->_L13 = i; if ((0 <= outC->_L13) & (outC->_L13 < 33)) { kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L1, &outC->_L15[outC->_L13]); } else { kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L1, (P027V1_section_enum_T_TM_baseline2 *) &DEFAULT_P027V1_section_enum_TM_baseline2); } outC->_L11 = outC->_L1.v_static; outC->_L4 = outC->_L6 < outC->_L11; outC->q_speed_increase = outC->_L4; }
/* TA_SSP::Convert_P27_to_DistanceProfile */ void _17_Convert_P27_to_DistancePr_TA_SSP( /* TA_SSP::Convert_P27_to_DistanceProfile::Packet27_in */P027V1_OBU_T_TM_baseline2 *Packet27_in, /* TA_SSP::Convert_P27_to_DistanceProfile::TrainLength */L_internal_Type_Obu_BasicTypes_Pkg TrainLength, outC__17_Convert_P27_to_DistancePr_TA_SSP *outC) { kcg_int i5; kcg_int i4; kcg_int i3; kcg_int i2; kcg_int i1; SSP_cat_t_TA_MRSP tmp; kcg_int i; kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L86, (P027V1_section_enum_T_TM_baseline2 *) &DEFAULT_P027v1_OBU_section_TM_baseline2); for (i5 = 0; i5 < 1; i5++) { kcg_copy_P027V1_section_enum_T_TM_baseline2(&outC->_L85[i5], &outC->_L86); } kcg_copy_P027V1_OBU_T_TM_baseline2(&outC->_L73, Packet27_in); kcg_copy_P027V1_OBU_sectionlist_enum_T_TM_baseline2( &outC->_L71, &outC->_L73.sections); kcg_copy_array__10599(&outC->_L64, (array__10599 *) &outC->_L71[1]); kcg_copy_array__10599(&outC->_L84[0], &outC->_L64); kcg_copy_array__10605(&outC->_L84[32], &outC->_L85); kcg_copy_P027V1_OBU_T_TM_baseline2(&outC->_L63, Packet27_in); outC->_L65 = outC->_L63.q_scale; kcg_copy_P027V1_OBU_T_TM_baseline2(&outC->_L70, Packet27_in); kcg_copy_P027V1_section_enum_T_TM_baseline2( &outC->_L62, &outC->_L70.sections[0]); outC->_L72 = TrainLength; /* 3 */ Convert_P27_to_DistancePr_TA_SSP( outC->_L65, &outC->_L62, outC->_L72, &outC->Context_3); outC->_L68 = outC->Context_3.v_static_section1; kcg_copy_SSP_section_t_TA_MRSP(&outC->_L66, &outC->Context_3.section1_delay); kcg_copy_SSP_section_t_TA_MRSP(&outC->_L67, &outC->Context_3.section1); kcg_copy_SSP_section_t_TA_MRSP(&outC->section1, &outC->_L67); kcg_copy_SSP_section_t_TA_MRSP(&outC->section1_delay, &outC->_L66); outC->v_static_section1 = outC->_L68; kcg_copy_SSP_cat_t_TA_MRSP( &outC->_L83, (SSP_cat_t_TA_MRSP *) &DEFAULT_SSP_cat_TA_MRSP); for (i4 = 0; i4 < 33; i4++) { kcg_copy_array__10437(&outC->_L74[i4], &outC->_L84); } outC->_L69 = TrainLength; for (i3 = 0; i3 < 33; i3++) { outC->_L82[i3] = outC->_L69; } for (i2 = 0; i2 < 33; i2++) { outC->_L76[i2] = outC->_L65; } for (i1 = 0; i1 < 33; i1++) { outC->_L81[i1] = outC->_L68; } kcg_copy_SSP_cat_t_TA_MRSP(&outC->_L77, &outC->_L83); for (i = 0; i < 33; i++) { kcg_copy_SSP_cat_t_TA_MRSP(&tmp, &outC->_L77); /* 3 */ _16_Convert_P27_to_DistancePr_TA_SSP( i, &tmp, &outC->_L74[i], outC->_L82[i], outC->_L76[i], outC->_L81[i], &outC->_1_Context_3[i]); kcg_copy_SSP_cat_t_TA_MRSP( &outC->_L77, &outC->_1_Context_3[i].SpeedProfile); } kcg_copy_SSP_cat_t_TA_MRSP(&outC->SpeedProfile, &outC->_L77); }
/* TM_baseline2::Read_P027V1 */ void Read_P027V1_TM_baseline2( /* TM_baseline2::Read_P027V1::Message_IN */ CompressedPackets_T_Common_Types_Pkg *Message_IN, /* TM_baseline2::Read_P027V1::received */ kcg_bool *received, /* TM_baseline2::Read_P027V1::P027V1_out */ P027V1_OBU_T_TM_baseline2 *P027V1_out) { static kcg_int i; /* TM_conversions_baseline2::C_P027V1_compr_onboard_body::_L6 */ static array_int_5 _L6_1; /* TM_conversions::CAST_Int_to_Q_DIR::IfBlock1::else::else */ static kcg_bool else_clock_1_1_IfBlock1; /* TM_conversions::CAST_Int_to_Q_DIR::IfBlock1 */ static kcg_bool IfBlock1_clock_1_1; /* TM_conversions::CAST_Int_to_Q_SCALE::IfBlock1::else::else */ static kcg_bool _1_else_clock_1_1_IfBlock1; /* TM_conversions::CAST_Int_to_Q_SCALE::IfBlock1 */ static kcg_bool _2_IfBlock1_clock_1_1; /* TM_baseline2::Read_P027V1::_L5 */ static CompressedPacketData_T_Common_Types_Pkg _L5; /* TM_baseline2::Read_P027V1::_L30 */ static MetadataElement_T_Common_Types_Pkg _L30; /* TM_baseline2::Read_P027V1::_L166 */ static P027V1_OBU_body_enum_T_TM_baseline2 _L166; /* TM_baseline2::Read_P027V1::_L182 */ static P027V1_OBU_sectionlist_enum_T_TM_baseline2 _L182; /* TM_baseline2::Read_P027V1::_L184 */ static kcg_int _L184; /* 1 */ RECV_ReadPackets_TM_lib_internal( Message_IN, NID_META_P027V1_body_TM_baseline2, kcg_true, kcg_true, &_L5, &_L30, received); _L166.valid = _L5[0] == 27; kcg_copy_array_int_5(&_L6_1, (array_int_5 *) &_L5[1]); for (i = 0; i < 33; i++) { /* 1 */ Read_P027V1_sections_TM_baseline2( i, Message_IN, _L6_1[3], _L6_1[4], &IfBlock1_clock_1_1, &_L182[i]); _L184 = i + 1; if (!IfBlock1_clock_1_1) { break; } } #ifdef KCG_MAPW_CPY for (i = _L184; i < 33; i++) { kcg_copy_P027V1_section_enum_T_TM_baseline2( &_L182[i], (P027V1_section_enum_T_TM_baseline2 *) &DEFAULT_P027V1_section_enum_TM_baseline2); } #endif /* KCG_MAPW_CPY */ kcg_copy_P027V1_OBU_sectionlist_enum_T_TM_baseline2( &(*P027V1_out).sections, &_L182); IfBlock1_clock_1_1 = _L6_1[0] == INT_Q_DIR_nomiinal_TM_conversions; _2_IfBlock1_clock_1_1 = _L6_1[2] == INT_Q_SCALE_10cm_TM_conversions; /* 1_1_ck_IfBlock1 */ if (IfBlock1_clock_1_1) { _L166.q_dir = ENUM_Q_DIR_nominal_TM_conversions; } else { _1_else_clock_1_1_IfBlock1 = _L6_1[0] == INT_Q_DIR_reverse_TM_conversions; /* 1_1_ck_anon_activ */ if (_1_else_clock_1_1_IfBlock1) { _L166.q_dir = ENUM_Q_DIR_reverse_TM_conversions; } else { else_clock_1_1_IfBlock1 = _L6_1[0] == INT_Q_DIR_both_TM_conversions; /* 1_1_ck_anon_activ */ if (else_clock_1_1_IfBlock1) { _L166.q_dir = ENUM_Q_DIR_both_TM_conversions; } else { _L166.q_dir = ENUM_Q_DIR_both_TM_conversions; } } } /* 1_1_ck_IfBlock1 */ if (_2_IfBlock1_clock_1_1) { _L166.q_scale = ENUM_Q_SCALE_10cm_TM_conversions; } else { IfBlock1_clock_1_1 = _L6_1[2] == INT_Q_SCALE_1m_TM_conversions; /* 1_1_ck_anon_activ */ if (IfBlock1_clock_1_1) { _L166.q_scale = ENUM_Q_SCALE_1m_TM_conversions; } else { _1_else_clock_1_1_IfBlock1 = _L6_1[2] == INT_Q_SCALE_10m_TM_conversions; /* 1_1_ck_anon_activ */ if (_1_else_clock_1_1_IfBlock1) { _L166.q_scale = ENUM_Q_SCALE_10m_TM_conversions; } else { _L166.q_scale = ENUM_Q_SCALE_10cm_TM_conversions; } } } (*P027V1_out).valid = _L166.valid; (*P027V1_out).q_dir = _L166.q_dir; (*P027V1_out).q_scale = _L166.q_scale; }